fbpx
Imagem destaque post sr 1

Desenvolvido por 

Robô Autônomo SR 1: o robô autônomo Simples com arduino

Faça o Seu Robô Autônomo com arduino sozinho, um robô que se locomove sozinho pelo ambiente, ao encontrar um obstáculo ele para e da uma ré e verifica automaticamente qual e o lado que é o que tem mais espaço para ele girar e ir sozinho, bem simples de fazer e de compreender o código fonte, muito útil para vários outros projetos e trabalhos de escolas e faculdades. A montagem dele fica pronta em menos de meia hora!

Veja como ficara o Seu Robô após a montagem

O que você precisa para montar o Seu Robô Autônomo SR 1 Simples

  • Qtd - Descrição
  • 1 - Micro Servo 9g sg90 Towerpro
  • 1 - Placa UNO R3 com cabo usb, Arduino
  • 1 - Motor Shield L293D Driver Ponte H para Arduino
  • 1 - Mini Protoboard 170 Pontos
  • 1 - Sensor de Distância Ultrassônico HC-SR04 para Arduino
  • 1 - Kit Chassi 2WD (2 rodas) Robô para Arduino
  • 6 - Jumper (fios) 20cm Macho-Macho
  • 1 - Barra de Pinos 1x40 Fêmea 180 Graus
  • 1 - Buzzer/Speaker (som) 5v
  • 1 - Clip de Bateria 9V , Conector de Bateria
  • 2 - Abraçadeira de Nylon 15cm
  • 5 cm - Cabo (fio)
  • 1 cm - Fita dupla face colada no servo motor
  • 1 - Bateria de 9v Alcalina ou Recarregavel

Vamos ver o que alguns itens fazem

Componente

Explicação do funcionamento do componente

Esse é o Micro servo motor, também conhecido como Mini Servo Motor.

Ele é o responsável por girar até 180° e voltar, em cima do servo vai a Mini Protoboard com o Sensor Ultrassônico para poder calcular qual e a melhor distancia para o robô ir.

Esse é o Arduino UNO, nosso cérebro do robô. 

Nele que fica o programa que enviaremos para a memoria dele, e com esse programa ele consegue fazer um monte de cálculos  e processamento de informação para poder tomar a melhor decisão para locomover o robô.

Esse é o Motor Shield L293D mais conhecido como Ponte H L293D ou Driver de Motor.

Ele que controla para qual direção o motor DC vai girar e qual a velocidade que ele vai funcionar, tudo isso controlado pelo arduino uno.

Esse é o Sensor Ultrassônico, nosso “olho” do robô. 

Através desse sensor que um “olho” do robô, ele emite som em baixa frequência de um lado e o outro aguarda o retorno do som, com isso usamos uma formula no programa para calcular a demora do retorno do som e convertemos isso para a distancia em centímetro e o programa vai calcular qual das distancia e maior para o robô ir nessa direção.

Esse é a base com motor, conhecido como Chassi 2wd ou chassi de 2 rodas. 

Em cima dele que vai todos os componentes do robô e através dele que o robô consegue se mover com os motores DC (corrente continua) com caixa de redução que deixa o robô com mais força.

Esse é Buzzer, Speaker ou Som

Ele é o responsável por fazer o barulho de ré, ele emites sons graves e agudos, que provavelmete irrita muitas pessoas que já estão estressadas.

Os demais componentes não temos muito o que explicamos pois e bem simples o que eles fazem, você ira conferir isso no vídeo de montagem.

Vamos colocar a mão no robô

°
Passo

Soldar os componentes na ponte H

Pessoal, agora que você esta com todos os itens em mãos, antes de irmos para a montagem, precisamos soldar os componentes que requerem solda:

  • Motor Shield L293D Driver Ponte H para Arduino
  • Barra de Pinos 1x40 Fêmea 180 Graus

Vamos pegar a Barra de pinos e corta-la em 3 partes com cada um contendo 6 furos. Pegue a barra conte 7 furos e corte com um alicate em cima do 7 furo, repita. Com isso teremos 3 partes iguais.

Pegue a Ponte h L293D e com o ferro de solda e o estanho solde cada ponto da barra de pinos na ponte h serão 18 soldas.

Veja o vídeo ao lado para compreender mais.

 

Veja o vídeo da solda na ponte h

°
Passo

Montar e Soldar os componentes do kit chassi 2wd

Antes de irmos para a montagem, precisamos soldar os componentes que requerem solda e depois montamos ele.

  • Kit Chassi 2WD (2 rodas) Robô para Arduino (em acrilico ou madeira)
  • Clip de Bateria 9V [Horizontal], conector de bateria ou suporte de bateria
  • Cabo Flexível Remoto de Cobre 1mm Preto 5 cm

Solde os cabos vermelho e preto, um em cada terminal do motor.

Agora, Solde o Clip de bateria  em um terminal do botão liga/desliga.

Pegue o fio de 5cm e solde no outro terminal do botão.

Agora é hora de montar o carrinho, veja o vídeo ao lado para de ajudar

Veja o vídeo da Montagem e Soldagem do Kit Chassi 2wd

°
Passo

Montagem do robô

Após você der soldado todos os componentes necessarios, vamos monta-lo.

Para isso é só você clicar na imagem do lado, e seguir cada fio e conecta-los ao componentes, caso tenha duvida, veja o vídeo tutorial.

Qualquer duvida, deixe um comentário ou entre em contato conosco.

Esquema de ligação Robô Autônomo SR 1

Veja o vídeo, demostrando ele em funcionamento e ensinado a montar o robô

°
E Ultimo Passo

Agora vamos para o Código fonte GRATUITO do nosso robô

Enviar o código fonte para o arduino

Vamos fazer item por item, tudo bem?

Primeiro você tem que instalar o programa no computador/notebook, acesse esse tutorial de como instalar o arduino no computador clicando aqui.  Após instalar volte aqui e siga o restante das informações aqui.

Bibliotecas (librares) usadas no Código do robô

No código do programas usamos umas bibliotecas para reduzir o tamanho do código e facilitar o manuseio do código, com isso é necessário instalar uma biblioteca no arduino, mas não se assuste pois isso e muito fácil veja como:

Bibliotecas usadas para baixar:

Servo.h – Essa biblioteca já vem inclusa no arduino versão 1.6 ou superior
AFMotor.h – Download clique aqui

Como fazer a instalação da biblioteca:

Após baixar a biblioteca, abra o programa do arduino e Instale a biblioteca no menu:

“Sketch” 
“Incluir Biblioteca” (Include Library)
“Adicionar Biblioteca .ZIP” (Add .ZIP Library…)

Selecione o arquivo que você baixou e salvou em uma pasta , e clique em “OK”
Após isso aparecerá a mensagem “Biblioteca adicionada às suas bibliotecas.” , pronto, biblioteca instalada.

Código fonte do Robô Autônomo SR 1

Selecione todo o código fonte abaixo e copie .

Abra o Programa Arduino, clique em no menu “Arquivo” e depois em “Novo” , apague o código exemplo e cole o código, clique no ícone da  “Seta” para enviar o programa para o arduino.

Não sabe como enviar um programa para o arduino? então veja nosso tutorial de como enviar o programa para o arduino clicando aqui

Parabéns! O robô esta pronto, agora é só colocar a bateria e ligar o robô no botão liga/desliga

Código fonte:

