Aparición de un mensaje cuando pulso 2 Push Button

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.

¿Seguro que quieres asignar a la variable " val " la lectura analogica del puerto 0 o 1?

bool val=digitalRead(SW1&&SW2);

Piensalo .

¿O quizas querias que hiciera?:

if (SW1 == LOW && SW2 == LOW){
    delay(500);
    digitalWrite(7, LOW);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(" MOTOR OFF ");
    lcd.setCursor(0, 1);
    lcd.print(" UR1 & UR2 ");
  }

PD:
Por favor, lee las Normas del foro y edita tu código usando etiquetas de código.
Ve a edición:

luego selecciona todo el código que has publicado, lo cortas y click en </>


Y luego lo pegas.
Edita el post usando esta guía que te he dejado. No sigas respondiendo sin antes hacerlo, o algun moderador te llamara la atencion.

Bueno han pasado 8 días y no has comentado nada más, pero cuando alguien dice que esto es para una titulación permite que te digamos que aparte de los fallos en el código que demuestra estar hecho por un novato presentas:

-Un código sin tabular.
-No hay comentarios.
-Variables en modo cascada (Es decir todas son globales y todas las que puedas poner y más).
-Variables de un tipo superior en cuanto a memoria en comparación al uso que va a tener.
-Las variables de los pines luego se desaparecen en el pin mode y vuelves a poner los números.
-Condicionales que ya son booleans que son comparados con == true == false.

¿Cómo va a ser esto, un código para una titulación, si aparte de estar mal y ser un ejercicio básico presenta estos fallos? Por favor cuando se tengan dudas, id a la cuestión en sí y dejad de inventar.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.