CarAut v1. Criando um carrinho autônomo (robô) com Arduíno, parte 1/4 (componentes)

Olá, amantes de robótica!

ROBÔ ATUALIZADO!

MELHORADO O CODIGO FONTE!

MELHORADO O DESEMPENHO!

VIDEO DE MONTAGEM DO ROBÔ!

ACESSE O NOVO TUTORIAL: SEUROBO.COM.BR

Veja como ficou o novo robô:



Aqui ensinaremos como fazer um carrinho autônomo (CarAut) com Arduíno e um LCD.



O projeto não é difícil, entretanto, exige um pouco de tempo, criatividade e paciência.
Neste site, farei os robôs, publicarei seus tutoriais e código fonte.
Se possível, por favor, compartilhe com outras pessoas. Obrigado!


Veja o vídeo do CarAut v1 em funcionamento:





Vamos ao material que precisamos: 


Qtd     Itens:
1      -  Arduino UNO ou qualquer outra versão;
1      -  Servo motor (HK15138 Standard Analog Servo 38g / 4.3kg / 0.17s);
1      -  Micro servo motor (HXT900 9g / 1.6kg / .12sec Micro Servo);
1      -  Display de LCD 18x2;
1      -  Sensor Ultrasonic HC SR04;
1      -  Speaker (som, buzzer de computador );
1      -   Resistor 220 Ohms;
1      -  Potenciômetro de 100k;
1      -  Mini protoboard;
1      -  Botão liga/dcresliga;
1      -  Regulador de tensão LM 7805;
1      -  Roda giratória (Rodizio giratório);
2      -  Rodas (as que usei, eu retirei de uma impressora velha);
1      -  Bateria de 9v (foi usada uma bateria de lithium de 7,5v e 1700 mAh);
x       - Jumpers (Fios);
x       - Para montar a carcaça do robô, use o que você tem na sua casa. Seja criativo!
x       - Cola quente.

Veja a outra versão do robô: CarAut v2, usa poucas peças, fácil de montar!

Não sabe onde comprar as peças, confira esse post:  onde comprar arduino e componentes

Vamos falar sobre cada componente do carrinho:



Arduíno UNO:
Esse é o computador do nosso robô. É nele que tudo estará conectado, ele que irá controlar todos os componentes.
Aonde posso comprar o arduino? 
O que é Arduino?

Servo motor (HK15138 Standard Analog Servo 38g / 4.3kg / 0.17s):
Esse será o motor de cada roda do nosso carrinho autônomo.
Porém teremos que hackeá-lo, pois ele gira até 360 graus e para.
Então ele será hackeado para que possa girar livremente.
Aprenda a hackear o servo motor 

Micro servo motor (HXT900 9g / 1.6kg / .12sec Micro Servo):
Esse servo motor pequeno será utilizado para poder girar o nosso sensor ultrassônico e verificar a melhor distância.
Ele não será hackeado.
Veja como testar: Usar servo motor no arduino

Sensor Ultrasonic HC SR04:
Esse é o responsável por nos informar a distância entre o robô e do objeto.
Nos testes que eu fizemos, ele fornece a distância correta quando está à aproximadamente 25 cm.
Em movimento é possível que ele não forneça uma informação precisa. Também pode acontecer de ele zerar a distância.
Ele utiliza o som para medir a distancia.
É fácil usá-lo! veja como testa-lo .


LCD 18x2:
Esse monitor será responsável para mostrar as informações que o robô está realizando, isto é, qual o melhor caminho.
Não é obrigatório o uso deste!
Veja como testa-lo.



Os outros componentes acredito que não seja necessário citar.

Vá para a parte 2 do tutorial: Parte 2 (hackeando servo motor).

Veja as outras etapas:


Pronto, qualquer duvida é só deixar nos comentários ou entrar em Contato 

Quer ajuda ou quer ajudar? Clique em Ajuda e veja como você pode ajudar ou ser ajudado.

ROBÔ ATUALIZADO!

MELHORADO O CODIGO FONTE!

MELHORADO O DESEMPENHO!

VIDEO DE MONTAGEM DO ROBÔ!

ACESSE O NOVO TUTORIAL: SEUROBO.COM.BR

Veja como ficou o novo robô:




