utlilizei o seguinte sktche:
// plataforma robótica com sensor ultrasonico
#include<Ultrasonic.h>// biblioteca de controle do sensor
int velocidadeM1=10;// pino PWM que é conectado ao primeiro pino do L293 que controla a velocidade do motor1
int velocidadeM2=6;// controle da velocidade do motor2
int direcao1M1=9;// os pinos abaixo controlam as duas pontes H do L293D
int direcao2M1=8;
int direcao1M2=5;
int direcao2M2=4;
#define pino_trigger 3
#define pino_echo 2
//Inicializa o sensor nos pinos definidos acima
Ultrasonic ultrasonic(pino_trigger, pino_echo);
int distancia;// armazena a distancia lida pelo sensor
void setup()
{
pinMode(velocidadeM1,OUTPUT);
pinMode(direcao1M1,OUTPUT);
pinMode(direcao2M1,OUTPUT);
pinMode(velocidadeM2,OUTPUT);
pinMode(direcao1M2,OUTPUT);
pinMode(direcao2M2,OUTPUT);
}
void loop() { // escreveremos as funções para os movimentos da plataforma robótica
//Le as informacoes do sensor, em cm e pol
long microsec = ultrasonic.timing();
distancia = ultrasonic.convert(microsec, Ultrasonic::CM);
frente();// inicializa seguindo para frente
if(distancia<=50){// aqui você pode alterar as distancias
// AbAIXO FIZ UM EXEMPLO DE ROTINA AO ATINGIR A CONDIÇAO, PODE ALTERAR A VONTADE
re();
delay(1000);
direita();
delay(1000);
frente();
if(distancia>50){// PODERIA USAR um else{}
frente();
}
}
}
// definição das funçoes usadas no loop
void frente(){
analogWrite(velocidadeM1,155);// pode alterar a veocidade do motor 1 e 2 de 0 a 255 ( se muito baixo ele não gira);
analogWrite(velocidadeM2,155);
digitalWrite(direcao1M1,HIGH);
digitalWrite(direcao2M1,LOW);
digitalWrite(direcao1M2,HIGH);
digitalWrite(direcao2M2,LOW);
}
void re(){
analogWrite(velocidadeM1,150);
analogWrite(velocidadeM2,150);
digitalWrite(direcao1M1,LOW);
digitalWrite(direcao2M1,HIGH);
digitalWrite(direcao1M2,LOW);
digitalWrite(direcao2M2,HIGH);
}
void parar(){
digitalWrite(direcao1M1,LOW);
digitalWrite(direcao2M1,LOW);
digitalWrite(direcao1M2,LOW);
digitalWrite(direcao2M2,LOW);
}
void direita(){
analogWrite(velocidadeM1,0);
analogWrite(velocidadeM1,50);.......
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por