Passos para a construção de um robot autónomo.
Lista de material:
Para o coração (ou melhor, o cérebro….) do robot, utilizei o Arduino UNO. Abaixo esta apresentado o diagrama de blocos com as respectivas pinagens. Para um projeto mais elaborado é fundamental desenvolver este tipo de diagrama. Ele vai sempre ser a guia a que se tem que recorrer durante a codificação do SW.
Hardware
A base da “reação a luz”, foram as fotocélulas. As fotocélulas (que são resistências que variam com a luz), foram conectados na configuração “ponte de Whitestone”. Isso fazia que uma variação na intensidade de luz provocasse um desequilíbrio da ponte resistiva, o que levava a saturação de um amplificador operacional. Meio enrolado, mas muito inteligente
Esquerda e direita fotocélula bridget- diagrama
O uso de um “Power Block” foi inteligente, ou seja, ao invés de deixar a ponte constantemente alimentada (importante lembrar que em um robot autónomo, bateria é vida!), se alimenta a mesma via um pino de saída do Arduino. Assim, somente quando se necessita verificar se o sensor tem luz ou não, 5V é produzido pelo Arduino, alimentando momentaneamente a ponte durante a leitura (no caso, o pino 8).
Foram utilizadas duas fotocelulas, uma frontal e uma traseira. A ação é simples, quando o robot de desloca para a frente e a luz é interrompida, os motores dão “marcha-ré”. E obviamente, vice-e-versa.
GERAÇÃO E RESPOSTA A SOM
Para que o robot pudesse “ouvir”, um velho e bom microfone de PC que foi o escolhido. Como o sinal do microfone é muito baixo, um Amplificador Operacional inversor foi utilizado para amplificação do sinal. Também antes de ser amplificado, o sinal de som passou por um filtro passa altas, eliminando-se assim a componente DC.
Foi também utilizado um simples “buzzer”.
Amplificador de micro e buzzer – diagrama
MOVER MOTORES
Para o movimento dos motores uma Ponte H, a velha e boa L293D foi a escolhida. Importante não esquecer de adicionar uns condensador cerâmicos nos terminais do motor. Isto ajudará a diminuir eventuais ruídos elétricos produzidos pelas “escovas” dos motores DC (10pF está bem). Falando em ruído, nunca é demais lembrar que sempre é bom alimentar os motores com uma bateria separada da usada pelo Arduino (não se esquecendo de conectar os “terras”).
Motor Drive, IR Rec e REB LED – diagrama
Para sinalização, utilizei um LED RGB catodo comum. Com isso, podia acompanhar algumas ações do robot através dos LEDs.
Para receber comandos via um controle remoto IR (Infra vermelho), utilizei um VS1838b. É um sensor com três terminais, VCC, GND e Signal. Um sensor simples e bem confiável.
Juntando tudo fica mais ou menos assim:
Software
A ideia do SW foi bem simples. Ao ser ligado, o robot gerava 4 bips, ficando a espera do sinal “ON” proveniente do controle remoto. Ao receber-lo, soavam 2 bips, o LED ficava azul e o robot estava pronto para receber um comando de voz. No caso um simples ruído mais pronunciado como um assobio ou uma palma (o ganho do Amp Op, deve ser testado para gerar um sinal coerente). Também é importante que durante a faze de “set-up”, se “escute” o nível de ruído do ambiente, assim consegue-se uma melhor precisão e o robot não parte com qualquer barulho.
Com o comando de som, o robot começava a mover-se para a frente (LED ficava verde) até que o sensor de luz frontal fosse bloqueado. Nesse momento, o LED ficava vermelho e o robot passava a mover-se de “marcha-ré”, até que o sensor de luz traseiro fosse bloqueado, invertendo-se assim o movimento. O robot ficava nesse ziguezague até receber um comando para parar (controle remoto), ou até que o “piloto” dormisse de tédio fazendo o monstrengo se arrebentar no chão (é, o teste foi em cima de uma mesa…..).
Abaixo, o fluxo do programa
Fluxograma do código do robô
O código final do robot pode ser baixado de meu Dropbox público:
https://www.dropbox.com/sh/246l6yksl6fj0uw/AACsVcKSg5yIOohXSj6yuL63a?dl=0
Artigo gentilmente cedido por: MJRoBot.org
Todos os produtos utilizados neste artigo podem ser encontrados na Loja de Eletrónica e Robótica – ElectroFun.
Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.
Não se esqueçam de fazer like na nossa Página no Facebook.
Podem ainda colocar as vossas dúvidas no nosso Forum da Comunidade Arduino em Portugal ou no nosso Grupo no Facebook Arduino Portugal – Qual o teu projeto?