Curso de Robótica Parte 4
Curso de Robótica Parte 4
Curso de Robótica Parte 4
Aula 7
A sétima aula tem como objetivo apresentar dois novos recursos: o display de LCD e a
programação por sub-rotinas.
O Display de LCD é outro dispositivo que possui uma entrada de módulo integrado ao
Modelix 3.6, onde há somente a necessidade de encaixar o display LCD à entrada.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
77 Curso de Robótica
Antes de iniciar a programação é preciso selecionar a caixa de texto que define que o
display de LCD será utilizado. Essa configuração ocupará as saídas 2,3,4,5,11 e 12, portanto não
devem ser conectados quaisquer dispositivos a essas saídas.
A partir do momento em que essa configuração foi definida, será criado um bloco
específico, chamado LCD e as saídas utilizadas não serão mostradas no painel de estados.
Arraste um bloco LCD para a área de trabalho para observar seus recursos.
Topo: Ao selecionar essa opção, o texto digitado será exibido na linha superior
do display de LCD.
Rolar: Ao selecionar essa opção, o texto digitado será exibido na linha superior
e o texto que esteva na linha superior passa para a linha inferior.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 78
Agora será preciso montar a estrutura mecânica. Nessa aula nosso robô será uma
cancela de estacionamento.
Lista de peças
2x 35mm 11
1 1x Viga de plástico 3D
12
13
6x 20mm
1x Fonte de alimentação 3.7
1x Imã
1x Polia 60mm
2 18x 6mm
2x Barra dupla 12 furos 14
15
26x comum
3
2x conector
1x Barra dupla 15 furos duplo
1x Modelix 3.6
6
1x Barra
simples 5 furos
4
5 17
9 16
1x Cantoneira 2x Cabo de
3 furos 1x Sensor de 1x Cabo duplo
1x Sensor de entrada digital
obstáculo toque
7 10 19
8 18
2x Motor MM6 1x Controlador
3x Barra 1x3x1 1x Sensor de imã 1x Módulo LCD
de motores
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.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
79 Curso de Robótica
3
2
2 3
5
4 5
4
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 80
6 7
7
2
8 9
9
8
10 11
8
10
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
81 Curso de Robótica
12 13
14 15
16
12
11
13
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 82
17 18
19
20 21
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
83 Curso de Robótica
22
23
24
25
14
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 84
26
27
28 29 Conecte o
sensor de
obstáculo à
entrada A1
30
32
31 Conecte o motor à
saída M2. Não
utilize a Saída M1,
pois as Saídas 4 e
5 estão sendo
usadas pelo LCD
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
85 Curso de Robótica
33
34
19 Conecte o
.. e conecte a outra
controlador
ponta do cabo duplo ao
de motores
+6V- do Modelix 3.6.
36 35
18
Conecte o
Módulo LCD
37 Conecte os
38
17 sensores de
toque e de imã
aos cabos de
entrada digital
,
39
Conecte os
sensores de
38 15 toque e de imã
às portas 8 e 9
respetivamente.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 86
Parte 3 – Sub-rotinas
Imagine agora que seja preciso piscar o LED 5 vezes, ou que no decorrer
de seu fluxograma seja necessário que o LED pisque novamente . Será preciso
escrever esse mesmo fluxograma diversas vezes.
Note que é preciso definir um nome para a sub-rotina, pois podem ser criadas quantas
forem necessárias e isso ajudará a identifica-las. É importante nomear a sub-rotina com um
nome que ajude a identifica-la para que seja mais fácil sua utilização. Nesse caso a sub-rotina
foi nomeada como “piscar LED”, pois nos permite saber qual sua função.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
87 Curso de Robótica
Note que ao inserirmos um bloco Sub à área de trabalho devemos definir qual sub-
rotina utilizar e quantas vezes a mesma será executada.
Parte 4 – Fluxograma
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 88
Na Saída 7, mude para a configuração Motor 6/7 e conecte o motor à saída M2 para o
controle de motores com reversão, sem esquecer de conectar o controlador de motores ao
Modelix 3.6.
Motor
conectado
em M2
Acione o motor nos dois sentidos para saber qual comando faz a cancela abrir e qual
comando faz a cancela fechar.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
89 Curso de Robótica
No nosso caso, a cancela abre quando mandamos a Saída Motor 6/7 para frente
usando um bloco Saída. Teste no modo conectado se o seu projeto se comporta da mesma.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 90
Devemos agora observar o projeto para não cometermos erros que façam com que o
funcionamento da cancela ocorra de forma errada.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
91 Curso de Robótica
Quando o motor estiver desligado, significará que a cancela está aberta, portanto
devemos utilizar o bloco LCD para indicar o estado em que a cancela s encontra.
Adicione um Bloco LCD logo abaixo do bloco Saída, escolha a opção Topo como a
posição do texto e escreva “Cancela aberta”.
Adicione um bloco aguardar de 5 segundos para que o carro possa passar antes de a
cancela fechar.
É importante entender que toda sub-rotina deve ser finalizada com um bloco Parar,
pois caso seja feito um loop, o fluxograma ficará dentro da sub-rotina sem executar o resto do
fluxograma.
Como a sub-rotina de fechar a cancela será muito similar à rotina de abrir a cancela,
podemos copiar os blocos.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 92
Selecione “Colar”.
Modifique o nome da nova sub-rotina para “Fechar cancela”, mas mantenha a outra
sub-rotina intacta.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
93 Curso de Robótica
Quando o motor for desligado, devemos modificar a frase do LCD para “Cancela
fechada”.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 94
Com as duas sub-rotinas prontas, podemos criar a rotina principal. Rotinas principais
são aquelas que se iniciam com um bloco Iniciar.
A nossa cancela deverá abrir quando o sensor de obstáculo detectar a presença de um
veículo, portanto usaremos um bloco Decisão para saber se a leitura será maior que 900.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
95 Curso de Robótica
Aula 8
Essa aula tem como objetivo apresentar um recurso de muita utilidade e que pode dar
diversas funcionalidades ao seu robô: o módulo Bluetooth.
Para acionar esse recurso, configure a Saída 0 no Modelix System para SerialRX.
Com essa configuração, a Saída 1 não mais será mostrada e um novo bloco chamado
Transmissão Serial será adicionado.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 96
Arraste um bloco Transmissão Serial para a área de trabalho para observarmos de que
forma utilizá-lo.
Para receber as informações vindas do celular, surge uma variável chamada SerialRX.
Essa variável registra um valor de caractere enviado pelo celular, funcionando como a variável
IR vista na aula 5, sendo acessada pelo bloco Decisão.
Podemos saber a que valor corresponde cada caractere enviado pelo celular, através
da tabela ASCII mostrada a seguir:
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
97 Curso de Robótica
O bloco Decisão não reconhece letras diretamente, por isso as letras são convertidas
em números correspondentes à tabela ASCII.
O Módulo Bluetooth
deve ficar com a parte
superior apontada para
as chaves S2 e S3.
Caso o seu módulo Bluetooth tenha 6 pinos, basta conectá-lo na entrada para seis pinos mostrada
acima. Caso seu módulo Bluetooth tenha 4 pinos, conecte-o no centro, deixando duas entradas
livres.
Fique atento com a posição do módulo Bluetooth, pois caso o conecte-o errado, não irá funcionar.
IMPORTANTE: Nunca utilize o módulo Bluetooth enquanto o Modelix 3.6 estiver conectado ao
computador. O módulo Bluetooth somente poderá ser utilizado após o download do
fluxograma e com o Modelix 3.6 desconectado do computador.
Parte 4 – Programação
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 98
Sendo essa primeira sub-rotina a responsável por abrir a cancela, não devemos ainda
fazer a verificação do caractere enviado pelo celular, verificação essa que será feita na rotina
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
99 Curso de Robótica
principal. A função dessa sub-rotina será executada imediatamente após verificação, portanto
não haverá a necessidade nesse momento de definir o caractere que fará a cancela abrir.
Em seguida, devemos acionar o motor para Frente, fazendo a cancela abrir. Verifique
qual o sentido de rotação do motor que fará a cancela do seu projeto abrir.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 100
Com o motor desligado, devemos informar que a cancela está aberta por meio de
outro bloco SerialTx.
Devemos agora aguardar 7 segundos para que o carro possa passar pela cancela.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
101 Curso de Robótica
Em seguida clique no botão colar e clique numa área em que caiba a sub-rotina
duplicada.
Faremos agora algumas alterações na rotina Sub Abrir 2. Selecione o bloco Sub e o
renomeie para “Fechar”.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 102
Como a cancela estará fechando, devemos agora observar se o sensor de toque foi
acionado, portanto selecione o bloco Decisão com a ferramenta editar e o modifique para a
leitura da Entrada 8, onde o sensor de toque está conectado.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
103 Curso de Robótica
Com as duas sub-rotinas finalizadas, podemos definir qual o caractere que deve abrir a
cancela. Para isso devemos usar a tabela ASCII:
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 104
Criaremos agora uma rotina principal para que possamos abrir a cancela. Toda rotina
principal deve começar por um bloco Iniciar.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
105 Curso de Robótica
Use a ferramenta Linha para conectar a condição negativa dos blocos Decisão ao bloco
Decisão que verifica a variável SerialRX.
Agora devemos usar o bloco Definir para fazer com que a variável SerialRx seja 0, pois
o valor 97 está registrado, o que fará a cancela abrir sem o comando enviado pelo celular.
Impressão ou reprodução total ou parcial deste conteúdo proibida por Lei © Modelix Robotics
Curso de Robótica 106
1 2
Escolha o dispositivo
-