#include <ESP32Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD (0x27, 16, 02);
Servo arm;
float pos = 0.0;
float step = 1.0;
int potpin = 14;
int val;
int B;
void setup()
{
Serial.begin(9600);
pinMode(12, INPUT_PULLUP);
pinMode(13, INPUT_PULLUP);
arm.attach(2);
arm.write(pos);
LCD.init ();
LCD.backlight ();
}
void loop()
{
if (!digitalRead(14))
{
val = analogRead(potpin);
B = map(val, 0, 4095, 0, 180);
arm.write(val); // sets the servo position according to the scaled value
delay(15);
}
// if (!digitalRead(13))
// {
// if (pos>0)
// {
// arm.write(pos);
// pos-=step;
// delay(5);
// LCD.setCursor (0, 0);
// LCD.print ("<- ");
// delay(300);
// LCD.clear();
// LCD.setCursor (0, 1);
// LCD.print ("Arm Degree: ");
// LCD.setCursor (13, 1);
// LCD.print (pos);
// }
// }
// if (!digitalRead(12))
// {
// if (pos<180)
// {
// arm.write(pos);
// pos+=step;
// delay(5);
// LCD.setCursor (0, 0);
// LCD.print (" ->");
// delay(300);
// LCD.clear();
// LCD.setCursor (0, 1);
// LCD.print ("Arm Degree: ");
// LCD.setCursor (13, 1);
// LCD.print (pos);
// }
// }
LCD.setCursor (0, 1);
LCD.print ("Arm Degree: ");
LCD.setCursor (13, 1);
LCD.print (B);
}