//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
int ledPin1 = 2;//LED ROJO1. Asigno al pin 2 como variable de tipo entero
int ledPin2 = 3;//LED ROJO2. Asigno al pin 3 como variable de tipo entero
int ledPin3 = 4;//LED AMARILLO. Asigno al pin 4 como variable de tipo entero
int btn = 7;//Asigno al pin 7 como variable de tipo entero
int state = HIGH;
void setup() {
pinMode (7, INPUT);//Defino el pin 7 como entrada
pinMode (2, OUTPUT);//Defino el pin 2 como salida
pinMode (3, OUTPUT);//Defino el pin 3 como salida
pinMode (4, OUTPUT);//Defino el pin 4 como salida
lcd.init();//Inicia la pantalla lcd
lcd.backlight();//Enciende la luz de la pantalla lcd
}
void loop() {//COMIENZA EN ESTADO ALTO MOSTRANDO MENSAJE DE "PRECAUCION"
while ((digitalRead(7)==LOW) & (state == HIGH)){//LEE SI EL ESTADO DEL BOTON ES "ALTO" (NO PRESIONADO)
lcd.setCursor(0,0);//Posición del cursor en la primera línea
lcd.print("***PRECAUCION***");//Muestra el mensaje
digitalWrite(2, LOW);//Led rojo apagado
digitalWrite(3, LOW);//Led rojo apagado
digitalWrite(4, HIGH);//Led amarillo encendido
}
while ((digitalRead(7)==HIGH) & (state == HIGH)){//LEE SI EL ESTADO DEL BOTON ES "BAJO" (PRESIONADO)
lcd.setCursor(0,0);//Posición del cursor en la primera línea
lcd.print("**BARRERA BAJA**");//Muestra el mensaje
lcd.setCursor(0,1);//Posición del cursor en la segunda línea
lcd.print(" **PARE** ");//Muestra el mensaje
digitalWrite(2, HIGH);//Led rojo encendido
digitalWrite(3, LOW);//Led rojo apagado
digitalWrite(4, LOW);//Led amarillo apagado
delay(500);//Delay de 0.5 segundos
digitalWrite(2, LOW);//Led rojo apagado
digitalWrite(3, HIGH);//Led rojo encendido
digitalWrite(4, LOW);//Led amarillo apagado
delay(500);//Delay de 0.5 segundos
lcd.clear();//Limpia la pantalla
}
}