#include <Servo.h>
#include <LiquidCrystal_I2C.h>
Servo myservo;
int angle = 0;
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void printAngle(int angle) {
lcd.setCursor(0, 0);
if (angle < 10){
lcd.print("00");
lcd.print(angle);
}
else if (angle < 100){
lcd.print('0');
lcd.print(angle);
}
else {
lcd.print(angle);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Hello wrld");
myservo.attach(9);
pinMode(12, INPUT_PULLUP);
pinMode(13, INPUT_PULLUP);
myservo.write(0);
lcd.init();
lcd.backlight();
}
void loop() {
if (digitalRead(12) == LOW)
{
if (angle != 180) angle+=10;
myservo.write(angle);
printAngle(angle);
delay(50);
}
if (digitalRead(13) == LOW)
{
if (angle != 0) angle -= 10;
myservo.write(angle);
printAngle(angle);
delay(50);
}
}