#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); //TX y RX respec.
int ENA{3};
int ENB{6};
int IN1{2};
int IN2{4};
int IN3{5};
int IN4{7};
void setup() {
// put your setup code here, to run once:
//BT.begin(9600);
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
//pinMode(9, INPUT_PULLUP);
//pinMode(10, INPUT_PULLUP);
//pinMode(11, INPUT_PULLUP);
}
int estadoPines[3]{0,0,0};
char leer{' '};
void loop() {
//int estadoPines[3];
// for (int i = 0; i < 3; i++) {
// estadoPines[i] = digitalRead(i+9);
// }
//leer = estadoPines[0]*1 + estadoPines[1]*2 + estadoPines[2]*4 +1;
if(BT.available()>0){
leer=BT.read();
}
switch(leer){
case '1':
Adelante();
break;
case '2':
Atras();
break;
case '3':
Derecha();
break;
case '4':
Izquierda();
break;
case '5':
Detener();
break;
case '6':
GiroHorario();
break;
case '7':
GiroAntihorario();
break;
}
analogWrite(ENA,50);
analogWrite(ENB,10);
}
void Adelante(){
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void Atras(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void Derecha(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void Izquierda(){
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void Detener(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void GiroHorario(){
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void GiroAntihorario(){
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}