#define PINMOTOR1A 8
#define PINMOTOR1B 9
#define PINMOTOR2A 10
#define PINMOTOR2B 11
#define PINSENSOR 3
#define PINBOMBA 5
//Cambiar a 1 o 0 dependiendo de que valor envie el sensor de flama
#define CONTROLFLAMA 1
char BT = "S";
int sensorflama = 0;
void setup() {
Serial.begin(9600);
pinMode(PINMOTOR1A, OUTPUT);
pinMode(PINMOTOR1B, OUTPUT);
pinMode(PINMOTOR2A, OUTPUT);
pinMode(PINMOTOR2B, OUTPUT);
pinMode(PINSENSOR, INPUT);
pinMode(PINBOMBA, OUTPUT);
frenar();
apagarbomba();
}
void loop() {
sensorflama = digitalRead(PINSENSOR);
if (sensorflama == CONTROLFLAMA) {
Serial.print("1");
}
else{
Serial.print("0");
}
if (Serial.available() > 0) {
BT = Serial.read();
}
switch (BT) {
case 'U':
acelerar();
break;
case 'D':
reversa();
break;
case 'L':
izquierda();
break;
case 'R':
derecha();
break;
case 'S':
frenar();
break;
case 'A':
prenderbomba();
break;
case 'B':
apagarbomba();
break;
}
delay(128);
}
void acelerar() {
digitalWrite(PINMOTOR1A, HIGH);
digitalWrite(PINMOTOR1B, LOW);
digitalWrite(PINMOTOR2A, HIGH);
digitalWrite(PINMOTOR2B, LOW);
}
void reversa() {
digitalWrite(PINMOTOR1A, LOW);
digitalWrite(PINMOTOR1B, HIGH);
digitalWrite(PINMOTOR2A, LOW);
digitalWrite(PINMOTOR2B, HIGH);
}
void izquierda() {
digitalWrite(PINMOTOR1A, HIGH);
digitalWrite(PINMOTOR1B, LOW);
digitalWrite(PINMOTOR2A, LOW);
digitalWrite(PINMOTOR2B, HIGH);
}
void derecha() {
digitalWrite(PINMOTOR1A, LOW);
digitalWrite(PINMOTOR1B, HIGH);
digitalWrite(PINMOTOR2A, HIGH);
digitalWrite(PINMOTOR2B, LOW);
}
void frenar() {
digitalWrite(PINMOTOR1A, LOW);
digitalWrite(PINMOTOR1B, LOW);
digitalWrite(PINMOTOR2A, LOW);
digitalWrite(PINMOTOR2B, LOW);
}
void prenderbomba() {
digitalWrite(PINBOMBA, HIGH);
}
void apagarbomba() {
digitalWrite(PINBOMBA, LOW);
}