Bibliotecas
Inclua as bibliotecas na pasta “libraries” dentro da pasta de instalação do Arduíno que normalmente fica em “c:\arquivos de programas\Arduino”.
Para sensor ultrasônico: https://github.com/filipeflop/Ultrasonic/archive/master.zip
Para Shield AFMOTOR: https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master
Código exemplo para o Robô
//Carrega a biblioteca do sensor ultrassonico
#include <Ultrasonic.h>
//Carrega a biblioteca do Shield AFMOTOR
#include <AFMotor.h>
//Define os pinos para o trigger e echo
#define pino_trigger 9
#define pino_echo 10
AF_DCMotor motorD(2); //seleciona o motor 2
AF_DCMotor motorE(3); //seleciona o motor 3
//Inicializa o sensor nos pinos definidos acima
Ultrasonic ultrasonic(pino_trigger, pino_echo);
void setup() {}
void frente(int tempo){
motorE.setSpeed(255);
motorD.setSpeed(255);
motorE.run(FORWARD);
motorD.run(FORWARD);
delay(tempo);
}
void re(int tempo){
motorE.setSpeed(255);
motorD.setSpeed(255);
motorE.run(BACKWARD);
motorD.run(BACKWARD);
delay(tempo);
}
void parar(int tempo){
motorE.setSpeed(0);
motorD.setSpeed(0);
motorE.run(BACKWARD);
motorD.run(BACKWARD);
delay(tempo);
}
void esquerda(int tempo){
motorE.setSpeed(200);
motorD.setSpeed(100);
motorE.run(FORWARD);
motorD.run(BACKWARD);
delay(tempo);
}
void direita(int tempo){
motorE.setSpeed(2000);
motorD.setSpeed(100);
motorE.run(FORWARD);
motorD.run(BACKWARD);
delay(tempo);
}
void loop() {
//Faz a leitura da distancia do sensor
float centimetros;
long microsec = ultrasonic.timing();
centimetros = ultrasonic.convert(microsec, Ultrasonic::CM);
//final do código para a leitura do sensor
if(centimetros<10){
parar(1000);
}
frente(100);
/*
parar(150);
esquerda(450);
parar(150);
esquerda(450);
parar(150);
esquerda(450);
parar(150);
direita(350);
parar(150);
direita(350);
parar(150);
direita(350);
parar(150);
*/
}
