Skip to content

Robot Fácil com Arduino – 1ª Parte

ENGLISH VERSION

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:

Getting Started with Arduino

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.

LDR

Segue esta imagem, e puxa um fio para a entrada analógica no Arduino.

LDR CODE

———–

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.

SERVO CODE


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!!!

Robot Program

——————————————————-

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..  :)

3256087317_304c5a6ce7.jpg?v=0

3256917228_e245c527c4.jpg?v=0

Share

{ 44 } Comments

  1. Paulo Brites | March 31, 2009 at 2:51 pm | Permalink

    Como posso coseguir a segunda deste artigo?
    Grato

  2. GUI | March 31, 2009 at 4:08 pm | Permalink

    Não percebi a pergunta..

  3. Jose | June 8, 2009 at 4:16 am | Permalink

    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

  4. GUI | June 8, 2009 at 8:01 am | Permalink

    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.

  5. leandro prado carnei | September 30, 2009 at 10:39 pm | Permalink

    oi presiso de ajuda numa coisa que progamasao eu fasso e como eu fasso??

  6. GUI | September 30, 2009 at 10:46 pm | Permalink

    Olá Leandro, sê bem vindo ao meu site!
    A resposta à tua pergunta está neste artigo..

  7. JT | October 22, 2009 at 6:47 pm | Permalink

    legau maIS MIEM CINA A COSTRUIR UM

  8. pericles | November 5, 2009 at 2:37 pm | Permalink

    very good i like so mtche

  9. Francisco Dias | November 6, 2009 at 10:14 pm | Permalink

    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

  10. GUI | November 7, 2009 at 12:25 am | Permalink

    Viva Francisco! Obrigado pela correcção!! : D
    Esta passou mesmo despercebida!

  11. joao rexinho | January 9, 2010 at 1:19 am | Permalink

    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

  12. GUI | January 9, 2010 at 12:10 pm | Permalink

    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 :-)

  13. joao rexinho | January 14, 2010 at 1:27 am | Permalink

    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

  14. GUI | January 15, 2010 at 9:28 am | Permalink

    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? ;)

  15. carlos | February 26, 2010 at 9:16 pm | Permalink

    pow eu queria sabr fazer um robot naum um carrinho¬¬”

  16. Drie | March 28, 2010 at 8:46 pm | Permalink

    ele e de controle remoto e corre

  17. Luis | April 16, 2010 at 8:46 pm | Permalink

    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.

  18. GUI | April 27, 2010 at 9:39 pm | Permalink

    alguma coisa estás a fazer mal, pode ser na programação, ou no teu circuito

  19. Flc | July 8, 2010 at 5:43 am | Permalink

    esse projeto pode ser feito com o arduino severino??

  20. Flc | July 8, 2010 at 5:47 am | Permalink

    só mais uma coisa q eu esqueci de perguntar, esse “SERVO” é um motor em especial, algum atudador especifico ou um mortor “qualquer”??

  21. GUI | July 13, 2010 at 1:20 am | Permalink

    sim claro :)

  22. GUI | July 13, 2010 at 1:21 am | Permalink

    um servo é um actuador com um alcance de rotação de 180º

  23. Flc | September 20, 2010 at 6:08 pm | Permalink

    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

  24. GUI | September 20, 2010 at 8:19 pm | Permalink

    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í

  25. Bruno Passarelli | April 9, 2011 at 7:38 am | Permalink

    Cara muito bom mesmo ! Apenas queria lhe indicar o Wikilivros para postar este ótimo paso- a-passo e ter mais visibilidade.
    abraço

  26. GUI | April 12, 2011 at 8:30 am | Permalink

    Obrigado, vou chegar o Wikilivros!

  27. israel franke silva | June 16, 2011 at 5:03 pm | Permalink

    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?/

  28. GUI | June 16, 2011 at 9:43 pm | Permalink

    olá é só substituir a palavra ServoTime1 pela palavra Servo

  29. André Pinto | August 9, 2011 at 7:49 pm | Permalink

    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 !

  30. André Pinto | August 9, 2011 at 8:37 pm | Permalink

    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

  31. GUI | August 9, 2011 at 9:18 pm | Permalink

    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 ;)

  32. Adelmo Souza | October 28, 2011 at 2:22 am | Permalink

    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

  33. Filipe | March 1, 2012 at 2:39 pm | Permalink

    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….

  34. GUI | March 1, 2012 at 3:58 pm | Permalink

    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!! ;)

  35. Filipe | March 5, 2012 at 10:11 am | Permalink

    Bom dia…Pode me dizer apenas qual o intregrado que esta a utilizar neste robot???
    Obrigado

  36. GUI | March 5, 2012 at 11:58 am | Permalink

    Chama-se Arduino.cc

  37. Daniel Dinis | April 15, 2012 at 9:44 pm | Permalink

    Excelente post! Continua!

  38. Eduardo da Silva | July 7, 2012 at 3:49 am | Permalink

    é possível usar um arduino uno rev3?

  39. GUI | July 7, 2012 at 9:33 am | Permalink

    Arduino Uno R3, concerteza que sim.

  40. Cunha | July 31, 2012 at 11:33 am | Permalink

    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?

  41. Cunha | July 31, 2012 at 11:38 am | Permalink

    Já foi respondido, peço desculpa :)

  42. Ketlhyn | August 13, 2012 at 1:52 am | Permalink

    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

  43. GUI | August 13, 2012 at 9:31 am | Permalink

    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?

  44. Procurador Cantabria | August 8, 2013 at 7:03 am | Permalink

    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.

{ 4 } Trackbacks

  1. [...] VERSÃO EM PORTUGUÊS [...]

  2. [...] já foi usado em projetos tão diferentes quanto robôs, sensores de umidade de plantas (que tuítam caso a umidade chegue a um nível específico), sensor [...]

  3. Arduino O Documentário | José Malcher Jr. | November 24, 2011 at 1:09 pm | Permalink

    [...] já foi usado em projetos tão diferentes quanto robôs, sensores de umidade de plantas (que tuítam caso a umidade chegue a um nível [...]

  4. Arduino – o documentário : FLISOL-DF 2012 | November 28, 2011 at 12:25 am | Permalink

    [...] já foi usado em projetos tão diferentes quanto robôs, sensores de umidade de plantas (que tuítam caso a umidade chegue a um nível [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *