robo arduino com Ci L293D e sensor ultrassonico fixo

( 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);
}

posts: https://www.youtube.com/watch?v=7DpAmqgob1k

https://www.youtube.com/watch?v=D1xzWO2gX9M

Exibições: 1726

Comentar

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)

Comentário de adriano rogerio barbato em 28 maio 2017 às 18:01

Boa tarde! Desculpe a demora, muita aula.

Vou Verificar corretamente minha base de dados e te retorno.

Comentário de SANDRIGO DOS SANTOS SCHMITT em 22 maio 2017 às 10:06

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

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço