You are on page 1of 2

#include <LiquidCrystal.

h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

#define potentiometer A0 //10k Variable Resistor


#define bt_F A1 // Clockwise Button
#define bt_S A2 // Stop Button
#define bt_B A3 // Anticlockwise Button

#define M1_Ena 11 // Enable1 L298 for PWM


#define M1_in1 10 // In1 L298 for Clockwise
#define M1_in2 9 // In2 L298 for Anticlockwise

int read_ADC =0;


int duty_cycle;
int duty_cycle_lcd;
int set = 0;

void setup(){
Serial.begin(9600);// initialize serial communication at 9600 bits per second:

pinMode(potentiometer, INPUT);

pinMode(bt_F, INPUT_PULLUP);
pinMode(bt_S, INPUT_PULLUP);
pinMode(bt_B, INPUT_PULLUP);

pinMode(M1_Ena, OUTPUT);
pinMode(M1_in1, OUTPUT);
pinMode(M1_in2, OUTPUT);

lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print(" WELCOME To My ");
lcd.setCursor(0,1);
lcd.print("YouTube Channel");
delay(2000); // Waiting for a while
lcd.clear();
}

void loop(){
read_ADC = analogRead(potentiometer);
duty_cycle = map(read_ADC, 0, 1023, 0, 255);
duty_cycle_lcd = map(read_ADC, 0, 1023, 0, 100);

analogWrite(M1_Ena, duty_cycle);

lcd.setCursor(0,0);
lcd.print("Duty Cycle: ");
lcd.print(duty_cycle_lcd);
lcd.print("% ");

if(digitalRead (bt_F) == 0){set = 1;}


if(digitalRead (bt_S) == 0){set = 0;}
if(digitalRead (bt_B) == 0){set = 2;}

lcd.setCursor(0,1);

if(set==0){ lcd.print(" Stop ");


digitalWrite(M1_in1, LOW);
digitalWrite(M1_in2, LOW);
}

if(set==1){ lcd.print(" Clockwise ");


digitalWrite(M1_in1, HIGH);
digitalWrite(M1_in2, LOW);
}

if(set==2){ lcd.print(" Anticlockwise ");


digitalWrite(M1_in1, LOW);
digitalWrite(M1_in2, HIGH);
}

delay(50);
}

You might also like