52 comentários:

  1. Que legal Leonardo, continue assim. Parabéns pela iniciativa. Prof. Tarcísio
    [ ]

    ResponderExcluir
    Respostas
    1. Ai Tarcisio daqui uns tempos nós do 1º A estaremos com um desses!
      Por enquanto só nos led's!

      Excluir
  2. Show de bola, excelente trabalho!

    ResponderExcluir
  3. Meu código nao esta a trabalhar no programa do arduino .
    preciso de ajuda urgente .
    mail : ricardinho890@live.com.pt

    ResponderExcluir
    Respostas
    1. Ricardo, já lhe envie um email, estou a espera do seu retorno!

      Excluir
  4. Olá, no lugar dos servo motores hackeados posso usar motores DC normais?

    ResponderExcluir
    Respostas
    1. som mas voce tem que usar uma ponte h e alterar algumas partes do codigo para mim deu certo

      Excluir
    2. que show esse carrinho

      Excluir
  5. Olá, sim, porem você tem que usar uma ponte H e alterar algumas parte do código.
    eu estou esperando minha ponte H chegar para eu fazer um robo com motores DC.

    ResponderExcluir
  6. Obrigado pela resposta, fazer a ponte H pra mim é moleza, de eletrônica eu manjo, o problema é o que alterar no código, de programação sou totalmente leigo. Obrigado novamente.

    ResponderExcluir
  7. Boa noite!
    Parabéns pelo site e pelos projetos.Não tenho servo motor por isso preciso fazer com motores DC,achei este projeto:

    http://rgeorgel.com.br/site/carro-motor-dc/

    Consigo fazer os motores girarem e o sensor detecta a distância,mas ao aproximar de algo não gira o sentido do motor para desviar dos obstáculos.

    Pode me dar um apoio?

    ResponderExcluir
    Respostas
    1. Boa Noite Felipe.
      Obrigado.
      Ai cara, é muita questão de logica mesmo, eu irei fazer o mesmo robô porem com motor DC daqui um tempo e irei postar tudo aqui.
      Abraços

      Excluir
  8. pode ser utilizado o "Servo Digital Mg995 Metal 15kg" ?

    ResponderExcluir
  9. Sim, porém não ligue a energia do servo no arduino, faça uma fonte só pra ele, pois o arduino não ira suportar a tanto de energia que ele consome.

    ResponderExcluir
  10. Bom dia,

    Eu poderia usar essa bateria de 11,1v http://www.brasiliamodelismo.com.br/loja2/item/Bateria-Lipo-Zippy%252dK-Flightmax-1800mah-3S-20C.html?

    ResponderExcluir
    Respostas
    1. Boa Tarde, pode sim, o arduino suporta ate 12v.

      Excluir
  11. eu posso usar outro resistor?

    ResponderExcluir
    Respostas
    1. não, pois se você usar outro, o resultado final sera bem diferente.

      Excluir
  12. EU POSSO FAZER COM.. ARDUINO MICRO?... ? :P

    ResponderExcluir
    Respostas
    1. olá, pode sim, porém você vai terá mais cuidado ai ligar os componentes ao arduino. :)

      Excluir
  13. Excelente Trabalho muito bom parabéns!

    Estou desenvolvendo um braço robotico com 6 servo motores com controle infra vermelho
    e quero mostar os valore de posições do servo em display LCD, porém no display aparece caracteres estranhos referentes a posição do servo(parace letras japonesas)
    o que pode estar acontecendo ? obrigado

    Ex de comando que uso nos servos
    if (results.value == 16761405 || results.value == 2400 || results.value == 352){
    if(pos1 < 179)
    pos1 = pos1 + 1;
    delay(35);
    lcd.setCursor(4, 1);
    lcd.println(pos1,DEC);
    Serial.println("Posicao J1");
    Serial.println(pos1);
    j1.write(pos1);
    }

    todas variaveis no formato int

    ResponderExcluir
    Respostas
    1. Obrigado Leandro.
      Certo, faça o seguinte: crie uma variável e coloque para receber o resultado do "pos1,DEC" e depois coloque a variável para imprimir no LCD.
      Qualquer coisa é só perguntar!

      Excluir
  14. boa noite posso uzar o servo s3003 em ves do:
    (HK15138 Standard Analog Servo 38g / 4.3kg / 0.17s);
    O Site esta muito top legal mesmo muitos parabens

    ResponderExcluir
    Respostas
    1. Olá, pode sim, qualquer um servo motor poderá ser usado nesse robô.
      Só tem que hackear ele veja esse tutorial: http://www.criandorobocomarduino.com/2013/09/caraut-v1-criando-um-carrinho-autonomo_14.html
      Muito obrigado, divulgue o site para nós ajudar!

      Excluir
  15. Ola!Boa noite!

    Estou montando um robo controlado pelo bluetooth.Mas estou com problema no codigo poderia me ajudar??? Aguardo resposta.

    ResponderExcluir
    Respostas
    1. Olá, Daniel, Boa noite!

      Posso sim, acesse o menu "ajuda" lá em cima do site e saiba como ou acesse o link: Ajuda

      Excluir
  16. Olá adorei o projeto, mais o micro servo motor fica travando cm a programação, gostaria de saber como arrumar. vlw

    ResponderExcluir
    Respostas
    1. Obrigado!
      Por favor, descreva mais sobre o seu problema, para eu tentar de ajudar. Obrigado

      Excluir
    2. bom, quando algo entra na frente do sensor, o micro servo motor em vez de girar, fica tremendo, não sei oq fazer....

      Excluir
    3. Qual a a fonte de energia que vc esta ligando ele?

      Excluir
  17. estou ligando duas baerias de 9v, mais não gira, fica travado
    porem, com outras programações funciona normalmente

    ResponderExcluir
    Respostas
    1. Certo, por favor clique no menu Contato e me envie seu email, para podermos conversar melhor, pois pode ser varias coisas.
      Grato

      Excluir
  18. Construi seu projeto e percebi que tem duas bibliotecas diferentes com o mesmo nome a . No seu projeto na função lerSonar ( ) { return ultrasonic.Raning (CM ); }
    deve funcionar normalmente só que na biblioteca que tenho < Ultrasonic.h > aparece uma mensagem de erro . Não mudei nada só colei seu projeto na ide e o erro aparece.Outra coisa , porque o robô se move fazendo um curva para esquerda no meu caso e no seu video percebi que o robo não se move em linha reta mas numa trajetoria curva , seria possivel corrigir isso ? Não uso baterias lipo mas fiz um (peck ) de baterias de lanterna ,e percebi que a trajetoria ia ficando cada vez mas curva a medida que as baterias iam se descarregando . É possivel fazer o robô andar em linha reta ?

    ResponderExcluir
    Respostas
    1. A biblioteca que eu baixei não tem ( return ultrasonic.Ranging (CM); ) . Não sei se foi feito alguma modificação nesta parte mas o nome é o mesmo e no lugar do comando acima não sei se é no mesmo lugar , aparece microsec = ultrasonic.timing ( );
      distanciaCM = ultrasonic.convert (microsec ,Ultrasonic::CM);
      Seria isso a razão da mensagem de erro ?
      Percebi que o meu robô não consigue desviar da parede quando ele se move em direção que não é perpendicular a perede o sensor ultrasonico não tem o retorno do eco , mas quando ele se move numa direção perpendicular a perede ou seja reto em direção a parede tudo funciona normalmente. Seria possivel acresentar um sensor infravermelho na esquerda e outra na direita do robo para corrigir isso ? Devo fazer um função especifica para isso ?

      Excluir
  19. Olá amigo preciso de ajuda eu com preie esse modelo
    http://produto.mercadolivre.com.br/MLB-674523820-kit-robotica-carro-controle-remoto-bluetooth-p-arduino-_JM
    mais não estou conseguindo montar e nem programar se vc puder me ajudar enviando um vídeo ou o diagrama de conexão eu agradeço e os codigos.

    ResponderExcluir
  20. Ola como eu consigo fazer com uma plataforma de 4 rodas

    ResponderExcluir
  21. olá amigo, legal o post com o robô, quero fazer um parecido só que um pouco maior e uma diferença, um sensor de presença que ativa o alarme da casa assim que detectar calor, acho que da pra fazer isso usando o Wireless, não sei estou meio perdido, rs
    pode me da alguma dica?

    ResponderExcluir
  22. Olá... parabéns pelo belo projeto! Queria saber se eu posso usar o micro servo motor para fazer a mesma função do servo motor. Pq eu não tenho servo motor, só 3 micros.

    ResponderExcluir
    Respostas
    1. pode sim, porem tem que hackealos também, pode ser um pouco diferente dos maiores mas dá pra usar tranquilo

      Excluir
    2. Mas os resistores continuam os mesmos?

      Excluir
    3. Sim, só a montagem que e diferente, existem tutoriais ensinando a fazer isso no micro servo.

      Excluir
    4. Estou com problemas na programação, alguém pode me ajudar. Por favor :(

      Excluir
  23. para facilitar nosso dialogo me dê seu whats app

    ResponderExcluir
    Respostas
    1. Infelizmente não podemos der whatsapp, pois fica muito difícil consegui responder a todos no mesmo momento. Se quiser podemos responder por email.

      Excluir
  24. os servo-motores precisam de ter 4.3kg?

    ResponderExcluir
    Respostas
    1. Olá Miguel, não precisam, pode ser o micro servo ele ira dar conta do peso.

      Excluir
  25. Bom dia. Qual foi o custo do projeto?

    ResponderExcluir
    Respostas
    1. Boma dia, infelizmente não temos como calcular pois muitas são feitas artesanalmente. Caso tenha interesse tem o outro robô CArAut V2 ele nós temos o kit para poder vender, caso seja do seu interesso favor enviar um email para: CriandoRoboComArduino@gmail.com

      Excluir
  26. Fiz um carrinho destes mas com motores DC e ponte H. Só que quando ele se move parece que só executa a funçao moveFrente ( ), ele não desvia dos obstaculos o programa que estou usando é o seu codigo adptado para ponte H.Voce poderia me dá alguma idéia ?

    ResponderExcluir
    Respostas
    1. Olá, tem o mesmo robô com ponte h e motor dc veja no link: http://www.criandorobocomarduino.com/2014/10/caraut-v2-criando-um-robo-autonomo-com.html faça o que mostra no tutorial que ira funcionar normalmente.

      Excluir
  27. Mas no meu caso eu queria utilizar dois motores DC, mudaria muita coisa ?

    ResponderExcluir
    Respostas
    1. Sim, pois os comandos e a biblioteca são diferentes.
      faça ele com o outro robô CarAut V2! :)

      Excluir

O seu comentário estará aguardando aprovação.