Buenas noches, tal vez podrían ayudarme con un problema que estoy teniendo con mi programación, estoy realizando mi Proyecto para mi Tesis de titulación. El código se ejecuta de manera optima, el tema esta cuando lo programo para que al pulsar 2 Push Button, me lea esos 2 pulsos y me aparezca en el lcd un mensaje detectando esos 2 pulsos. No lo detecta.
Como podría hacer?
Adjunto código:
//PINES A UTILIAR
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int MOTOR=7;
int UR1=6;
int UR2=5;
int UR3=4;
int UR4=3;
int UR5=2;
int START=13;
int SW1;
int SW2;
int SW3;
int SW4;
int SW5;
//INICIAMOS CONFIGURACIÓN
void setup()
{
Wire.begin();
lcd.begin(16,2);
lcd.clear();
lcd.backlight(); //ENCIENDE LA LUZ DE FONDO
//lcd.nobacklight() APAGA LA LUZ
lcd.setCursor(0,0);
lcd.print(" PROCESS GO ");
lcd.setCursor(0,1);
lcd.print(" MOTOR ON ");
pinMode(6, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
pinMode(13, INPUT);
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
}
//CICLO REPETITIVO
void loop()
{
if(digitalRead(6)==LOW)
{
delay(500);
digitalWrite(7, LOW);
SW1=digitalRead(6);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR OFF ");
lcd.setCursor(0,1);
lcd.print(" UR1 ");
}
if(digitalRead(5)==LOW)
{
delay(500);
digitalWrite(7, LOW);
SW2=digitalRead(5);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR OFF ");
lcd.setCursor(0,1);
lcd.print(" UR2 ");
}
if(digitalRead(4)==LOW)
{
delay(500);
digitalWrite(7, LOW);
SW3=digitalRead(4);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR OFF ");
lcd.setCursor(0,1);
lcd.print(" UR3 ");
}
if(digitalRead(3)==LOW)
{
delay(500);
digitalWrite(7, LOW);
SW4=digitalRead(3);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR OFF ");
lcd.setCursor(0,1);
lcd.print(" UR4 ");
}
if(digitalRead(2)==LOW)
{
delay(500);
digitalWrite(7, LOW);
SW5=digitalRead(2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR OFF ");
lcd.setCursor(0,1);
lcd.print(" UR5 ");
}
if(digitalRead(13)==HIGH)
{
delay(500);
digitalWrite(7, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR ON ");
lcd.setCursor(0,1);
lcd.print(" OK ");
}
bool val=digitalRead(SW1&&SW2);
if(val==LOW)
{
delay(500);
digitalWrite(7, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" MOTOR OFF ");
lcd.setCursor(0,1);
lcd.print(" UR1 & UR2 ");
}
}
cuando le añadí el último párrafo, se cambia solo la imagen del LCD.