#include <ESP32Servo.h> //biblioteca do motor (servo)
#include <LiquidCrystal_I2C.h> //biblioteca do display lcd
Servo m1; //objeto para controlar o motor (variavel global)
LiquidCrystal_I2C lcd(0x27,16,2);//criação de objeto para lcd (), 16 colunas e 2 linhas
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(34,INPUT); //potenciometro
pinMode(19, OUTPUT); //motor/servo
analogWriteResolution(16,12);//
lcd.init();//liga lcd
lcd.backlight();//luz verde de fundo
lcd.setCursor(0,0);//posiçao do cursor
lcd.print("oi");
m1.attach(19); //vinculação de pino de controle
m1.write(180); //giro do motor em 180graus quando iniciado (gira e volta)
}
void loop() {
delay(10); //so para ficar mais rapido
static int pot; //guardar o valor lido do potenciometro
static int ang; //guarda o valor do angulo do servomotor
//Serial.println(analogRead(34));
//analogWrite(16,analogRead(34));
if(pot !=analogRead(34)); //se potenciometro for ativado
{
pot=digitalRead(34); //ler potenciometro
ang=map(analogRead(34),0,4095,0,180);//servo de acordo com o angulo do potenciometro
m1.write(ang); //servo escreve angulo do map
lcd.setCursor(0,0);
lcd.print("Ang:"+String(ang));
}
}