#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#define BUTTON_PIN 2 // Пін, на який підключена кнопка
#define SERVO_PIN 9 // Пін, на який підключений сервопривід
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo servo;
int angle = 0; // Початковий кут сервопривода
void setup() {
lcd.init();
lcd.backlight();
pinMode(BUTTON_PIN, INPUT_PULLUP);
servo.attach(SERVO_PIN);
}
int state = 0;
int lastBtnState = HIGH;
void loop() {
lcd.clear();
int btnState = digitalRead(BUTTON_PIN);
if (btnState != lastBtnState) {
if (btnState == LOW) {
state ++;
}
}
lastBtnState = btnState;
if (state == 0) {
return;
}
else if (state % 2 != 0) {
angle += 1;
if (angle > 180)
angle = 0;
}
else {
angle -= 1;
if (angle < 0)
angle = 180;
}
servo.write(angle);
lcd.setCursor(0, 0);
lcd.println(angle);
delay(15);
}