/*
------------------------------------------Robô Autonomo SR 1------------------------------------------------
Versão do Software: 1.0 SR 1 //não apague essa linha, para futuras consultas
Software open source, favor citar o autor: Seu Robô https://SeuRobo.com.br/
*/
// inclusão de bibliotecas.    
#include <Servo.h>    // inclui biblioteca de manipulação de servos motores.    
#include <AFMotor.h>   // inclui biblioteca de manipulação de motores DCs.  
//Definindo os pinos  
#define trigPin A0 //Pino TRIG do sensor no pino analógico A0
#define echoPin A1 //Pino ECHO do sensor no pino analógico A1
#define BUZZER A2  // Define o pino do buzzer (Som) no pino ANALÓGICO A0  
AF_DCMotor motor1(1);    // Define o motor1 ligado ao M1  
AF_DCMotor motor2(2);    // Define o motor2 ligado ao M2  
int TempoGirar = 1;//esse é o tempo para o robô girar em 45º com uma bateria de 9v.
int distanciaObstaculo = 30; //distância para o robô parar e recalcular o melhor caminho
int velocidadeMotores = 80; // velocidade que os motores funcionarão na bateria 9v. Para a bateria 9v a velocidade 80 é ideal
Servo servo_ultra_sonico; // nomeando o servo motor    
//variáveis  para o sensor ultrassonico
long duracao;
long distancia_cm=0;
int minimumRange=5; //tempo de resposta do sensor
int maximumRange=200;
// executado na inicialização do Arduino    
void setup(){    
Serial.begin(9600); // inicializa a comunicação serial para mostrar dados     
servo_ultra_sonico.attach(10);  // Define o mini servo motor ligado no pino digital 10.    
pinMode(trigPin, OUTPUT); //define o pino TRIG como saída
pinMode(echoPin, INPUT);  //define o pino ECHO como entrada 
pinMode(BUZZER,OUTPUT);   // Define o pino do buzzer como saída   
motor1.setSpeed(velocidadeMotores);     // Define a velocidade para os motores. A velocidade máxima é 255. 
motor2.setSpeed(velocidadeMotores);     //Usamos uma bateria de 9v 450mAh, com ela a velocidade ficou boa. Mas dependendo da bateria utilizada a velocidade deverá ser utilizada. Não use pilhas, pois são fracas
servo_ultra_sonico.write(90);   // O servo do sensor se inicia a 90 graus (meio)    
rotacao_Parado;  //inica com os motores parados     
}    
// Função principal do Arduino    
void loop(){    
pensar(); //inicia a função pensar  
//Seu Robô http://SeuRobo.com.br/
}    
// Função para chamar outras funções e definir o que o robô fará  
void pensar(){    
reposicionaServoSonar(); //Coloca o servo para olhar a frente    
int distancia = lerSonar(); // Ler o sensor de distância  
Serial.print("distancia em cm: "); 
Serial.println(distancia);   // Exibe no serial monitor 
if (distancia > distanciaObstaculo) {  // Se a distância for maior que 20 cm  
rotacao_Frente(); //robô anda para frente   
}else{   
rotacao_Parado();  //para o robô  
posicionaCarroMelhorCaminho(); //calcula o melhor caminho    
pensar();    
}   
}  
// Função para ler e calcular a distância do sensor ultrassônico    
int lerSonar(){    
digitalWrite(trigPin, LOW); //não envia som
delayMicroseconds(2);
digitalWrite(trigPin,HIGH); //envia som 
delayMicroseconds(10);
digitalWrite(trigPin,LOW); //não envia o som e espera o retorno do som enviado
duracao = pulseIn(echoPin,HIGH); //Captura a duração em tempo do retorno do som.
distancia_cm = duracao/56; //Calcula a distância
delay(30);  
return distancia_cm;             // Retorna a distância  
}   
// Função para calcular a distância do centro    
int calcularDistanciaCentro(){    
servo_ultra_sonico.write(90);    
delay(20);   
int leituraDoSonar = lerSonar();  // Ler sensor de distância  
delay(500);   
leituraDoSonar = lerSonar();   
delay(500);   
Serial.print("Distancia do Centro: "); // Exibe no serial  
Serial.println(leituraDoSonar);   
return leituraDoSonar;       // Retorna a distância  
}    
// Função para calcular a distância da direita    
int calcularDistanciaDireita(){    
servo_ultra_sonico.write(0);   
delay(200);  
int leituraDoSonar = lerSonar();   
delay(500);   
leituraDoSonar = lerSonar();   
delay(500);   
Serial.print("Distancia da Direita: ");  
Serial.println(leituraDoSonar);   
return leituraDoSonar;    
}    
// Função para calcular a distância da esquerda    
int calcularDistanciaEsquerda(){    
servo_ultra_sonico.write(180);   
delay(200);  
int leituraDoSonar = lerSonar();   
delay(500);   
leituraDoSonar = lerSonar();   
delay(500);   
Serial.print("Distancia Esquerda: ");  
Serial.println(leituraDoSonar);   
return leituraDoSonar;    
}    
// Função para captar as distâncias lidas e calcular a melhor distância. Acesse: Seu Robô https://SeuRobo.com.br/    
char calculaMelhorDistancia(){    
int esquerda = calcularDistanciaEsquerda();    
int centro = calcularDistanciaCentro();    
int direita = calcularDistanciaDireita();    
reposicionaServoSonar();    
int maiorDistancia = 0;   
char melhorDistancia = '0';     
if (centro > direita && centro > esquerda){    
melhorDistancia = 'c';    
maiorDistancia = centro;    
}else   
if (direita > centro && direita > esquerda){    
melhorDistancia = 'd';    
maiorDistancia = direita;    
}else  
if (esquerda > centro && esquerda > direita){    
melhorDistancia = 'e';    
maiorDistancia = esquerda;    
}    
if (maiorDistancia <= distanciaObstaculo) { //distância limite para parar o robô   
rotacao_Re();    
posicionaCarroMelhorCaminho();    
}    
reposicionaServoSonar();  
return melhorDistancia;    
}    
// Função para colocar o carrinho na melhor distância, isto é, girá-lo para a melhor distância    
void posicionaCarroMelhorCaminho(){    
char melhorDist = calculaMelhorDistancia();     
Serial.print("melhor Distancia em cm: ");  
Serial.println(melhorDist);  
if (melhorDist == 'c'){    
pensar();    
}else if (melhorDist == 'd'){    
rotacao_Direita();    
}else if (melhorDist == 'e'){    
rotacao_Esquerda();     
}else{    
rotacao_Re();    
}    
reposicionaServoSonar();    
}    
// Função para deixar o sensor "olho" do robô no centro    
void reposicionaServoSonar(){    
servo_ultra_sonico.write(90);   
delay(200);   
}    
// Função para fazer o carro parar    
void rotacao_Parado()    
{    
Serial.println(" Motor: Parar ");
motor1.run(RELEASE); // Motor para  
motor2.run(RELEASE);  
}    
// Função para fazer o robô andar para frente    
void rotacao_Frente()    
{    
Serial.println("Motor: Frente ");   
motor1.run(FORWARD); // Roda vai para frente  
motor2.run(FORWARD);   
delay(50);    
}    
// Função que faz o robô andar para trás e emite som quando ele dá ré    
void rotacao_Re()    
{    
Serial.println("Motor: ré ");  
for (int i=0; i <= 3; i++){
digitalWrite(BUZZER, HIGH); // Liga o som
delay(100);
motor1.run(BACKWARD);    // Roda vai para trás  
motor2.run(BACKWARD);    // Roda vai para trás  
delay(100);  
digitalWrite(BUZZER, LOW); // Desliga o som  
delay(100);
} 
rotacao_Parado();    
}    
// Função que faz o robô virar à direita, https://SeuRobo.com.br/    
void rotacao_Direita()    
{    
digitalWrite(BUZZER, HIGH); // Liga o som
delay(100);
motor1.run(BACKWARD);    //o robô dá uma ré para não colidir ao girar 
motor2.run(BACKWARD);      
delay(50);  
digitalWrite(BUZZER, LOW); // Desliga o som  
delay(100);
Serial.println(" Para a direita ");  
motor1.run(FORWARD); // Roda vai para frente  
motor2.run(BACKWARD); // Roda vai para trás   
delay(TempoGirar);    
}    
// Função que faz o robô virar à esquerda    
void rotacao_Esquerda()    
{    
digitalWrite(BUZZER, HIGH); // Liga o som
delay(100);
motor1.run(BACKWARD);    // // O robô dá uma ré para não colidir ao girar 
motor2.run(BACKWARD);   
delay(50);  
digitalWrite(BUZZER, LOW); // Desliga o som  
delay(100);
Serial.println(" Para a esquerda ");  
motor1.run(BACKWARD); // Roda vai para trás  
motor2.run(FORWARD); // Roda vai para frente  
delay(TempoGirar);    
} 
//Fim 
//Versão do Software: 1.0 SR 1 //não apague essa linha, para futuras consultas

