#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#define BOTON PA0
#define LED PA5
#define SERVO PA6
Servo servoMotor;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(BOTON, INPUT_PULLUP);
pinMode(LED, OUTPUT);
servoMotor.attach(SERVO);
Wire.setSDA(PB7);
Wire.setSCL(PB6);
Wire.begin();
lcd.init();
lcd.backlight();
servoMotor.write(0);
lcd.setCursor(0,0);
lcd.print("PUERTA CERRADA");
}
void loop() {
if (digitalRead(BOTON) == LOW) {
// BOTON PRESIONADO
digitalWrite(LED, HIGH);
servoMotor.write(90);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PUERTA ABIERTA");
delay(2000);
} else {
// BOTON LIBERADO
digitalWrite(LED, LOW);
servoMotor.write(0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PUERTA CERRADA");
}
delay(100);
}