Neste vídeo vamos criar um RSL ou Robô Seguidor de linha.
Esse projeto pode servir de base para outros tipos de Robôs e é uma boa opção para começar competições internas em escolas e assim desenvolver o raciocínio lógico.
Apresentação: Júlio Vansan Gonçalves
Materiais:
- Kit Chassi com Motor com rodas
- Driver Ponte H L298n
- Sensor Seguidor De Linha Infravermelho Tcrt5000 Arduino
- Arduino Nano
- Adaptador Base Para Expansão Do Arduino Nano
- Kit jumpers
- pilhas
Códigos usados no vídeo
#define motorEF 6 // Motor ESQUERDO anda para FRENTE
#define motorET 7 // Motor ESQUERDO anda para TRÁS
#define motorDF 4 // Motor DIREITO anda para FRENTE
#define motorDT 5 // Motor DIREITO anda para TRÁS
#define pwmE 10 // PWM motor ESQUERDO
#define pwmD 9 // PWM motor DIREITO
#define SensorEsquerdo A1 // Pino analógico para o sensor do lado ESQUERDO
#define SensorDireito A0 // Pino analógico para o sensor do lado DIREITO
#define velocidade 100 //Controle de velocidade do PWM
#define branco 80 //Definição da intensidade do branco
#define preto 200 //Definição da intensidade do preto
void tras(void) // Ambos motores são acionados reversamente, o robô anda para TRÁS
{
digitalWrite(motorEF, 1);
digitalWrite(motorET, 0);
digitalWrite(motorDF, 1);
digitalWrite(motorDT, 0);
}
void frente(void) // Ambos motores são acionados, o robô anda para FRENTE
{
digitalWrite(motorEF, 0);
digitalWrite(motorET, 1);
digitalWrite(motorDF, 0);
digitalWrite(motorDT, 1);
}
void esquerda(void) // Apenas o motor direito é acionado, virando para ESQUERDA
{
digitalWrite(motorEF, 0);
digitalWrite(motorET, 0);
digitalWrite(motorDF, 0);
digitalWrite(motorDT, 1);
}
void direita(void) // Apenas o motor esquerdo é acionado, virando para DIREITA
{
digitalWrite(motorEF, 0);
digitalWrite(motorET, 1);
digitalWrite(motorDF, 0);
digitalWrite(motorDT, 0);
}
void para(void) // Todos motores ficam parados
{
digitalWrite(motorEF, 0);
digitalWrite(motorET, 0);
digitalWrite(motorDF, 0);
digitalWrite(motorDT, 0);
}
void setup() {
//Serial.begin(9600);
pinMode(motorEF,OUTPUT);
pinMode(motorET,OUTPUT);
pinMode(motorDF,OUTPUT);
pinMode(motorDT,OUTPUT);
pinMode(pwmE,OUTPUT);
pinMode(pwmD,OUTPUT);
Serial.println("iniciando");
}
void loop(){
int valorSenDir = analogRead(SensorDireito);
int valorSenEsq = analogRead(SensorEsquerdo);
Serial.print("Sensor Direito= ");
Serial.print(valorSenDir);
Serial.print(" || Sensor Esquerdo= ");
Serial.print(valorSenEsq);
analogWrite(pwmE,velocidade);
analogWrite(pwmD,velocidade);
if((valorSenEsq < branco ) && (valorSenDir < branco)) {
frente();
Serial.println(" Andando para Frente");
}
else if((valorSenEsq > preto ) && (valorSenDir < branco)) {
esquerda();
Serial.println(" Vira Esquerda");
}
else if((valorSenEsq < branco) && (valorSenDir > preto)) {
direita();
Serial.println(" Vira Direita");
}
else if((valorSenEsq > preto) && (valorSenDir > preto)) {
para();
Serial.println(" STOP");
}
}
#RSL #RoboSeguidordeLinha #carrinho #diversão #automação #DIY #maker #microcontrolador #façavocemesmo #tcc #sugestãoTCC #Projeto #arduino
Curta, compartilhe e inscreva-se para ficar atualizado com os nossos conteúdos!
Para saber mais sobre o Canal Projeto Bacana:
E-mail: contato@projetobacana.com.br
Site: https://www.projetobacana.com.br/
Facebook: https://www.facebook.com/projetobacana.com.br
Instagram: https://www.instagram.com/projetobacana.com.br/
Youtube: https://www.youtube.com/channel/UC0e1bfaL0-gnAP2KQA5vxqQ