Observações

    • O robô é simples, apresenta falhas. Veja alguns itens que podem ocorrer:
      • Pode acontecer de ele colidir a 45º de um obstáculo.
      • O robô não detecta obstáculos com mais de 10 cm de altura, porque possui o sensor que “encherca” somente em linha reta. como o robô e baixo ele não vai passar em alguns lugares.
      • O código fonte usá lógica booleana, para facilitar o compreendimento a todos os usuários.
 

Não, nos usamos uma bateria recarregável de 9v 450mAh.

Você pode usar uma bateria de alcalina 9v ou usar 6 pilhas recarregáveis.

Pode também usar bateria de lition com um conversor de voltagem para 9v se for maior de 12v. 

Algo muito comum é a diferença de performance para motores do mesmo modelo (esses motores DC com caixa de redução na cor amarela).

No caso dos motores que acompanharam o chassi, essa situação pode ser resolvida a partir de testes de velocidades de cada motor até conseguir fazê-lo andar em linha reta.

Essa modificação de valores referentes à velocidade pode ser realizada alterando a seguinte linha de código:

motor1.setSpeed(velocidadeMotores);
motor2.setSpeed(velocidadeMotores);

Onde esta escrito “velocidadeMotores” você apaga isso, e digite números que variam de 0 a 254.

Com uma bateria nova usamos o valor 80, você vai aumentando ou diminuindo o valor de cada motor até ele andar reto igual você quer.

Não realizamos essa calibração, porque será diferente em cada robô e por isso deixamos um valor único para os dois.

Muito provavelmente a sua bateria esta acabando, quando a bateria reduz a voltagem de saída é normal o robô ficar fraco, você pode fazer duas coisas: 1º Trocar a fonte de energia (bateria, pilha, etc) 2º Você pode aumentar a velocidade dos motores, subindo a numeração que esta nessa parte do código fonte:
int velocidadeMotores = 80;
Esse valor pode ir de 0 a 254, vai aumentando e enviando o codigo para o robô e testando a cada tentitiva

Certo, você já instalou as bibliotecas necessárias para o arduino enviar o código para o robô?

Se não, veja em cima do código fonte tem o item em regrido: “Bibliotecas (librares) usadas no Código do robô​”, siga essa instrução lá que muito provavelmente vai resolver seu problema.

Continuou com erro? deixe um comentário abaixo do post copiando e colando o erro que o arduino esta mostranto.

Chegamos ao final, Muito Obrigado, amante de robótica!

Qualquer dúvida, deixe um comentário ou entre em contato!

Grande abraço!

Gostaria de um projeto ou robô que não temos no site?

Então é só clicar no botão abaixo e nos enviar a sua ideia, analisaremos ela e talvez postemos ela com o credito seu caso queira.

Compartilhe com outro amante de robótica!

Compartilhar no facebook
Compartilhar no twitter
Compartilhar no whatsapp
Compartilhar no email

Comentários

