#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h> //Servo library
Servo servo; // Creating a servo object we can give any variable name
int servoPin = 9; // Defining the digital pin for the servo
int pushPin=2;
int resetPin=3;
int degreeStep=5;
int degree=0;
LiquidCrystal_I2C lcd(0x27, 16, 2); // Assuming I2C address 0x27 for LCD
void setup() {
servo.attach(servoPin);
servo.write(degree);
Serial.begin(9600); // Initialize serial communication
pinMode(pushPin, INPUT);
pinMode(resetPin, INPUT);
lcd.init();
lcd.backlight();
servo.attach(servoPin); // Attach the servo to the specified pin
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Survo degree ");
lcd.print(degree);
}
void loop() {
bool flag=digitalRead(pushPin);
bool flagReset=digitalRead(resetPin);
if(flag==1){
degree=degree>179?0:degree+degreeStep;
servo.write(degree);
//Serial.println(degree);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Survo degree ");
lcd.print(degree);
delay(100);
}
if(flagReset==1){
degree=0;
servo.write(degree);
//Serial.println(degree);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Survo degree ");
lcd.print(degree);
}
}