Hola quiero hacer que cuando indico un numero desde una app por bluetooth se encienda o apague un pin y que en pantalla muestre un texto según numero seleccionado. Cuando lo hago funciona todos pero cada vez que selecciono un numero en pantalla se muestran todos los mensajes uno a uno y no solo el de la acción ingresada.
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
SoftwareSerial miBT(10, 11); // pin 10 como RX, pin 11 como TX
LiquidCrystal_I2C lcd(0x27,20,4);
char DATO = 0; // variable para almacenar caracter recibido
int DIGITAL = 2;
int COCINA = 3;
int COMEDOR = 4;
int USB = 5;
void setup(){
miBT.begin(38400);
pinMode(DIGITAL, OUTPUT);
pinMode(COCINA, OUTPUT);
pinMode(COMEDOR, OUTPUT);
pinMode(USB, OUTPUT);
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
}
void loop(){
if (miBT.available()){
DATO = miBT.read();
{
if( DATO == '1' )
digitalWrite(DIGITAL, HIGH);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("DIGITAL");
lcd.setCursor(4,1);
lcd.print("ENCENDIDO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '2' )
digitalWrite(DIGITAL, LOW);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("DIGITAL");
lcd.setCursor(4,1);
lcd.print("APAGADO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '3' )
digitalWrite(COCINA, HIGH);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("COCINA");
lcd.setCursor(4,1);
lcd.print("ENCENDIDO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '4' )
digitalWrite(COCINA, LOW);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("COCINA");
lcd.setCursor(4,1);
lcd.print("APAGADO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '5' )
digitalWrite(COMEDOR, HIGH);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("COMEDOR");
lcd.setCursor(4,1);
lcd.print("ENCENDIDO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '6' )
digitalWrite(COMEDOR, LOW);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("COMEDOR");
lcd.setCursor(4,1);
lcd.print("APAGADO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '7' )
digitalWrite(USB, HIGH);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("USB");
lcd.setCursor(4,1);
lcd.print("ENCENDIDO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
if( DATO == '8' )
digitalWrite(USB, LOW);
lcd.clear();
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("USB");
lcd.setCursor(4,1);
lcd.print("APAGADO");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TABLERO");
lcd.setCursor(5,1);
lcd.print("INTELIGENTE");
}
}
}