153 comentários em “Robô Autônomo SR 1: o robô autônomo Simples com arduino”

  1. Olá Leonardo,

    Quando fui transferir o ArduinoCode apareceu a mensagem de erro:
    AF.Motor.h: No such file or directory
    exit status 1

    Poderia me ajudar, gostaria de apresentar o robô para meus alunos.
    Grato
    Sylvio

    Responder
    • Olá, Sylvio, tudo bem?

      Isso esta acontecendo pois é preciso baixar a biblioteca do robô, em cima do código fonte aqui no site tem o link e as instruções para instalar ela. 🙂

      Grande abraço!

  2. Olá Leonardo, tudo bem?
    O código desse projeto ficou ótimo! Parabéns! Montei esse mesmo robô autônomo, porém o driver de ponte H que disponho não é esse “Motor Shield L293D Driver Ponte H”, mas sim um driver Ponte H L298N. Nesse driver externo, preciso definir no código os pinos de controle dos dois motores DC assim como o pino PWM para controle de velocidade dos mesmos. Como poderia aproveitar o seu código usando esse driver L298N?

    O código que uso agora é bem mais simples e ainda não contém o servo motor para mover o sensor ultrassônico. Segue abaixo.

    Obrigado desde já!
    Um grande abraço
    Jorge
    (Brasília/DF)

    // Tema: Robo carro
    // Data: 12.12.2019
    // Modificado por: Jorge
    // Controlando motores DC com o Arduino Motor Driver L298N Ponte H

    //Incluindo biblioteca Ultrasonic.h
    #include “Ultrasonic.h”

    //Criando objeto ultrasonic e definindo as portas digitais
    //do Trigger = 9 – e Echo = 10
    Ultrasonic SensorUltrassonico1(9, 10);

    long Microsegundos = 0; // Variável para armazenar o valor do tempo da reflexão do som refletido pelo objeto fornecido pela biblioteca do sensor
    float DistanciaemCM = 0; // Variável para armazenar o valor da distância a ser convertido por uma função da própria bilbioteca do sensor

    #define VelocidadeMotorLadoEsquerdo 3
    #define MotorLadoDireito1 4
    #define MotorLadoDireito2 5

    #define VelocidadeMotorLadoDireito 6
    #define MotorLadoEsquerdo1 7
    #define MotorLadoEsquerdo2 8

    //===== Escolhe a velocidade dos motores =====//
    int ValorVelocidadeMotorLadoDireito = 100; //Estava 100 que é o mínimo com a fonte externa de 9V
    int ValorVelocidadeMotorLadoEsquerdo = 255; //Estava 128 que é o mínimo com a fonte externa de 9V

    const int buzzer = 11; // Define o pino do buzzer ou alto-falante……….

    void setup() {

    //===== Definições de entrada e saída =====//
    pinMode(MotorLadoEsquerdo1, OUTPUT);
    pinMode(MotorLadoEsquerdo2, OUTPUT);
    pinMode(MotorLadoDireito1, OUTPUT);
    pinMode(MotorLadoDireito2, OUTPUT);
    pinMode(VelocidadeMotorLadoDireito, OUTPUT);
    pinMode(VelocidadeMotorLadoEsquerdo, OUTPUT);

    Serial.begin(115200);// Inicia a comunicação seria com velocidade de 115200 bits por segundo
    pinMode(buzzer, OUTPUT);

    delay(300);// Tempo de espera para inicialização (para dar tempo de por o robô no chão)
    }

    void loop() {

    tone(buzzer, 6000); // Emitir beep sonoro na frequencia de 5000 Hz
    delay(60); // durante 100ms
    noTone(buzzer); // parar o beep

    //Convertendo a distância em CM e lendo o sensor
    DistanciaemCM = SensorUltrassonico1.convert(SensorUltrassonico1.timing(), Ultrasonic::CM);

    Serial.print(DistanciaemCM);
    Serial.println(” cm”);

    if (DistanciaemCM <= 40) { // Se a distância lida pelo sensor for menor ou igual que 40 centimetros
    //Velocidade motor lado esquerdo
    analogWrite( VelocidadeMotorLadoEsquerdo, ValorVelocidadeMotorLadoEsquerdo);
    //digitalWrite(VelocidadeMotorLadoEsquerdo, ValorVelocidadeMotorLadoEsquerdo);

    //Velocidade motor lado direito
    analogWrite( VelocidadeMotorLadoDireito, ValorVelocidadeMotorLadoDireito);
    //digitalWrite( VelocidadeMotorLadoDireito, ValorVelocidadeMotorLadoDireito);

    // Motor lado esquerdo para trás
    digitalWrite(MotorLadoEsquerdo1, HIGH);
    digitalWrite(MotorLadoEsquerdo2, LOW);

    // Motor lado direito para trás
    digitalWrite(MotorLadoDireito1, HIGH);
    digitalWrite(MotorLadoDireito2, LOW);

    delay(400); // Tempo que ficará indo para trás

    // Motor lado esquerdo para frente
    digitalWrite(MotorLadoEsquerdo1, LOW);
    digitalWrite(MotorLadoEsquerdo2, HIGH);

    // Motor lado direito para trás
    digitalWrite(MotorLadoDireito1, HIGH);
    digitalWrite(MotorLadoDireito2, LOW);

    delay(200); // Tempo que ficará indo para o lado direito
    }

    else { // Se não, ou seja, se a distância for maior que 40 centimetros
    delay(400); // Tempo que ficará indo para trás
    //Velocidade motor lado esquerdo
    analogWrite(VelocidadeMotorLadoEsquerdo, ValorVelocidadeMotorLadoEsquerdo);
    //digitalWrite(VelocidadeMotorLadoEsquerdo, ValorVelocidadeMotorLadoEsquerdo);

    //Velocidade motor lado direito
    analogWrite(VelocidadeMotorLadoDireito, ValorVelocidadeMotorLadoDireito);
    //digitalWrite(VelocidadeMotorLadoDireito, ValorVelocidadeMotorLadoDireito);

    // Motor lado esquerdo para frente
    digitalWrite(MotorLadoEsquerdo1, LOW);
    digitalWrite(MotorLadoEsquerdo2, HIGH);

    // Motor lado direito para frente
    digitalWrite(MotorLadoDireito1, LOW);
    digitalWrite(MotorLadoDireito2, HIGH);
    }
    }

    Responder
  3. olá, fiz o robo e copiei a programação, baixei as bibliotecas e defini velocidade dos motores e potencia da bateria (9v) mas apareceu esta mensagem de erro:

    Arduino: 1.8.9 (Windows 7), Placa:”Arduino/Genuino Uno”

    sketch_nov20a:1:1: error: stray ‘\303’ in program

    Versão do Software: 1.0 SR 1 //não apague essa linha, para futuras consultas

    ^

    sketch_nov20a:1:1: error: stray ‘\243’ in program

    sketch_nov20a:2:1: error: stray ‘\303’ in program

    Software open source, favor citar o autor: Seu Robô https://SeuRobo.com.br/

    ^

    sketch_nov20a:2:1: error: stray ‘\264’ in program

    sketch_nov20a:1:1: error: ‘Vers’ does not name a type

    Versão do Software: 1.0 SR 1 //não apague essa linha, para futuras consultas

    ^

    In file included from C:\Program Files (x86)\Arduino\libraries\Servo\src/Servo.h:63:0,

    from C:\Users\junior\Documents\Arduino\sketch_nov20a\sketch_nov20a.ino:5:

    C:\Program Files (x86)\Arduino\libraries\Servo\src/avr/ServoTimers.h:57:41: error: ‘timer16_Sequence_t’ does not name a type

    typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t;

    ^

    exit status 1
    stray ‘\303’ in program

    Podem me ajudar?

    Responder
    • Olá, Natan, tudo bem?
      Cara é algum erro na biblioteca do servo, vai no arduino no menu
      Sketch -> incluir Biblioteca -> Gerenciar bibliotecas, pesquisa sobre “servo” e clica em atualizar.

      Veja se isso vai resolver.
      grande abraço

  4. Olá amigo, fiz o projeto deu tudo certo, o problema é que uma roda gira mais do que a outra e o robô não fica alinhado, como faço para calibrar os dois motores?

    Responder
    • Olá, Jefferson, tudo bem?
      Algo muito comum é a diferença de performance para motores do mesmo modelo (esses motores DC com caixa de redução na cor amarela).

      No caso dos motores que acompanharam o chassi, essa situação pode ser resolvida a partir de testes de velocidades de cada motor até conseguir fazê-lo andar em linha reta.

      Essa modificação de valores referentes à velocidade pode ser realizada alterando a seguinte linha de código:

      motor1.setSpeed(velocidadeMotores);
      motor2.setSpeed(velocidadeMotores);
      Onde esta escrito “velocidadeMotores” você apaga isso, e digite números que variam de 0 a 254.

      Com uma bateria nova usamos o valor 80, você vai aumentando ou diminuindo o valor de cada motor até ele andar reto igual você quer.

      Não realizamos essa calibração, porque será diferente em cada robô e por isso deixamos um valor único para os dois.

      Um grande abraço

  5. montei exatamente como os conformes PORÉM, o código mesmo copilado e a montagem toda ok (verifiquei mil vezes) o robô não está fazendo os comandos e, creio eu, que seja o arduino que esteja apitando mas não faço ideia do que possa ser !!!!

    Responder
  6. Estou tendo problemas com o sensor ultrassônico, de apenas identificar a distância de qualquer objeto como 0 cm, o que devo fazer?
    Já instalei as bibliotecas, chequei a velocidade das portas, a velocidade do código e até testei o sensor em outro código, e funcionou, poderia me dizer algum meio de solucionar esse problema?
    Já não tenho mais ideias de como resolver.

    Responder
    • Olá, Thomaz, tudo bem?
      Você verificou se os fios estão ligados corretamento no sensor? por via das duvidas, inverta os fios de dados dele, e testa, a alimentação esta chegando no sensor?
      Como assim vc testou em outro código e funcionou? só não funciona no código o robô sr 1?
      Se vc já testou ele separadamente, esta chegando energia nele, testou em outras postas do arduino e nada, pode ser o sensor com defeito de fabrica mesmo, eu já peguei uns com defeito assim.
      grande abração

  7. Utilizei o power bank mas ele só da carga ao sensor ultrassônico. Não funciona nas rodas.

    Responder
    • Olá, Leonardo, se for bateria comum ela some rapidinho, se for alcalina ela gasta em uns 10 minutos, se você tiver uma powerbank pode usar no robô que vai durar mais.
      Abraço

  8. Ola Leonardo, beleza?
    Cara, estou postando mais uma vez pois um problema persiste: o robo funciona normalmente, só que muitas vezes da pau e fica rodando em circulos, ja montei o SR 2 e agora estou com o sr1 montado, o problema ocorre nos dois projetos, o robo roda em circulos, quase em torno do proprio eixo, ja tentei de tudo, mas o estranho é que as vezes o robo funciona normalmente, sera alguma interferencia dos motores? devo tentar colocar capacitores nos motores? Por favor, me dá uma luz aí.
    Abraços e até mais.

    Responder
  9. Fala meu brother, tudo bem…
    Então, o sensor ultrassônico fica fazendo somente leitura de “0”…

    Responder
    • Olá, Henrique, tranquilo?
      Já respondi seu email com os possíveis problemas, ta uma olhada la.
      qualquer coisa me pergunta aqui ou lá.
      abraço

    • Olá, Fernando, tudo bem?
      O buzzer não é necessário, é apenas um barulho quando ele vai dar ré.
      Provavelmente e bateria fraca, vc pode tentar trocar ela ou aumentar a velocidade do motor no código (se não conseguir me fala aqui que eu faço um passo a passo).
      Abraço

  10. Ola Leonardo, o robô começa a mexer o servo e então ele fica parado, e as vezes o robo começa a andar para trás em círculos somente com uma roda.
    No programa do Arduíno, não consigo abrir a função “Porta” e quando tento passar o código para o Arduíno, aparece que a uso demasiado de espaço.
    Oque eu faço?

    Responder
    • lá, Nuran, tudo bem?

      Cara, o servo sempre vai parar virado para a frente mesmo, se for isso que eu entendi.

      Do robô girando em um lado, provavelmente e mal contato nos fios do motor na ponte h, se ele ficar andando para trás e só inverter o positivo e negativo na ponte h.

      Já do arduíno você pode reinstalar o programa com o Arduino ligado.

      Qualquer coisa me chama

      Abraço

  11. Olá Leonardo, o problema com o sensor está resolvido, mas apareceu outro problema agora. O robo sai em linha reta normalmente, ate encontrar um obstaculo, ai ele vira o servo, dá marcha a ré e começa a girar sem parar, quase em torno do proprio eixo, ai eu coloco a mão em frente ao sensor, ele para, vira o servo, dá marcha a ré e sai em linha reta novamente, ate encontrar um novo obstaculo, ei ele fica “louco” de novo, vira o servo, da marcha a ré e começa a andar pra frente só que em circulos fechados. O que poderia ser? Já tentei acertar a velocidade dos motores varias vezes, mas não adianta nada. O robo em questão é o SR-1.
    Desde já, muito obrigado.

    Responder
    • Certo, Antonio.
      Veja se a variável TempoGirar esta com 1 se não, altere para um novamente e enviei para o robô novamente.
      Abraço

  12. Olá,

    Parabéns pela iniciativa de ensinar e dividir um pouco do seu conhecimento conosco.

    Fiz o Robô de acordo com as instruções, está tudo ligado corretamente, o programa rodou sem erro. Porém o motor das rodas não liga.

    O que posso fazer neste caso?

    Responder
    • Olá, Michele.

      Obrigado pelos elogios, isso nos ajuda a crescer mais!

      Provavelmente teve estar mal conectados os fios dos motores na ponte h, verifique por favor, se não esta, verifique a alimentação, pois se não tiver energia suficiente o robô não sai do lugar.

      Qualquer coisa me pergunta aqui.

      Obrigado pelo contato!

  13. Leonardo, Tudo Bem?
    Eu realizei a montagem do kit robo , ele nao esta lendo o objeto que esta em sua frente, ele nao dar re ao se deparar com um obstaculo.
    voce poderia me passar alguma coisa para eu dentar arrumar isso? Talves eu possa ter errado tbm kkk.
    Obg !!

    Responder
    • Olá, Carlos, estou bem e vc?
      provavelmente o sensor ultra esta ou com mal contato ou ligado incorretamente, ligue o robô no pc e ativa o monitor serial e veja se aparece a distancia se não aparecer verifique as ligações dele.
      Grande abraço

  14. Olá Leonardo, parabéns pelo trabalho.
    Leonardo, gostaria de saber se posso usar outra ponte H, como pôr exemplo: Ponte H L298 H-bridge Motor Driver Board 2a?

    Responder
    • Olá, Harley, tudo bem?
      Obrigado!
      Pode sim, porem tem que alterar o código e o esquema de ligação dele.
      Já estou desenvolvendo uma nova versão desse robô com essa ponte h, sai o tutorial ainda esse mês.
      Grande abraço!

  15. Jogo o código no programa do arduino e da o erro ‘servo_ultra_sonico’ was not declared in this scope o que pode ser que está errado

    Responder
    • Olá, Kevin, tudo bem?
      Esse erro esta ocorrendo pois provavelmente você não tem a biblioteca servo instalada no arduino.
      Vai no menu “ferramentas” -> “gerenciar bibliotecas” -> pesquisa por “servo” provavelmente vai ser o segundo resultado, que vai estar escrito: servo Built-in by Michael Margolis – > coloca o mouse em cima dele e vai aparecer o botão instalar, clica nele e aguarde e compile o código novamente.
      grande abraço

    • Olá, Richard, tudo bem?
      O Código fonte esta completo e esta testado, funcionando perfeitamente!
      É o melhor, totalemtne gratuito e sem pedir email em troca! 🙂
      Grande abraço!

  16. Olá Leonardo.
    Primeiro parabéns pelo site. Seus tutoriais são muito bons. Estão me auxiliando muito.
    Leonardo tenho uma dúvida sobre um projeto a qual estou na fase de desenvolvimento. É um robô autônomo 4WD, que irá andar estacionar sozinho após receber o comando de estacionar via aplicação móvel javascript. A ideia inicial é o robô receber o comando para estacionar, procurar uma vaga disponível, e logo após um período de tempo sair da vaga, dar ré e continuar seu trajeto. Você tem alguma dica de como eu poderia proceder na construção dessa função ?
    Abraços.
    Luís Henrique

    Responder
    • Olá, Luis Henrique, tudo bem?
      Obrigado, vai vir mais conteúdo por esses dias, fica ligado aqui!
      Projeto interessante, colocarei na minha lista de projetos a fazer.
      Ele vai ser um pouco complicado, pois você vai der que colocar sensores em todos os ângulos para o robô não colidir em outro veiculo ou sair da entrada, vai der que programar ele para parar a frente do outro veiculo com algum sensor para medir a distancia tipo o ultrassônico mesmo, tem varias coisas para tentar fazer, mas de inicio tenta fazer elle andar pela estrada sem sair dela, começa pelo mais simples.
      Conseguir de dar uma luz?
      Grande abraço!

  17. Ola, Leonardo !
    Então, fui baixar o codigo e ele veio em pdf só que não abre.
    Você tem ideia do que aconteceu?
    Oque devo fazer?
    Obrigado!!

    Responder
    • Olá, Carlos, o arquivo esta zipado, vá na pasta aonde você salvou ele e clica com o botão direito e clica em extrair, pronto!

  18. OI Amigo, tudo bem?
    Eu comprei um drive de motor, já veio com pinos laterais para acoplar no arduino,
    vi que num vídeo seu você solda pinos?
    isso?
    ou o seu já vem sem os pinos soldados?
    grato

    Responder
  19. Olá Leonardo
    Obrigado pelo artigo. Tenho aprendido muito com os tutoriais.
    Infelizmente as baterias de 9V descarregam muito rapidamente e acabam alterando o comportamento do veiculo autônomo.
    Como poderia monitorar a tensão de entrada para atuar de forma mais inteligente no projeto?
    Abraços
    João Rodrigues

    Responder
    • Olá, João, que legal cara!
      Você pode fazer um multímetro com o arduino e quando a bateria for diminuindo tem como criar uma variável para a velocidade dos motores ir aumentando. Compreendeu?
      Grande abraço!

  20. Olá Leonardo
    Parabéns por sua iniciativa de incentivar a robótica.
    Estou com problema para controlar a velocidade dos motores. O robot sempre faz uma curva leve para a esquerda.
    Além disso os motores só funcionam com valor de velocidade acima de 127, e não faz diferença nenhuma com qualquer valor acima de 127.
    Você pode me ajudar?
    Obrigado
    João Rodrigues

    Responder
    • Olá, João!
      Obrigado, esta prestes a vir mais projetos por ai…

      Cara provavelmente a sua bateria já esta ficando fraca, pois quando mais fraca fica maior e o numero da velocidade do robô.

      Grande abraço

  21. Olá amigo
    Tudo bem?
    Ótimo projeto
    Eu montei o robô, ele não anda, gira o sensor e o motor chega a dar impulso mas não gira, as vezes ele consegue ir, mas empurrando ele no início, mas logo para
    Gostaria de saber o que pode ser?
    Falta de alimentação?
    Estou usando bateria de 9v
    Todos os conectores ligado certo
    Obrigado

    Responder
    • Olá, Jonathan, tudo bem e com vc?

      Cara, muito provável de ser falta de energia, vc esta usando uma bateria alcalina ou recarregável? se sim, ela já pode estar descarregando, ai você pode ir no código fonte e aumentar a velocidade do robô e enviar para ele e ir testando.

      Vê isso ai e me fala depois.

      Abraço

  22. Bom dia!

    O sensor ultrassônico não está fazendo a leitura, tá tudo ligado, da forma como mostra o esquemático, pode me ajuda?

    PS* Já fizemos testes com outros sensores, descartando a possibilidade de ser erro e/ou defeito do mesmo.

    Responder
    • Olá, Renanh, tudo bem?

      Certo, se não é ligação e nem o sensor ruim, pode ser a solda ruim na ponte h, ta um confere lá, por favor.

      Qualquer coisa estou aqui!

  23. ola eu fui instalar a biblioteca no arduino e diz que a biblioteca nao é valida como posso reolver isso

    Responder
    • Olá, Gabriel, tudo bem?
      Certo, você pode descompactar o arquivo, copiar a pasta e colar na pasta de documentos -> arduino -> library
      E agora é só enviar o código para o arduino. 🙂

  24. Boa tarde. Parabéns pelo projeto, muito bom mesmo!
    Estou com um problema: o robô estava com o problema de andar apenas para trás, contudo inverti os polos e ele passou a andar normalmente para frente. Entretanto, ele para antes de chegar perto de algum obstáculo, na verdade ele só vai para frente. Até mesmo quando encontra algum obstáculo ele continua indo para frente. Poderia me ajudar?

    Responder
    • Olá, Jayneanderson, tudo bem?
      Agradecemos muito seus elogios, em breve vai der mais projetos!
      Provavelmente é o sensor ultrassônico que não esta ligado direito ou esta sem energia, ligue o robô no computador e abra o arduino e abra o serial monitor, veja se esta mostrando a distancia, se estiver com 0 é o sensor que não esta ligado corretamente, ai vc arruma e testa novamente, se deu certo, inverta os cabos na ponte h novamente pois ele ficara andando par atras agora.
      Qualquer coisa é só falar.

  25. Gostaria de saber se posso usar uma bateria de 12 volts no robô, atualmente estou usando a de 9 volts mas não está sendo suficiente pro robô ela perde a carga muito rápido.

    Responder
    • Olá, Júnior, tudo bem?
      Pode sim, ou pode usar a bateria mesmo aí basta ir alterando a velocidade do motor subindo a numeração e enviando para o Arduino.
      Obrigado pelo contato!

  26. Oi João o meu estava dando esse mesmo problema, tudo funcionando corretamente mas andava apenas para trás, é um probleminha com polaridade, inverta os cabos que saem do motor, são 4 no Total, é só inventer que ele andará pra frente.

    Responder
    • Olá, Renato, tudo bem?
      Nesse projeto ele não vai funcionar, a menos que você altere o código fonte e as ligações para faze-lo funcionar com essa ponte h.
      Obrigado pelo contato!

  27. olá amigo, fiz todos os procedimentos e orobô começa certo depois ele não vira mais o sensor e fica parado sem saber para onde ir e nem movimentar as rodas.

    Responder
    • Olá, Mario tudo bem?
      Isso provavelmente é a bateria ficando fraca, você tem que ir no código fonte e aumentar a velocidade do motor, fica no inicio do código, pode ir aumentando e enviando para o robô e ir testando até ele funcionar.
      Obrigado pelo contato!

  28. Olá, td bem Seu robo?
    Então, realizei todos os passos do vídeo e quando fui ligar o robô ele estava andando para trás e parava e fazia isso td hora
    Como faço para arrumar?

    Responder
    • Olá, João, tudo bem?
      Provavelmente é o sensor ultrassônico ligado incorretamente ou com mal contato nos fios, verifique por favor.
      Coloque sua mão na frete do robô e tampe o sensor, e veja se ele vai andar para a frente, se isso ocorre, inverta os cabos dos motores na ponte h, aonde esta o vermelho coloca o preto…
      Obrigado pela visita!

  29. Boa tarde!
    O meu robô está funcionando só que ele anda para a direção ao contrária (para trás) e ele para e o sensor ultrassonico vira para todos os lados e anda só que para trás
    Como arrumo essa parte?

    Responder
    • Olá, João, tudo bem?
      Provavelmente é o sensor ultrassônico ligado incorretamente ou com mal contato nos fios, verifique por favor.
      Obrigado pela visita!

  30. Olá tudo bem?
    Então, eu realizei todos os procedimentos e quando fui passar o código para a placa Arduino e foi feito com sucesso, porém a minha placa estava fazendo um barulho e o robô não está funcionando
    O que devo fazer com essa situação?

    Responder
    • Olá, João, estou bem e vc?
      A Placa UNO esta fazendo barulho? se for ela esta com defeito, mas eu nunca vi uma placa uno fazendo barulho.
      Você esta usando bateria alcalina?
      Obrigado pelo contato!

  31. os motores estão franco o que sera que pode ter acontecido, alguem pode me ajuda

    Responder
    • Olá, João, tudo bem?
      Isso acontece pois a bateria esta ficando fraca, você pode ir no código e alterar a velocidade do motor aumentando o numero lá e testando para ver qual vai ficar melhor.
      Espero de ajudado.
      🙂

    • Olá, Vinicius, tudo bem?
      isso esta ocorrendo pois você esqueceu de instalar a biblioteca AFMotor.h.
      AFMotor.h – Download clique aqui

      Como afazer a instalação da biblioteca:
      Após baixar a biblioteca, abra o programa do arduino e Instale a biblioteca no menu: Sketch > Incluir Biblioteca (Include Library) > Adicionar Biblioteca .ZIP (Add .ZIP Library…) Selecione o arquivo que você baixou e salvou em uma pasta (Afmotor.zip) , e clique em OK após isso aparecerá a mensagem “Biblioteca adicionada às suas bibliotecas.” , pronto, biblioteca instalada.

      Sucesso no projeto!

  32. Posso fazer esse tutorial mas invés do sensor ultrassônico usar o sensor infra-vermelho? aguardo resposta

    Responder
    • Olá, Carlos, tudo bem?
      Poder até pode, porem vai der que alterar bastante coisas no código, pois o sensor de infra ele só vai dar um valor 0 ou 1, ele não vai medir a distancia somente vai falar se tem algo na distancia pre programada (chave) no sensor.
      Espero der ajudado.
      Obrigado pelo contato!

  33. ei amigo tem alguma coisa para baixar o AFMotor.h que e uma linha de codigo que tenho que colocar na biblioteca
    se tiver o link para mim baixar agradeço ou se eu deixei passar alguma coisa me avise

    Responder
    • Olá, Thales, tudo bem?

      É só baixar a biblioteca no link:
      Como afazer a instalação da biblioteca:
      Após baixar a biblioteca, abra o programa do arduino e Instale a biblioteca no menu: Sketch > Incluir Biblioteca (Include Library) > Adicionar Biblioteca .ZIP (Add .ZIP Library…) Selecione o arquivo que você baixou e salvou em uma pasta (Afmotor.zip) , e clique em OK após isso aparecerá a mensagem “Biblioteca adicionada às suas bibliotecas.” , pronto, biblioteca instalada.

      Obrigado!

  34. Olá podem ajudar aparece o seguinte : Arduino: 1.8.7 (Windows 7), Placa:”Arduino/Genuino Uno”

    C:\Users\familia\AppData\Local\Temp\untitled833371154.tmp\sketch_oct06a\AutonomoSR_versao_1_0.ino: In function ‘void setup()’:

    AutonomoSR_versao_1_0:30:8: error: redefinition of ‘void setup()’

    void setup(){

    ^

    C:\Users\familia\AppData\Local\Temp\untitled833371154.tmp\sketch_oct06a\sketch_oct06a.ino:1:6: note: ‘void setup()’ previously defined here

    void setup() {

    ^

    C:\Users\familia\AppData\Local\Temp\untitled833371154.tmp\sketch_oct06a\AutonomoSR_versao_1_0.ino: In function ‘void loop()’:

    AutonomoSR_versao_1_0:43:8: error: redefinition of ‘void loop()’

    void loop(){

    ^

    C:\Users\familia\AppData\Local\Temp\untitled833371154.tmp\sketch_oct06a\sketch_oct06a.ino:6:6: note: ‘void loop()’ previously defined here

    void loop() {

    ^

    exit status 1
    redefinition of ‘void setup()’

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    Responder
    • Olá, Theilor, tudo bem?

      Por favor atualize o seu programa arduino e baixe novamente o código fonte e compile por favor.

      Obrigado!

    • Olá, Wendel, tudo bem?
      Veja se você seguiu o tutorial inteiro, veja se instalou a biblioteca, se mesmo assim continuar com o erro, por favor copiei o erro que aparece no arduino e cole aqui.
      Obrigado! 🙂

  35. boa noite estou tentando compilar a programação para o arduino mas esta dando erro: Arduino: 1.8.6 Hourly Build 2018/07/20 10:33 (Windows 8), Placa:”Arduino/Genuino Uno”

    O sketch usa 5380 bytes (16%) de espaço de armazenamento para programas. O máximo são 32256 bytes.
    Variáveis globais usam 431 bytes (21%) de memória dinâmica, deixando 1617 bytes para variáveis locais. O máximo são 2048 bytes.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_recv(): programmer is not responding
    Problema ao carregar para a placa. Veja http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugestões.

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    Responder
    • Olá, Lucas, tudo bem?

      Veja no programa arduíno, no menu ferramentas – placas e veja se está selecionando o arduíno uno.

      Veja se a porta também está selecionada.

      Obrigado pelo contato!

  36. Boa tarde , é sobre o robô autônomo , vcs já colocaram um capacitor de pelo menos de 2200 microfarads x16 volts em paralelo com a bateria de 9 volts respeitando a polaridade do capacitor , os servos devido a sua carga e interferência estar causando esto na placa do arduino pois as placas do arduino tem cristal e no sensor ultrasonico tbm , as ondas que a placa do arduino gera são triangulares já que o CI atmega é um microprocessador , ai os servo causa interferência na mesma , e era para os servos terem alimentação separada da do arduino , e use o capacitor para eliminar isto se não ele fica louco , boa sorte a equipe de o se robô . Att: Paulo

    Responder
  37. vcs , já colocaram um capacitor eletrolítico em paralelo com a bateria de 9 volts , respeitando a polaridade do capacitor na bateria
    um capacitor a partir de 1000 microfarads , se não der certo tente um de ate 5500 microfarads(eletrolítico) o que estar havendo é interferência dos servos na placa do arduino , e onde tem cristal tem osciladores , tem um cristal no sensor de ultrason , e na placa do arduino uno, os servos são motores , e motores gera interferência , que ve teste isto com o osciloscópio , o processador atmega do arduino trabalha com clock(talvez seja igual a de PC(ondas triangulares, (rampa)). Att: Paulo

    Responder
  38. Olá equipe Seu Robô, tudo bem?

    Ao compilar o código aparece a seguinte mensagem: ‘AF_DCMotor’ do not name a type.
    O’que devo fazer ?
    Obrigado!

    Responder
    • Olá, Marcio, estou bem e vc?
      Esse erro ocorre pois provavelmente não foi instalada a biblioteca do motor, por favor baixe ela e siga o tutorial de instalação que se encontra tudo no mesmo post. Qualquer coisa é só chamar!
      Obrigado pelo contato!

    • Olá, Luís.
      Você pode ver o preço e o valor do frete na nossa loja:
      Obrigado pelo contato!

  39. avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
    Ocorreu um erro enquanto o sketch era carregado

    O que fazer?

    Responder
    • Olá, por favor, feche tudo, abra somente o programa do arduino, agora abra o código fonte e teste, se não funcionar, reinstale a biblioteca por favor.
      Qualquer coisa é só falar.
      Obrigado pelo contato!

  40. Boa noite montei mas meu projeto , apenas o servo esta funcionando fica pra direita centro esquerda sem parar e nao anda
    Tentei de tudo

    Responder
    • Olá, Edson, muito provável de ser sua bateria que esta fraca, você pode aumentar o valor da velocidade do motor no inico do coridog para ver se a bateria ainda tem forças para alimentar o projeto.
      Obrigado pelo contato!

  41. Alguem pode me ajudar

    Tenho uma ponte H, não usei o Shild o que eu mudo no codigo para que ele funcione o motor ?

    Responder
  42. Quando vou carregar o código fonte para o arduino aparece esse erro “avrdude: ser_open(): can’t set com-state for “\\.\COM3” “, acha que pode me ajudar ?

    Responder
    • Olá, Bernardo, tudo bem? provavelmente a porta do arduino não foi selecionada no programa ou esta selecionada errada. confira e me de um retorno aqui.
      obrigado pelo contato!

  43. Bom dia!

    Montei o carrinho, ele andou e funcionou perfeitamente, porém, passados uns 10 minutos ele acionava corretamente o sensor para desviar dos obstáculos, porém, não andava mais, as roda pararam, a energia não acionava mais as rodas. Gostaria de uma ajuda, como por exemplo, será que devo ligar outra bateria para carregar mais anergia na placa.

    Grato,

    Alexandre.

    Responder
    • Olá, Alexandre, tudo bem?
      Isso ocorreu pois a bateria já ficou fraca para o robô, você pode aumentar a velocidade dos motores no código fonte, pode ir de 0 a 254, veja se ele vai funcionar, pro favor.
      Obrigado pelo contato!

  44. O robô funciona conectado no PC mas quando deixo ele ligado só na bateria ele não funciona, estou usando uma placa arduino mega 2560 será que tem alguma relação ?

    Responder
    • Olá, Diego, tudo bem?
      Não tem problema usar o Mega, o problema esta sendo a bateria que você esta usando ela provavelmente esta fraca, você pode colocar uma bateria alcalina e se já for aumente a velocidade dos motores no código fonte.
      Espero der ajudado. 🙂

  45. da pra usar um display lcd keypad shield 16×02 com teclado para mostrar as informações

    Responder
    • Olá, Isaac.
      Infelizmente não, pois o display usa portas digitais que a ponte h esta usando. as únicas portas livres são as analógicas.
      Abraços

  46. Já tentei baixar varios tipos de bibliotecas da ponte H, até agora nenhuma deu certo, fiz todos os procedimentos.

    Responder
  47. Olá boa noite, após algumas horas de trabalho, tudo montado e ele não funcionou. Reparei que as rodas giravam lentamente, dai dei uma olhada no código e aumentei a velocidade do motor, e ele funcionou. Parabéns pelo tutorial e muito obrigado por disponibilizá-lo.

    Responder
    • Olá, Fernando.
      Que ótimo que você conseguiu resolver sozinho, parabéns! A velocidade tem que ir alterando de acordo com o consumo de bateria, quando mais descarregada, maior a velocidade para o robô andar.
      Muito obrigado pelos elogios, isso nos fortalece para continuarmos postado mais robôs gratuitamente!
      Obrigado pelo contato!

  48. Boa tarde, to fazendo esse projeto, mais meu arduino é o arduino uno e eu uso o shild motor, como isso quando eu uso a biblioteca AF_DCMotor ele não consegue fazer meus motores rodar, que no caso no seu projeto você chama m1 e m2, no meu projeto os motores são conectados nos pinos analógicos 12 e 13, e com isso não funciona o código funciona normal só não os motores.

    Tem alguma forma de eu conectar esse meus motores e algum outro pino para chamar nesse biblioteca?

    Responder
    • Olá, Vanderlan.
      Qual é o modelo do seu shild motor? para podermos descobrir o que é.
      Obrigado pelo contato!

  49. opa amigo, montei tudo direitinho
    mandei o código para a placa
    e nao esta funcionando
    oque pode ser?

    Responder
    • Olá, Kelvin, tudo bem?

      Certo, o robô movimenta alguma coisa? se você abrir o serial monitor do arduino com ele ligado no computador, ele mostra a medida que esta calculando?

      Obrigado!

  50. Olá amigo. Estou passando para parabenizar seu trabalho. Foi a partir de seu site “Criando Robô com Arduino” que eu comecei nesse fantástico mundo da robótica. Desde sempre fui apaixonado por robótica porém só depois de velho foi possível realizar este sonho. Tenho alguns projetos (robôs) feitos com arduíno, mas o que mais gosto é do meu robô autônomo. Comecei com sua ideia e acrescentei luzes e sons ao robozinho…..ficou muito bom! Agradeço a você por compartilhar seu conhecimento,.

    Responder
    • Olá, Wagner!
      Ficamos imensamente felizes com um depoimento desse!
      Nosso objetivo é esse mesmo, levar conhecimento para todos gratuitamente, a nossa empresa começou justamente pois não encontramos nada de um robô autônomo.
      Fica de olho no site pois ira vir muito mais projetos gratuitos!
      Obrigado mesmo, seu elogio nos incentiva muito mais!
      Parabéns pelas modificações no Seu Robô!

  51. Boa noite, Amigo parabéns . Muito bem explicado e detalhado. Montei o meu e só ascendeu as luzes do arduino e ponte H, mas ainda não aconteceu nada. Não anda, não mexe o servo da cabeça. Mas estou tentando. Parabéns.

    Responder
    • Olá, Juliano, agradecemos!
      Provavelmente o programa não foi gravado no arduino, e lembre-se tem que ser baterias de alcalina para ele andar.
      Obrigado pelo comentário!

  52. Bom Dia Amigo,

    Parabéns o projeto ficou ótimo.
    Fiz o meu exatamente como você indicou, porém está muito lento como se a bateria estivesse descarregada. Mas coloquei novas e ocorreu o mesmo erro.
    As vezes nem chega a andar, somente quando tiro ele do chão e dou uma forçada na roda. Porém quando coloco no chão novamente ele não vai e fica fazendo um barulho no motor como se estivesse travado pra andar.
    Outra dúvida é se o peso pode estar influenciando neste problema, pois ao meu ver não deveria, vi que esse motor tem um torque de até 5,5 kg com uma alimentação de 6V.

    Responder
    • Bom dia, Wellington, tudo bem?

      Que bom que gostou!
      Esse problema e por causa de energia, provavelmente sua bateria não e alcalina ou esta descarregada, coloque uma bateria de 9v alcalina que vai funcionar!
      O peso influencia no consumo de energia.

      Muito obrigado pela visita!

    • Tudo bem sim.

      Obrigado pela dica !

      Vou testar.
      Só mais uma dúvida, eu posso substituir as rodas por esteiras?
      Ou se fizer devo mudar algo na progamação?

    • Por nada! 🙂

      Se a esteira tiver somente 2 motores DC não precisa mudar nada se ela tiver 4 motores aí tem que alterar no código.
      Muito obrigado!
      Volte sempre e aproveite e veja a nossa loja.

  53. Olá fiz o robô só que ele não anda fica vibrando já testei com fonte de 9v e ainda não funciona.
    Preciso de uma ajudinha com este projeto é irei fazer várias modificações obrigado.

    Responder
    • Olá, Igor, tudo bem?
      Você pode testar os motores ligando 5v direto neles, se funcionar pode ser algum mal contato nos fios ou no encaixe da ponte H.
      Qualquer coisa estamos aqui!

  54. Fiz o robô igual ao do vídeo, segui todos os passos, porém, quando copio e colo o código, da um erro, gostaria de ajuda.

    Responder
    • Olá, José Iranildo, tudo bem?

      você pode colar o erro aqui para eu poder de ajudar, mais provavelmente é por falta de biblioteca, em cima do código fonte tem um pequeno tutorial par abaixar e instalar a biblioteca.

      Aguardo seu retorno.
      Obrigado!

    • O meu acontece a mesma coisa, e a mensagem que aparece é :
      C:\Users\Aionilce\Desktop\Engenharia Química\Arduino\Trab_arduino\Trab_arduino.ino:3:79: fatal error: AFMotor.h: No such file or directory

      compilation terminated.

      exit status 1
      Erro compilando para a placa Arduino/Genuino Uno

    • Olá, Nilce, tudo bem?

      Esse erro ocorre pois você não baixou e instalou a biblioteca AFMotor, no blog tem em cima do código fonte a biblioteca e o tutorial para instalar.

      Muito obrigado pelo contato!

  55. Olá amigo, muito legal o projeto, tanto que acabei montando um igual, porém ao final os motores chegam até a vibrar, porém nenhum deles gira como se faltasse força, porém eu até adicionei uma bateria auxiliar na Arduino de 9V e continua não funcionando, conseguiria me ajudar? Agradeço desde já =)

    Responder
    • olá, Nicolas, tudo bem?

      Provavelmente é bateria mesmo, tem que usar bateria alcalina se for da comum do faz barulho no motor, se mesmo assim não funcionar, altere no código a velocidade do motor reduzindo ela um pouco, pode funcionar.
      Até mais!

    • Olá, tem como alterar por outra ponte h, mas ai tem que alterar o código fonte.
      Obrigado pelo contato!

    • Olá, Fernando, tudo bem?

      Leia na campo preto do arduino o que esta escrito no erro, copiei e cole aqui para a gente analisar.
      Obrigado!

  56. Olá, enviei um comentário porem ainda não foi aprovado e não obtive respostas para minha duvida em relação ao erro no arduino, vocês poderiam me ajudar por favor!

    Responder
    • Olá, Milena, tudo bem?
      Sim nós recebemos o seu comentário porem não aprovamos pois pedimos o relatório completo do erro por EMAIL com o endereço que você deixou no comentário, para poder facilitar a resolução do seu problema.
      Por favor, veja a sua caixa de mensagem no email e nos responda com o relatorio de erro do arduino.
      Deste já agradecemos muito sua compreensão e sua visita aqui no nosso site!

    • Olá, Eduardo.
      Não, pois a ponte h que controla os motores sem ela não é possível controla-los.
      Se você quiser usar outra ponte h pode, porem tem que alterar o código fonte para funcionar.
      Agradecemos sua visita!

  57. Bom dia Amigo

    Eu montei o robô sera necessário passa os código para ele ou ele ja vem pronto para usa se for necessário passa os código como devo faze fico no aguardo

    Responder

Deixe um comentário

Veja os Tutoriais de ROBÔS mais recentes

Veja os TUTORIAIS mais recentes

Veja os Tutoriais de PROJETOS mais recentes