Actualização:
Aqui vai a tradução à muito esperada deste tutorial, espero que vos seja útil.
Decidi remover a Ponte-H, o motor agora está directamente ligado às pilhas AA e o Arduino é alimentado por uma pilha de 9V. Este pequeno robot apenas anda em frente (para já).
Na 2ª parte vou adiccionar a Ponte-H e dois botões Bump. Assim o nosso pequeno robot poderá evitar obstáculos mudando de direcção.
————————————————————
Olá! E bem-vindos(as) ao tutorial Primeiro Robot com Arduino 1ª Parte !
Convém ler esta informação antes, menciona a importância de documentar o vosso processo criativo, e o processo de construção do vosso robot. Assim vocês poderão um dia mais tarde recordar o que fizeram e outros também podem vir a aprender com a vossa experiência.
Índice:
1 – Introdução
2 – Antes de começar
3 – Lista de componentes
4 – Olá Hardware!
5 – Processo de construção
5.1 – Primeiro carro
5.2 – Segundo carro
5.3 – Motor servo e rodas da frente
5.4 – Baterias
5.5 – O Circuito
5.6 – O servo
5.7 – Sensor LDR (Light Dependant Resistor) – Fotoresistência
6 – Programação
—————————————————
1 – Introdução
Neste tutorial verás que não precisas ser nenhum guru electrónico ou um super engenheiro para fazeres um robot simples e divertido.
Este robot não terá nenhum sensor de ultrasons ou infra-vermelho.
Que vai este robot fazer?.. poderás tu perguntar..
Este robot será um procurador da Luz!!
Se decidires seguir este tutorial, deverás estár mais ou menos familiarizado com uma breadboard, com ferro de soldar e se possível saber usar uma pistola de cola quente.
————————————————–
2 – Antes de começar
————-
Alguma vez usaste uma BREADBOARD, também conhecida como Placa de Ensaios ?
Tens aqui um tutorial simples de como funciona:
http://letsmakerobots.com/node/596
————-
Na secção 4 vou mostrar como se lê entradas analógicas e como trabalhar com um motor servo, mas..
Se não sabes:
– como fazer piscar um LED;
– ler e interpretar uma entrada analógica, por exemplo ligada a um potenciómetro;
– usar o comando Serial;
– entender os principio básicos de OOP (Object Oriented Program).
Aconselho uma visita aos seguintes links:
Estes tutorials são muito acessíveis:
http://itp.nyu.edu/physcomp/Tutorials/Tutorials
http://todbot.com/blog/bionicarduino/
http://todbot.com/blog/spookyarduino/
NOTA:
Dá sempre um passo a seguir ao outro. Sempre que montas algo testa o que fizeste, e se for bem sucessido passa para o próximo passo.
Esta é uma boa prática e faz com que poupes tempo e paciência preciosos.
—————————————————
3 – Lista de componentes:
Componentes gerais:
1 Arduino Diecimila ou Duemilanove
1 Breadboard (placa de ensaios)
1 Servo
2 LDR (Light Dependant Resistance)
2 Resistências 10k
2 Botões On / off
5 – Resistências de 1 Ohm (isto vai depender da potência do motor do teu carro)
Fios condutores (coloridos se possivel)
Components customizáveis::
Baterias – vai depender das necessidades do teu motor
Eu vou usar:
1 pilha de 9V com ligação ao Arduino
3 AA NiMh para alimentar o motor
————
Escolhi usar brinquedos em vez de components pré-feitas. É mais rápido obtê-los são baratos e é divertido usá-los para fins diferentes dos quais foram concebidos. A outra razão é que aumenta a tua capacidade criativa e habituaste a procurar soluções onde aparentemente não existem.
————
Numa loja de produtos chineses encontram-se imensos brinquedos baratos que esperam por ser vandalizados :]
Este carrinho foi 5€ e vou usá-lo como plataforma e chassis
Este carrinho foi 2€ e vou usar as rodas da frente apenas para a direcção.
——————————————————–
4 – Olá Hardware:
LDR – Light Dependant Resistors – Fotoresistências
Esta parte é para iniciantes em Arduino, vou mostrar sucintamente como se move um motor servo e como se lê entradas analógicas ligadas às fotoresistências (LDR).
This part is for beginners in Arduino, I will show briefly how to move a servo, and read analog inputs through LDR´s.
———–
Ler entrada analógica ligada ao LDR:
O LDR pode ser montado em qualquer direcção, isto significa que não tem polaridade ( + ou – ). O mesmo acontece com as resistências.
Segue esta imagem, e puxa um fio para a entrada analógica no Arduino.
———–
Agora para o Servo:
Antes de usares o código para o servo, precisas de instalar a livraria Servotimer1. Do ficheiro ZIP extraí o seu conteúdo para a pasta hardware/libraries dentro da pasta do Arduino. Reinicia o software do Arduino.
Puxa o frio Preto que vem do servo e liga à linha preta na breadboard, o fio Vermelho liga à linha vermelha na breadboard, e o fio Amarelo ao pin digital 9 no Arduino.
Puxa mais dois fios e liga os 5V no Arduino à linha Vermelha na Breadboard, e o GND no Arduino à linha preta na Breadboard.
O Arduino vai ser alimentado pelo cabo USB.
Agora que estás mais familiarizado com bites e bytes do Arduino, VAMOS DAR INÍCIO À FESTA :D
———————————————————
5 – Processo de Montagem
5.1 – Primeiro Carro
Desmonta o carro que vai ser a plataforma e chassis aos components e ao sistema de tracção, ou seja, remove todas as partes excepto as rodas de trás e o seu motor.
Solda um fio a cada um dos pins do motor.
Também soldei um fio preto ao Ground e um fio vermelho à botão on/off que liga à caixa das pilhas.
Esta foi a primeira e última vez que viste solda neste tutorial.
———–
5.2 – Segundo Carro
Outro pequeno carrito foi vandalizado, desta vez vou usar as rodas da frente para a direcção.
———–
5.3 – Motor Servo e Rodas da Frente:
Colei as rodas ao Servo, não está um trabalho bonito eu sei.. tenta centrar as rodas o melhor que puderes em relação ao servo.
Depois usei cola quente para colar o servo ao chassis.
ATENÇÃO: Certifica-te que ambas as rodas tocam no chão ou então terás problemas.
A roda da esquerda não toca no chão = PROBLEMA
Ambas as rodas tocam no chão = Problema resolvido : ]
———–
5.4 – Batterias
Tive sorte com este pequeno carrito. A pilha de 9V encaixa perfeitamente dentro do chassis, e posso usar o compatimento das 3 pilhas AA, e assim poupo espaço para a breadboard no topo do chassis.
———–
5.5 – O circuito
O Arduino é alimentado através da pilha de 9V.
Os fios preto e vermelho ligam o Ground e os 5V do Arduino às filas principais da breadboard.
Agora liga o fio vermelho que vem das baterias AA a uma coluna na breadboard.
Agora eu estou a usar cinco resistências de 1 ohm entre o motor e as 3 baterias AA.
Estas resistências são de baixa intensidade mas são suficientes para reduzir a rotação do motor, o suficiente para este não queimar.
Eu podia usar apenas uma resistência de 5 ohm, mas se usar cinco resistências de 1 ohm tenho mais precisão na velocidade do meu motor. Neste caso se eu quizer aumentar ou reduzir a potência só terei que adiccionar ou remover uma resistência.
Assim o motor não queima e consigo obter uma boa relação velocidade / potência
Nota que o fio do Ground está ligado a outra fileira na breadboard.
À fileira do ground ligo um fio que vai para o motor, à fileira da última resistência ligo o outro fio do motor.
Liga o botão on/off das baterias AA e vê se o motor funciona e se tem força suficiente para mover o teu carrito futuro robot.
———–
5.6 – O Servo
Liga o Servo à breadboard.
Pega em dois fios e liga o vermelho e o preto do servo às fileiras principais na breadboard.
Pega noutro fio e liga o amarelo ao pin digital 9 no Arduino.
———–
5.7 – LDR – Fotoresistências
Último passo
Monta o LDR e as resistências, estes não têm + nem -, por isso podes montá-los em qualquer direcção.
Os fios verdes ligam aos pins analógicos no Arduino 4 e 5.
——————
(testa os LDR como fizeste anteriormente)
Este é o aspecto final do circuito.
Ok, todos os passos físicos estão feitos, agora só falta fazer upload da programação para o Arduino.
———————————————————
6 – Programação!!!
——————————————————-
Fiz umas antenas para os LDR, assim as variações de luz são mais evidentes para o comportamento do nosso robot.
——————————————————-
———————————————————
Espero que este tutorial vos tenha sido útil! E espero também ver os vossos robots em breve. ;)
———————————————————
———————————————————
———————————————————
5 . Fev . 2009
Só para dizer que já não vai mais haver Part 2.
Eu cheguei a completá-la, mas as os fios e as ligações são tantas, e o resultado final é muito fraquinho..
aqui ficam os meus pedidos de desculpa para aqueles que ficaram à espera, no entanto a intenção foi boa.. :)
Como posso coseguir a segunda deste artigo?
Grato
Não percebi a pergunta..
Boas, meu caro encontrei esta pagina numa busca por “Arduino” em portugues.
Ando a procurar um sistema para seguir o Sol usando o Arduino,
O tão conhecido solar tracker, mas tenho tido alguma dificuldade em encontrar , pois filmes no youtube existem muitos , mas esquemas concretos… nao apanhei ainda. Até ver este projecto do robõ procurador de Luz.
Será que ele servirá com algumas modificações para fazer um aquecimento de água onde o painel fosse sempre seguindo o sol usando este projecto?
Grato pela atenção
Jose
Viva! Este pequeno veículo procura por zonas luminosas através de duas foto-resistências (LDR).
Julgo que conseguirás facilmente fazer um painel solar seguidor do sol com estas mesmas resistências ou até com uma sequência de movimentos pré-programada.
oi presiso de ajuda numa coisa que progamasao eu fasso e como eu fasso??
Olá Leandro, sê bem vindo ao meu site!
A resposta à tua pergunta está neste artigo..
legau maIS MIEM CINA A COSTRUIR UM
very good i like so mtche
Boas,
Parabéns, gostei muito do artigo e até estou a pensar em tentar em fazer esse robot.
Por isso fui pesquisar Arduino Diemicila para ver os preços e não apareceu quase nada. Cheguei à conclusão que provavelmente te terás enganado e escreveste Diemicila em vez de Diecimila, certo? É que o segundo já tem uns milhares de resultados. É um pormenor insignificante mas pode induzir alguém a erro.
Cumprimentos
Viva Francisco! Obrigado pela correcção!! : D
Esta passou mesmo despercebida!
Lá se foi um mini 4wd pelo bem da robótica :D.
Excelente tutorial. porque que na fizes te a 2º parte? Estava intrigado por saver como iria ficar com ponte H. Até podias acrescentar um sensor IR assim evitava de bater. :D
obrigado João!
eu ainda cheguei a fazer a 2ª parte, podes ver como ficou com a ponte H mesmo no fim do post. adiccionei-lhe também um pára-choques para evitar colisões :-)
se tiveres alguma dúvida diz :-)
olha queria te pedir uma ajudinha na linguagem c. Não sei se te lembras do poste que eu fiz na luso robótica cujo o titulo era “um carro”. já sei como vou fazer : vou utilizar 2 sensores IR e um sonar. mas o problema é que o projecto que eu vou ir buscar o codigo utiliza 4 servos para andar e um servo para um sensor IR. Mas eu vou controlar 2 motores dc com um H-BRIDGE MOTOR DRIVER 1A.
Por isso vou te deixar o meu mail joaopedrolajoso@hotmail.com
olá João, o primeiro conselho que te posso dar é ir por partes e não querer logo tudo de uma só vez :p
1ª coisa que podes começar por aprender: por um único motor a funcionar com o L293D, podes ver o meu tutorial aqui
2º compreender o funcionamento e programação dos sensores IR e Sonar
porque não continuas a expor as tuas dúvidas no forum? ;)
pow eu queria sabr fazer um robot naum um carrinho¬¬”
ele e de controle remoto e corre
Boas
Adorei este projecto parabens.
Eu estou a fazer um robosito tb, mas nao utilizo o arduino, estou a utilizar PIC. Só uma questão relativamente à ponte H e os motores cc, é possivel controlar a velocidade desses motores? é q eu coloco um pwm no l293 aumento e diminu o pwm e a velocidade é sempre a mesma!! Se precisares de mais informação ou quiseres trocar informação diz algo.
alguma coisa estás a fazer mal, pode ser na programação, ou no teu circuito
esse projeto pode ser feito com o arduino severino??
só mais uma coisa q eu esqueci de perguntar, esse “SERVO” é um motor em especial, algum atudador especifico ou um mortor “qualquer”??
sim claro :)
um servo é um actuador com um alcance de rotação de 180º
ola queria fazer uma modificação no seu projeto, teria como vc me ajudar na parte da programação:
pretendo usar dois servos moteres como rodas, e um roda louca na frente, queria saber como q fica a parte da pinagem, e o ldr, no programa só diz um pino, o outro é ligado no +5V?? e ele tem posição??
vlw
lê atenciosamente o ponto 2 deste tutorial e procura entender primeiro conceitos básicos de programação e electrónica e só depois é que poderás evoluir a partir daí
Cara muito bom mesmo ! Apenas queria lhe indicar o Wikilivros para postar este ótimo paso- a-passo e ter mais visibilidade.
abraço
Obrigado, vou chegar o Wikilivros!
meu programa do arduino nao esta lendo a biblioteca ServoTime1.h, a minha versao é 0022. Como faço para poder funcionar essa biblioteca no programa?/
olá é só substituir a palavra ServoTime1 pela palavra Servo
Olá , Boa noite.
Desde já quero dar os Parabéns por a iniciativa de documentar este projecto esta muito interessante para quem quer começar como eu ! :)
Já construi o nosso pequeno robot.
Mas estou a ter um problemas nos LDR , um está ao contrario do outro, quando tenho muita luz um deles fica com valores altos e o outro com valores baixos. Se tiver pouca luz passa-se o inverso.
Algum erro básico?
Obrigado !
Já resolvi o meu problema . Se eu tiver certo as fotos dos LDR têm um pequeno erro. eu tenho uma das pontas dos LDR na linha de energia positiva. Na foto esta um no positivo e o outro no negativo . Não sei se o erro é meu mas só assim é que consegui por a funcionar .
Uma questão o servo SM-S430eR full rotação não é muito indicado para este projecto certo ? não consigo que ele não gire continuamente para uma das direcções :S
Olá André, nas fotos as patas dos ldrs e das resistências sobrepõem-se, mas analisando mais cautelosamente dá para ver que os ldr’s estão ligados no +, verifica nesta foto: http://www.flickr.com/photos/guibot/2889690997/sizes/o/in/set-72157616749030845/
O servo que mencionas não conheço.. mas se é de rotação continua ele deverá rodar em ambos os sentidos continuamente.
Boa continuação ;)
Guilherme,
Adorei a postagem, estou a elaborar um projeto de uma ponte H com pwm para controle de 02 motores, onde o funcionamento será assim: motores deverão partir até atingir 50% da velocidade maxima, faço uma acionamento que pode ser com led e ele vai para a velocidade maxima, depois faço outro acionamento e ele para, iverte a rotação e atinge a velocidade de 50%, ….. o controle pode ser feito por arduino, porem a velocidade deve ser mostrada em um visor, você poderia me ajudar?
Abraços,
Adelmo
Boas…gostava de contruir um robot igual…tanhos varios carros rc nas não uso nehum e gostava de contrur algo com eles…. gostava de perguntat se me podia fornecer a lista de todo material necesario e se posivel o programa…ja que eu não percebo nada de programação… Aguardo resposta…
Obrigado pela sua atenção….
Olá Filipe, o melhor mesmo é começar a por as mãos na massa.. não sei o que queres fazer com os teus carros rc, mas podes experimentar começar pelo Arduino e a partir daí vai-se abrir um mundo cheio de possibilidades.. coisas e ideias para carros rc estão aqui com fartura: http://www.letsmakerobots.com
Bons hackings!! ;)
Bom dia…Pode me dizer apenas qual o intregrado que esta a utilizar neste robot???
Obrigado
Chama-se Arduino.cc
Excelente post! Continua!
é possível usar um arduino uno rev3?
Arduino Uno R3, concerteza que sim.
O tutorial está bastante simples e fácil de seguir, incentiva a quem está a iniciar esta área como eu. Parabéns.
Permitam me uma pergunta, arduino uno serve aqui certo?
Já foi respondido, peço desculpa :)
Olá sou iniciante com o Arduino, e muito interessada nos robot, gostaria de saber se você indica algum simples que eu poderia fazer, algum passo a passo.
Tenho um arduino duemilanove
Olá Ketlhyn, antes de te aconselhar tutoriais com robótica preciso de saber como estás em relação ao manuseamento do Arduino, programação e electrónica. Já fizeste os tutoriais do Arduino? Sabes mexer com leds, botões, sensores e motores?
Guilherme Martins : Robot Fácil com Arduino – 1ª Parte, me ha parecido insteresante, me hubiera gustado que fuese más amplio pero ya saeis si lo bueno es breve es dos veces bueno. Enhorabuena por vuestra blog. Besotes.