// Program motor servo
// by Muhammad Abi Rafdi
// XI TEK 2
#include <ESP32Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo motor;
int merah = 26;
int biru = 13;
int data1;
int data2;
int posisi = 0;
void setup() {
Serial.begin(9600);
pinMode(merah, INPUT_PULLUP);
pinMode(biru, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("Membaca Sudut");
motor.attach(5);
motor.write(0);
motor.write(posisi);
delay(3000);
}
void loop() {
data1 = digitalRead(26);
Serial.println(data1);
data2 = digitalRead(13);
lcd.setCursor(3,1);
lcd.print(posisi);
lcd.setCursor(7,1);
lcd.print("Derajat");
if(data1 == LOW){
posisi += 5;
if (posisi > 180) {
posisi = 180;
}
motor.write(posisi);
lcd.setCursor(3, 1);
lcd.print(posisi);
lcd.setCursor(7,1);
lcd.print("Derajat");
delay(200);
}
if(data2 == LOW){
posisi -= 5;
if (posisi < 0){
posisi = 0;
}
lcd.setCursor(0, 1);
lcd.print(" ");
motor.write(posisi);
lcd.setCursor(3,1);
lcd.print(posisi);
lcd.setCursor(7,1);
lcd.print("Derajat");
delay(200);
}
}