// Autor Joaquim Herdy Menezes - Joahermen Amobrezyl - 18K15
// Ponte H L298N - Bluetooth
#include
SoftwareSerial Bluetooth(8,9); // Pino RXD no Pino D9 do Aruino e Pino TXD no Pino D8 do Arduino
int EnablDir = 2; // ENB
int EnablEsq = 3; // ENA
int MotorDirM = 10; // N4
int MotorDirW = 11; // N3
int MotorEsqM = 12; // N2
int MotorEsqW = 13; // N1
int Veloz;
char Komando;
void setup() {
Bluetooth.begin(9600); // Seta Frequencia para o Bluetooth
pinMode(MotorDirM, OUTPUT); // Seta para Saida de Dados
pinMode(MotorDirW, OUTPUT); // Seta para Saida de Dados
pinMode(MotorEsqM, OUTPUT); // Seta para Saida de Dados
pinMode(MotorEsqW, OUTPUT); // Seta para Saida de Dados
}
void loop() {
Veloz = 191; // Fixa os Motores em 3/4 da Velocidade Maxima
if(Bluetooth.available()){ // Caso algum comando via Bluetooth foi enviado
Komando = Bluetooth.read(); // seleciona a acsao correspondente
}
switch (Komando)
{
case 'S': // Parar
digitalWrite(MotorDirM, LOW);
digitalWrite(MotorDirW, LOW);
digitalWrite(MotorEsqM, LOW);
digitalWrite(MotorEsqW, LOW);
analogWrite(EnablDir, 0);
analogWrite(EnablEsq, 0);
break;
case 'F': // Avansar
digitalWrite(MotorDirM, HIGH);
digitalWrite(MotorDirW, LOW);
digitalWrite(MotorEsqM, HIGH);
digitalWrite(MotorEsqW, LOW);
analogWrite(EnablDir, Veloz);
analogWrite(EnablEsq, Veloz);
break;
case 'B': // Recuar
digitalWrite(MotorDirM, LOW);
digitalWrite(MotorDirW, HIGH);
digitalWrite(MotorEsqM, LOW);
digitalWrite(MotorEsqW, HIGH);
analogWrite(EnablDir, Veloz);
analogWrite(EnablEsq, Veloz);
break;
case 'R': // Direita
digitalWrite(MotorDirM, LOW);
digitalWrite(MotorDirW, HIGH);
digitalWrite(MotorEsqM, HIGH);
digitalWrite(MotorEsqW, LOW);
analogWrite(EnablDir, Veloz);
analogWrite(EnablEsq, Veloz);
break;
case 'L': // Esquerda
digitalWrite(MotorDirM, HIGH);
digitalWrite(MotorDirW, LOW);
digitalWrite(MotorEsqM, LOW);
digitalWrite(MotorEsqW, HIGH);
analogWrite(EnablDir, Veloz);
analogWrite(EnablEsq, Veloz);
break;
}
}
|