#define PIN_ANALOG_IN 19
#define SERVO_PIN 21
#define SERVO_CHN 0
#define SERVO_FRQ 50
#define SERVO_BIT 12
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define SDA 5
#define SCL 18
LiquidCrystal_I2C lcd(0x27,20,4);
void servo_set_pin(int pin);
void servo_set_angle(int angle);
void setup()
{
servo_set_pin(SERVO_PIN);
Serial.begin(115200);
Wire.begin(SDA,SCL);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("servo motor SG90");
lcd.setCursor(0,1)
lcd.print("angulo : ")
}
void loop()
{
int angulo = dht_sensor.
float
}
{
int potVal = analogRead(PIN_ANALOG_IN);
Serial.printf("potVal_1: %d\t", potVal);
int angleVal = map(potVal, 0, 4095, 0, 180);
Serial.printf("Angulo: %d\r\n", angleVal);
servo_set_angle(angleVal);
delay(10);
}
void servo_set_pin(int pin)
{
ledcSetup(SERVO_CHN, SERVO_FRQ, SERVO_BIT);
ledcAttachPin(pin, SERVO_CHN);
}
void servo_set_angle(int angle)
{
if (angle > 180 || angle < 0)
return;
long pwm_value = map(pot, 0, 4095,0, 180);
ledcWrite(SERVO_CHN, PIN_ANALOG_IN);
}