#include <Wire.h>
#include<LiquidCrystal_I2C.h> lupuna_lcd(0x27,16,2);
#include <Servo.h>

// Inicialización del LCD
LiquidCrystal_I2C lupuna_lcd(0x27, 16, 2);

// Inicialización del Servo
Servo lupuna_Servo;

// Pines para los LEDs
const int ledRojo = 7;
const int ledVerde = 8;

void setup() {
  // Inicialización de los pines de los LEDs
  pinMode(ledRojo, OUTPUT);
  pinMode(ledVerde, OUTPUT);
  
  
  lupuna_lcd.init();
  lupuna_lcd.backlight();
  lupuna_lcd.setCursor(0, 0);
  lupuna_lcd.print("   Comp. Automatica   ");
  lupuna_lcd.setCursor(0, 1);
  lupuna_lcd.print("      Iniciando      ");
  delay(2000);
  
  // Inicialización del Servo
  lupuna_Servo.attach(9);
  lupuna_Servo.write(0); 
  delay(1000); 
  
  lupuna_lcd.clear();
  lupuna_lcd.setCursor(0, 0);
  lupuna_lcd.print("------");
}

void loop() {
  // Abrir la compuerta
  abrirCompuerta();
  delay(3000); // Esperar 3 segundos
  
  // Cerrar la compuerta
  cerrarCompuerta();
  delay(3000); // Esperar 3 segundos
}

void abrirCompuerta() {
  lupuna_Servo.write(180);
  digitalWrite(ledVerde, HIGH);  
  digitalWrite(ledRojo, LOW);
  lupuna_lcd.clear();
  lupuna_lcd.setCursor(0, 0);
  lupuna_lcd.print(" Welcome ");
  lupuna_lcd.setCursor(0, 1);
  lupuna_lcd.print("  lupunita    ");
}

void cerrarCompuerta() {
  lupuna_Servo.write(0); 
  digitalWrite(ledVerde, LOW); 
  digitalWrite(ledRojo, HIGH);
  lupuna_lcd.clear();
  lupuna_lcd.setCursor(0, 0);
  lupuna_lcd.print("see later");
}

$abcdeabcde151015202530354045505560fghijfghij