( canal no youtube: Robotica santa rita):20161027_151055.jpg
// plataforma robótica com sensor ultrasonico
#include// 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);
digitalWrite(direcao1M1,LOW);
digitalWrite(direcao2M1,LOW);
digitalWrite(direcao1M2,HIGH);
digitalWrite(direcao2M2,LOW);
}
void esquerda(){
analogWrite(velocidadeM1,50);
analogWrite(velocidadeM2,0);
digitalWrite(direcao1M1,HIGH);
digitalWrite(direcao2M1,LOW);
digitalWrite(direcao1M2,LOW);
digitalWrite(direcao2M2,LOW);
}
Comentar
Boa tarde! Desculpe a demora, muita aula.
Vou Verificar corretamente minha base de dados e te retorno.
ola.. gostei muito do seu projeto..
sabe me dizer como consigo cod fontes para usar com servomotor.
tenho um quadripe parado sem cod .. tambem igual ao seu porem com pernas e nao rodas
se puder me ajudar agradeço .. sandrigo.santo@gmail.com
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)