#include <LiquidCrystal.h>
#define IN_1 22
#define IN_2 21
#define POT 14
#define LEFT 13
#define RIGHT 12
#define CHANNEL_1 0
#define CHANNEL_2 1
#define FREQUENCY 1000
#define RESOLUTION 8
LiquidCrystal lcd(19, 18, 15, 2, 4, 5);
int potValue= 0;
int dutyCycle= 0;
void setup() {
pinMode(IN_1, OUTPUT);
pinMode(IN_2, OUTPUT);
pinMode(LEFT, INPUT_PULLUP);
pinMode(RIGHT, INPUT_PULLUP);
lcd.begin(16, 2);
ledcSetup(CHANNEL_1, FREQUENCY, RESOLUTION);
ledcSetup(CHANNEL_2, FREQUENCY, RESOLUTION);
ledcAttachPin(IN_1, CHANNEL_1);
ledcAttachPin(IN_2, CHANNEL_2);
}
void loop() {
potValue = analogRead(POT);
dutyCycle = map(potValue, 0, 1023, 0, 255);
lcd.setCursor(0, 0);
if(digitalRead(LEFT) == 0) {
lcd.print("MOTOR: REVERSE");
ledcWriter(CHANNEL_1, dutyCycle);
ledcWriter(CHANNEL_2, 0);
}
if(digitalRead(RIGHT) == 0) {
lcd.print("MOTOR: FORWARD");
ledcWriter(CHANNEL_1, 0);
ledcWriter(CHANNEL_2, dutyCycle);
}
lcd.setCursor(0, 1);
lcd.print("DC : ");
lcd.println(dutyCycle);
delay(200);
lcd.clear();
}ERC Warnings
xor1:B: Input pin not driven
xor2:B: Input pin not driven