Microcontrolador Modelix PDF
Download "Microcontrolador Modelix 3.6"
Gilberto Sampaio de Sintra
2 1 Curso de Robótica Introdução à robótica O desenvolvimento da robótica surgiu da necessidade de se aperfeiçoar processos de fabricação, no sentido de melhorar a qualidade dos produtos. Com o passar dos anos, a robótica foi abrangendo diversas outras áreas, chegando até as nossas casas. É importante entender que um robô é qualquer tipo de sistema que controle um processo, seja uma garra mecânica, um portão automático ou até mesmo um elevador. Dentro da robótica existem três pilares fundamentais: a estrutura mecânica, os dispositivos eletrônicos e a programação. A estrutura mecânica é responsável pela sustentação do robô, e sempre deve ser impecável para que não se corra o risco de o robô desmontar. Os dispositivos eletrônicos são responsáveis pelo movimento e sinalizações do robô. Com esse recurso é possível dar vida ao robô, mesmo sem programação. A programação controla o microcontrolador, que é o cérebro do robô. Através da programação é possível, de forma inteligente, adquirir dados externos do meio no qual o robô está inserido e tomar decisões, que definirão quais ações devem ser executadas e elaborar processos muito sofisticados. Microcontrolador Modelix 3.6 O microcontrolador Modelix 3.6 é um dispositivo eletrônico que une os três pilares da robótica e tem a capacidade de controlar um robô da mesma forma que o cérebro controla o corpo humano. Após construir a estrutura mecânica do robô e adicionar os dispositivos eletrônicos para que o robô tenha diversas funções, utiliza-se o Modelix 3.6 conectado a esses componentes elétricos e, através da programação, define-se quais ações serão executadas e por quanto tempo devem permanecer ativas. O Modelix 3.6 pode utilizar dispositivos on-board e externos. Dispositivos on-board são dispositivos já integrados ao Microcontrolador, onde não é necessário que seja feita qualquer conexão elétrica por parte do usuário. Dispositivos externos são dispositivos que devem ser conectados ao microcontrolador através da conexão por cabos, onde é necessária a intervenção do usuário. Para que sejam utilizados dispositivos externos serão necessários alguns conceitos de eletrônica, como circuito elétrico, polaridade, conexões de cabos e curto-circuito. Um circuito elétrico é a conexão de diversos componentes elétricos de modo a criar um caminho fechado entre os fios que conectam os dispositivos.
3 Curso de Robótica 2 Para que um circuito elétrico funcione, é preciso uma fonte de alimentação, como pilhas ou bateiras, um consumidor de energia (atuador) e impreterivelmente, o circuito deve ser um caminho fechado para que a energia circule. Veja um exemplo na ilustração abaixo: + Pilha - Circuito fechado Energia circulando Lâmpada Nas figuras dos lados esquerdo e direito, utilizou-se uma pilha como fonte de alimentação e uma lâmpada como consumidor de energia, porém no lado esquerdo, o circuito está fechado, fazendo com que a lâmpada fique acesa; No lado direito, o circuito está aberto, dessa forma a energia não chegará até a lâmpada que ficará apagada. Como podemos ver nas ilustrações do circuito elétrico, a pilha possui um sinal de positivo (+) e um sinal de negativo (-). Esses sinais correspondem à polaridade. A polaridade indica o sentido do fluxo da eletricidade ou corrente elétrica que circula pelo circuito. Alguns componentes, como o LED e o Bip, somente funcionam num único sentido de corrente, ou seja, se o positivo e o negativo não forem conectados corretamente nesses dispositivos, os mesmos não funcionarão. A Modelix possui um padrão de conexões de cabos para que se possa saber a polaridade dos dispositivos. No padrão Modelix, os atuadores possuem um cabo vermelho que corresponde ao positivo (+) e um cabo preto que corresponde ao negativo (-). Esses cabos devem ser conectados em seus devidos lugares, respeitando a polaridade para que possam funcionar. A única exceção são os motores, que se conectados de forma inversa apenas inverterão seu sentido de rotação. Por fim, devemos entender o curto-circuito. Um curto-circuito é muito perigoso e deve sempre ser evitado, pois pode causar choque elétrico, queimaduras leves devido ao aquecimento de componentes ou até mesmo iniciar um incêndio. O curto-circuito ocorre quando há a conexão do positivo (+) com o negativo (-) da bateria sem que haja um consumidor entre os polos. É ocasionado quando se liga um fio diretamente entre os polos ou quando se coloca a mão ou qualquer tipo de material metálico no circuito ou pinos do microcontrolador. Agora que temos uma ideia básica sobre eletrônica, podemos entender como fazer as conexões ao microcontrolador. O microcontrolador Modelix 3.6 possui duas fileiras de 3 pinos nas laterais. Esses pinos são utilizados para fazer as conexões entre os componentes externos e o microcontrolador. Cada fileira corresponde a uma função específica. A fileira de pinos identificada como GND corresponde ao negativo (-), onde sempre deve ser conectado o cabo preto; a fileira de pinos identificada como 5V corresponde ao positivo (+) e tem como objetivo prover energia para sensores digitais e analógicos; A fileira de pinos identificada como S corresponde ao sinal e é responsável por acionar atuadores através da programação, ou seja, enquanto os atuadores não forem acionados pelo software, + Pilha - x Circuito aberto Lâmpada Energia não circulando
4 3 Curso de Robótica permanecerão desligados, mas quando enviamos através do programa uma ordem para que o atuador seja ativado, será entregue energia ao atuador. Os atuadores devem ter o cabo vermelho conectado e os sensores devem ter o cabo branco conectado a esse pino. Atuadores: Fio vermelho no pino de sinal (S). Fio preto no pino do negativo (GND). Sensores: Fio branco no pino de sinal (S). Fio vermelho no pino do positivo (5V). Fio preto no pino do negativo (GND). Exemplos: LED, Bip, motor Exemplos: Sensor de toque, sensor de luz, etc. Basicamente, a Modelix possui 3 diferentes tipos de cabo para conexões de dispositivos elétricos: Cabo extensor duplo: possui dois fios paralelos, um vermelho e um preto, que são utilizados para a conexão elétrica de atuadores. Cabo extensor triplo: possui três fios paralelos, um vermelho, um preto e um branco, e é utilizado para a conexão elétrica de sensores analógicos. Cabo de entrada digital: possui dois fios numa extremidade e três fios na outra extremidade. São utilizados em sensores digitais e necessitam de um garfo conector entre o lado com dois fios e o sensor digital. O lado com três fios será conectado ao Modelix 3.6. Importante: Os pinos 0 e 1 não podem ser utilizados quando o computador estiver no modo conectado, pois são reservados para a comunicação com o computador e se utilizados causarão conflitos de conexão, fazendo com que o Modelix 3.6 não apresente o funcionamento esperado.
5 Curso de Robótica 4 Software Modelix System Na maior parte das aulas utilizaremos o microcontrolador Modelix 3.6 e o software de programação Modelix System. Primeiramente, é necessário conectar o Modelix 3.6 ao computador utilizando o cabo USB. Para conectar o Modelix 3.6 ao computador, conecte o lado quadrado do cabo USB ao Modelix 3.6 e o lado mais achatado à entrada USB do computador. Uma luz vermelha acima do botão LIG/ALIM. ficará acessa indicando o sucesso na conexão. O botão LIG/ALIM. não deve estar pressionado. Verifique se a luz está acesa. Em seguida, abriremos o software Modelix System clicando no ícone:. Com o software aberto, escolha a segunda opção:
6 5 Curso de Robótica Por fim, pressione OK. Finalizado o procedimento, será mostrada a área de trabalho do Modelix System. Veja abaixo os principais recursos do software: Ferramentas de edição do fluxograma Painel de Blocos Painel de estados Painel de simulação Ferramentas de edição do fluxograma: são ferramentas básicas de qualquer software, como cortar, copiar, colar, etc. Painel de blocos: aqui estão agrupados blocos e ferramentas básicos para a montagem do fluxograma de programação. Painel de estados: aqui são listadas as entradas e saídas disponíveis do microcontrolador que podem ser controladas e observadas em tempo real. Painel de simulação: aqui estão ferramentas de execução do fluxograma como executar e pausar.
7 Curso de Robótica 6 Testando o Modelix 3.6 Para termos certeza de que o microcontrolador está funcionando, execute o procedimento descrito no item anterior (Software Modelix System). Em seguida, clique no símbolo:, encontrado acima do painel de estados, para que se inicie a conexão. O símbolo carregará uma barra de conexão verde:. Aguarde o carregamento completo da barra verde até que o símbolo indique conectado:. Pronto, agora seu microcontrolador se encontra no modo conectado. O modo conectado permite acionar saídas e coletar dados de entrada diretamente pelo painel de estados do software Modelix System. Com o Modelix 3.6, pode-se usar o painel de estados para verificar o funcionamento dos dispositivos on-board. Dispositivos on-board são sensores e atuadores conectados diretamente às entradas e saídas do microcontrolador. Para fazer o primeiro teste, após entrar no modo conectado, clique na saída 9 de modo que a mesma fique vermelha:. O LED vermelho on-board conectado à saída 9 do Modelix 3.6 será acionado. Também podem ser acionados os LEDs nas saídas 10, 11, 12 e 13. Faça o teste usando o painel de estados. Além dessas saídas, existem outros recursos on-board, como as chaves S2 e S3, o sensor de luz e o Bip. Para ativar o Bip e o Sensor de luz deve-se pressionar os botões correspondentes aos mesmos Acionamento do Sensor de luz on-board conectado à entrada Val0 do painel de estados. Acionamento do Bip on-board conectado à saída 9 do painel de estados. 1) Sensor de luz; 2) Chave S2; 3) Chave S3; 4) Sensor de controle remoto infravermelho.
8 10x Comum 10x Comum 7 Curso de Robótica Aula 1 Nessa primeira aula, montaremos um robô móvel e o programaremos para executar determinadas funções, como andar para frente e fazer curvas durante seu trajeto. Parte 1 Estrutura mecânica Iniciaremos montando a estrutura mecânica do robô. Para isso, precisaremos do microcontrolador Modelix 3.6, dois motores MM6, uma roda boba e algumas peças mecânicas mostradas nas figuras abaixo: Lista de peças Os números em preto correspondem à quantidade de cada peça a ser utilizada e os números em vermelho correspondem aos números de identificação das peças durante a montagem x Modelix 3.6 2x Barra metálica 5 furos 1x Cantoneira 3 furos x Motor MM6 2x Polia 60 mm 8x 6mm 2x 20mm 2x O Ring 60 mm 10x Comum 7 1x Roda boba Laranja Parafuso 6 mm Verde Parafuso 40 mm Azul Parafuso 16 mm Marrom Porca comum Vermelho Parafuso 20 mm Amarelo O Ring Roxo Parafuso 35 mm Preto Porca autotravante Atenção Durante a montagem, serão utilizados diferentes tipos de parafusos e porcas. Os tamanhos e formatos estão identificados na imagem acima, que está presente em todas as páginas do manual, onde cada um é contornado por uma cor. No manual, as setas indicam onde colocar os parafusos e porcas. Cada cor de seta corresponde à cor de parafuso ou porca a ser usado. Exemplo: Se uma seta laranja aponta para um parafuso, o parafuso a ser utilizado é o que está contornado de laranja na imagem.
9 10x Comum Curso de Robótica
10 9 Curso de Robótica
11 Curso de Robótica Note que na base na qual o Modelix 3.6 está fixado, é possível acoplar as peças da estrutura mecânica de forma fácil e criar o robô sem a necessidade de utilizar muitas peças. Parte 2 Conexões elétricas Com a estrutura pronta, precisamos conectar os motores às saídas do Modelix 3.6. Pode-se utilizar qualquer saída de 2 a 13, mas é interessante utilizar saídas menores que 9 para não acionar alguns dispositivos que estão on-board, pois esses dispositivos conectados às saídas acima de 8 serão acionados ao mesmo tempo. Para garantir o sucesso das conexões elétricas, pressione o botão para que se inicie a conexão e aguarde até que o símbolo indique conectado. Acione através do painel de estados, as saídas nas quais foram conectados os motores. Para isso, clique sobre o nome da saída, fazendo com que a mesma fique vermelha e acione o motor conectado a ela. Dessa forma é possível observar se as conexões foram feitas corretamente e se o sentido de rotação das rodas está no mesmo sentido e rodando na direção desejada. Se o eixo dos motores rodar no sentido contrário, basta inverter as conexões do motor colocando o fio vermelho onde estava o preto e vice-versa.
12 11 Curso de Robótica Parte 3 Montagem do fluxograma Antes de criar o fluxograma, precisamos entender os conceitos de atuadores e saídas. Atuadores são dispositivos eletrônicos que atuam de alguma forma com o meio. Os LEDs, por exemplo, são atuadores visuais, pois interagem com o meio através de um sinal luminoso; Os Bips atuam como um sinal sonoro; Os motores são atuadores de movimento. Entendendo o que são atuadores, fica mais fácil entender o conceito de saídas. Saídas são pinos do microcontrolador nos quais se conectam atuadores, onde através da programação definiremos quando os mesmos serão acionados. Nesse exemplo, serão utilizadas as saídas 4 e 8 para acionar os motores, mas lembrese de que é possível utilizar quaisquer saídas, exceto as saídas 0 e 1. Em todo fluxograma é necessário começar com um bloco Iniciar. Observe na barra de ferramentas, do lado esquerdo da área de trabalho do software Modelix System, que os blocos principais se encontram organizados, onde o primeiro bloco é o bloco Iniciar( ). Arrasteo para a área de trabalho e selecione a opção Iniciar. Em seguida, devemos arrastar um bloco do tipo Saída ( ). Esse bloco é responsável por acionar os atuadores conectados ao microcontrolador. Como motores foram conectados às saídas 4 e 8, devemos a opção Ligar ao lado de cada uma para que sejam acionadas. Arraste um bloco Saída ( )para a área de trabalho. Note que aparecem todas as saídas que estão à disposição para o acionamento na caixa de diálogo. Pressione o botão Ligar ao lado das saídas que deseja acionar.
13 Curso de Robótica 12 Feitos os dois primeiros passos, é necessário adicionar um bloco aguardar para definir por quanto tempo os motores devem ficar ligados. Arraste um bloco Aguardar ( ) para a área de trabalho e digite o número 8 para que os motores fiquem ligados por 8 segundos. Ao utilizar esse bloco, pode-se definir qualquer tempo de espera, sempre de acordo com a sua necessidade. Por fim, devemos indicar que o fluxograma está terminado, para isso, arraste um novo bloco Iniciar à área de trabalho, porém selecione a opção parar. Caso os blocos não estejam conectados, utiliza a ferramenta linha ( conexões na mesma ordem mostrada na figura. ) e faça as O fluxograma gerado fará com que os motores sejam acionados por 8 segundos e parem. Essa sequência de comandos é denominada rotina. Agora que fizemos o primeiro programa, é possível fazer o download para o microcontrolador e ver o robô executando as etapas do fluxograma, sem a conexão com o computador. No lado direito da área de trabalho, clique no botão.
14 13 Curso de Robótica Retire o cabo USB e pressione o botão LIG/ALIM. que fica ao lado da entrada para o cabo no microcontrolador. Observe o robô funcionando. Parte 4 Montagem do fluxograma 2 Agora, reconecte o microcontrolador ao computador para elaborar um novo fluxograma. No programa seguinte faremos o robô andar para frente, virar à direita, virar à esquerda e, para cada uma dessas ações, um LED on-board diferente será acionado. Os tempos de espera podem ser definidos livremente. Antes de iniciarmos o fluxograma, é importante entender como devem ser os comandos que farão o veículo virar à direita e à esquerda. Os procedimentos são muito simples: Para virar à direita, desligue o motor esquerdo; para virar à esquerda, desligue o motor direito. Veja um exemplo na figura abaixo: Motor desligado Motor desligado Motor ligado Motor ligado Curva à direita Motor ligado Motor ligado Curva à esquerda A rotina que faremos a seguir é um pouco mais complexa, porém agora que já aprendemos a utilizar os blocos Saída e Aguardar, será mais fácil implementá-la. O início dessa nova rotina será semelhante ao da rotina anterior. Comece abrindo o software Modelix System e inserindo um bloco Iniciar à área de trabalho. Em seguida, insira um bloco Saída e acione as duas saídas, 4 e 8, onde os motores estão conectados. Isso fará o robô mover-se para frente. Dê continuidade ao fluxograma colocando um bloco Aguardar logo após bloco o Saída. Lembre-se que o tempo de espera pode ser qualquer um que desejar. Seu fluxograma deve estar parecido com o da imagem ao lado.
15 Curso de Robótica 14 Como foi descrito antes, para cada ação, deve se acionado um LED on-board. Os LEDs on-board estão conectados nas saídas 9, 10, e 13. Portanto, acionaremos o LED na saída 9 quando o robô andar para frente. Depois de o veículo andar para frente durante o tempo desejado, faremos com que o robô vire à direita e o LED na saída 10 acenda, indicando uma nova ação. Para isso desligue a saída 8 e mantenha a saída 4 desligada. Lembre-se que é preciso ligar o LED referente a essa ação e desligar os demais, portanto desligue o LED na saída 9 e ligue o LED da saída 10, mantendo o LED da saída 11 desligado. Coloque mais um bloco Aguardar colocando o valor de 1,5 segundos para que o robô tenha tempo de virar e faça-o ir em frente novamente ligando as saídas 4 e 8. Não se esqueça de desligar o LED da saída 10 e ligar o LED da saída 9.
16 15 Curso de Robótica Nessa última etapa faremos o robô virar à esquerda desligando o motor na saída 4 e ligando o motor na saída 8. Acione o LED na saída 11 e desligue os demais. Em seguida faça-o andar novamente para frente deixando as saídas 4 e 8 ligadas. Arraste um bloco Aguardar para uma espera de mais alguns segundos e, por fim, inclua um bloco Parar. Pronto! Agora que o fluxograma está finalizado, basta fazer o download do programa, desconectar Modelix 3.6 do computador, pressionar o botão LIG/ALIM. e observar o robô funcionando. Você pode fazer novos fluxogramas e programar novas rotinas para o seu robô quantas vezes quiser.
17 Curso de Robótica 16 Aula 2 Nessa segunda aula, aprenderemos os conceitos de sensores e como utilizá-los para controlar um robô através do software Modelix System. Parte 1 Sensores Antes de começarmos o estudo sobre os diferentes tipos de sensores, devemos entender primeiro o que é um sensor. Diferente dos atuadores, que são dispositivos que levam informações do microcontrolador pra o meio, os sensores captam informações do meio e enviam para o microcontrolador. Um exemplo de sensor é o sensor de presença. Através desse dispositivo é possível saber se há alguém dentro da área de alcance do sensor e enviar essa informação para o microcontrolador que deverá tomar uma decisão. Todas as informações que os sensores fornecem são chamadas de entradas. Parte 2 Sensores digitais Como vimos antes, sensores são dispositivos que permitem obter informações do meio e enviar para o microcontrolador. Os sensores digitais fornecem somente duas informações diferentes: ligado ou desligado. Para entendermos melhor, podemos observar o exemplo de um elevador. Quando queremos que o elevador venha para o andar em que estamos, devemos pressionar um botão. Esse botão nada mais é do que um sensor digital, que poderá fornecer duas informações: Se o botão não foi pressionado, a informação que o sensor enviará é: desligado; Se o botão foi pressionado, a informação que o sensor enviará é: ligado; No caso em que o botão está ligado, o elevador tomará a decisão de parar no seu andar. No microcontrolador Modelix 3.6, pode-se encontrar dois botões on-board que estão conectados nas portas 2 e 3 do microcontrolador, além disso, é possível conectar sensores de toque e sensores de imã, que também são sensores digitais, para serem utilizados em seu robô. Botão S2 conectado à entrada 2 ` Botão S3 conectado à entrada 3
18 17 Curso de Robótica Parte 3 Sensores analógicos Os sensores analógicos podem ser de variados tipos e fornecem informações específicas. Diferentes dos sensores digitais, que possuem apenas dois estados, os sensores analógicos fornecem leituras de uma faixa de valores. Um bom exemplo para diferenciar os sensores digitais dos analógicos é o sensor de temperatura. Um sensor de temperatura digital nos forneceria apenas duas informações: quente ou frio; já um sensor de temperatura analógico pode nos fornecer a temperatura específica, como: 10 graus, 20 graus, 30 graus, etc. No Modelix 3.6 podemos encontrar um sensor de luz on-board, que é um sensor analógico, mas também podem ser utilizados sensores analógicos externos. Parte 4 Leitura de entradas e bloco Decisão Para que possamos iniciar um fluxograma, é necessário primeiro entender como é feita a leitura das informações dos sensores e como utilizamos o software Modelix System para controlar o robô a partir dessas informações. Toda a coleta de informações é feita pelo microcontrolador Modelix 3.6. Existem 6 entradas analógicas, onde somente os sensores analógicos devem ser conectados. Já no caso dos sensores digitais, deve-se transformar as saídas em entradas através do software. O Modelix 3.6 possui alguns sensores digitais e analógicos on-board. Os sensores digitais são dois interruptores. Os analógicos são o sensor de luz e o sensor de sinal infravermelho de controle remoto. Sensor de luz Sensor de infravermelho Interruptores
19 Curso de Robótica 18 Pressione o botão S.LUZ para que o sensor de luz on-board conectado à entrada analógica 0 comece a funcionar. Passe a mão na frente do sensor e observe a variação no painel de estados. As leituras de entradas podem ser observadas no painel de estados do Modelix System: Transformando a Saída 2 Entrada 2 acionada Sensores analógicos para entrada 2 Como é possível observar, as leituras dos sensores são mostradas na barra de estados. No caso dos sensores digitais, fica indicado quando foram acionados modificando a cor da saída para amarela; No caso dos sensores analógicos, são mostradas faixas de valores que podem ser mudadas para diferentes tipos de leitura, onde essa variação é mostrada em verde representando todos os valores entre o máximo e o mínimo. Para que esses dados coletados pelos sensores possam ser utilizados, existe um bloco no software Modelix System chamado Decisão, que faz comparações com as informações de leitura para que o robô tome decisões de acordo com os valores recebidos. Bloco Decisão
20 19 Curso de Robótica Arraste um bloco Decisão à área de trabalho. Observe que todas as entradas disponíveis para leitura aparecem para que sejam selecionadas. O bloco Decisão possui configurações diferentes entre sensores digitais e sensores analógicos. Selecione a Entrada 2 para que possamos entender melhor o funcionamento do bloco. Em se tratando de entradas digitais, o bloco decisão nos permite identificar os dois possíveis estados do sensor: ligado ou desligado. Agora, selecione a entrada Val 0, que corresponde à entrada analógica 0, para mostrar como o bloco Decisão nos permite interpretar as informações advindas dos sensores analógicos. Como os sensores analógicos fazem leituras de faixas de valores, existem infinitos estados possíveis. Dessa forma, é necessário utilizar operadores de comparação, como os que estão definidos na tabela abaixo: Operador Significado Descrição = Igual Utilizado para saber se a leitura do sensor é igual a determinado valor!= Diferente Utilizado para saber se a leitura do sensor é diferente de determinado valor < Menor Utilizado para saber se a leitura do sensor é menor que determinado valor > Maior Utilizado para saber se a leitura do sensor é maior que determinado valor É importante entender que o bloco Decisão é utilizado para criar condições a partir de comparações, logo a informação que esse recurso retorna é SE a condição foi atendida ou não. Faremos um fluxograma para exemplificar melhor a utilização do bloco Decisão.
21 Curso de Robótica 20 Parte 5 Fluxograma 1 Começaremos um programa utilizando os recursos on-board do Modelix 3.6, além de um LED e um Bip conectados externamente. Basicamente, serão utilizados os botões on-board nas entradas 2 e 3 para acionar essas duas saídas. Conectado à entrada 2 Conectado à entrada 3 Laranja Parafuso 6 mm Verde Parafuso 40 mm Azul Parafuso 16 mm Marrom Porca comum Vermelho Parafuso 20 mm Amarelo O Ring Roxo Parafuso 35 mm Preto Porca autotravante Atenção Durante a montagem, serão utilizados diferentes tipos de parafusos e porcas. Os tamanhos e formatos estão identificados na imagem acima, que está presente em todas as páginas do manual, onde cada um é contornado por uma cor. No manual, as setas indicam onde colocar os parafusos e porcas. Cada cor de seta corresponde à cor de parafuso ou porca a ser usado. Exemplo: Se uma seta laranja aponta para um parafuso, o parafuso a ser utilizado é o que está contornado de laranja na imagem. 1 Bip LED 2
22 21 Curso de Robótica Conecte fisicamente o LED à saída 5 e o Bip à saída 6. Em seguida, abra o software Modelix System. 8
23 Curso de Robótica 22 Mude as saídas 2 e 3 para entradas. Insira um bloco Iniciar à área de trabalho do software Modelix System e em seguida coloque um bloco Decisão. Esse fluxograma terá as seguintes funções: Enquanto o botão on-board conectado à entrada 2 estiver pressionado, o LED na saída 5 permanecerá aceso. Enquanto o botão on-board conectado à entrada 3 estiver pressionado, o Bip na saída 6 permanecerá ligado. Se os botões não estiverem pressionados, suas respectivas saídas devem permanecer desligadas. Os botões não funcionarão ao mesmo tempo, ou seja, enquanto a entrada 2 estiver ligada, a entrada 3 não funcionará e vice-versa. O botão S2 está conectado à entrada 2 e o botão S3 está conectado à entrada 3. Conectado à entrada 2 Conectado à entrada 3 Dados os parâmetros para a criação da rotina, entenderemos como utilizar o bloco decisão.
24 23 Curso de Robótica Dando sequência ao fluxograma, começaremos observando o estado do sensor na entrada 2. Queremos que, caso o botão esteja pressionado, sua respectiva saída seja acionada, então precisamos saber se o sensor está ligado. Para o caso de a condição ser atendida, ou seja, caso o botão S2 deixe a entrada 2 ativada, acionaremos a Saída 5 onde está conectado o LED. Para isso, arrastaremos um bloco Saída para o lado do bloco Decisão. Agora, utilizando a ferramenta linha ( ) selecione o bloco Decisão na área de trabalho. Aparecerão duas opções: sim e não. Caso selecione a opção sim, significa que, a próxima etapa do fluxograma acontecerá se a entrada 2 estiver ligada. Caso selecione a opção não, a próxima etapa do fluxograma acontecerá se a entrada 2 estiver desligada. Chamamos esse recurso de estrutura condicional, pois para que um determinado evento ocorra, é necessário que uma condição seja atendida. Se essa condição for atendida realizaremos um determinado processo, caso contrário podemos realizar outro processo ou apenas esperar até que a condição seja atendida sem executar qualquer ação. Selecione a opção sim e então selecione o bloco Saída para conectar o bloco Decisão ao bloco Saída; Conecte o bloco Saída ao bloco Decisão, ou seja, faça o processo inverso
25 Curso de Robótica 24 usando a ferramenta Linha. Isso nos permitirá saber se o botão continua pressionado. Note que nessa configuração a Saída 5 será acionada sempre que a entrada 2 for ativada. Todo bloco Decisão obrigatoriamente deve fazer duas conexões. Logo se foi feita uma conexão para a condição atendida, resta fazer uma conexão para o caso de a condição não ser atendida. Quando a entrada 2 não está ativada, é possível que a entrada 3 esteja, por isso caso a condição não seja atendida, ou seja, a entrada 2 está desligada, deveremos usar um bloco Decisão para saber se a entrada 3 foi ativada.. O procedimento seguinte é muito semelhante ao anterior. Basta inserir um bloco Saída para acionar o Bip na saída 6, caso o botão 3 seja acionado. Verifica se a o interruptor S3 onboard foi acionado. Aciona o Bip conectado à saída 9 Por fim, devemos desligar as saídas e verificar os botões novamente. Para isso, arraste um bloco Saída logo abaixo do segundo bloco Decisão e desligue as saídas 5 e 6. Usando a ferramenta linha, selecione novamente o bloco saída e conecte-o ao primeiro bloco Decisão. Loop Chamamos esse artifício de loop, pois não existe um bloco Parar no fluxograma, logo a rotina será executada infinitamente. Utilizando o Modelix 3.6 no modo conectado, com o software Modelix System em execução, pressione o botão play e observe a simulação em tempo real.
26 25 Curso de Robótica Acione as entradas 2 e 3 através dos botões e acompanhe no fluxograma os blocos correspondentes às ações em execução. Parte 6 Fluxograma 2 Nessa etapa utilizaremos o sensor de luz on-board para controlar um robô com a mesma estrutura mecânica da aula 1. Caso o robô não esteja montado, monte-o antes de prosseguir com o procedimento. Com o Modelix 3.6 conectado ao software Modelix System, certifique-se de que o botão S. LUZ do Modelix 3.6 está pressionado e sua respectiva luz acesa. Esse botão permitirá a leitura do sensor de luz on-board conectado à entrada Val 0. Utilizaremos o sensor de luz para que o robô ande somente nos lugares da sala em que há luz e, onde não houver luz, o robô deverá fazer uma curva que o leve de volta para a luz. No software Modelix System, vá até o painel de estados e altere o tipo de leitura do sensor, que está em porcentagem, para bits. Essa modificação nos permitirá uma leitura mais precisa do sensor, pois a porcentagem varia de 0 a 100, enquanto a leitura em bits vai de 0 a Agora, insira um bloco iniciar e um bloco decisão. No bloco decisão selecione a entrada Val 0. Como foi dito anteriormente, os sensores analógicos fazem a leitura de faixas de valores, por isso é necessário fazer comparações com os valores recebidos. No nosso caso precisamos encontrar um valor para a comparação. Para que possamos definir um valor, precisamos observar as leituras em tempo real no software Modelix System. Na imagem abaixo, podemos ver a leitura da entrada Val 0 num lugar de maior luminosidade e outra leitura num lugar de menor luminosidade: Maior Intensidade de luz Menor Intensidade de luz Com esses valores podemos definir quando o robô deve fazer a curva ou permanecer em frente. A escolha do valor de comparação deve sempre ser um número entre o maior valor e o menor valor. Nesse caso escolheremos o número 110 para a comparação. No nosso caso, esse valor será importante, pois nosso robô deverá andar somente andar em lugares com luz e, se caso entrar numa sombra, deverá voltar para a luz.