#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define STEP_PIN 5
#define DIR_PIN 16
#define ENA_PIN 19
void setup() {
Serial.begin(115200);
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN , OUTPUT);
pinMode(ENA_PIN , OUTPUT);
pinMode(34 , INPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Water flow rate ");
lcd.setCursor(0, 1);
lcd.print("using pid ");
delay(3000);
lcd.clear();
}
void loop() {
int a=analogRead(34);
Serial.println(a);
int b=map(a,0,4095,1000,0);
Serial.println("STEPPER MOTOR : CW");
digitalWrite(DIR_PIN, b); // Set direction to clockwise
digitalWrite(ENA_PIN, LOW); // Enable the motor
digitalWrite(STEP_PIN, b);
delay(1);
digitalWrite(STEP_PIN, LOW);
delay(1);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Moisture lvl :");
lcd.print(a);
lcd.setCursor(0, 1);
lcd.print("speed :");
lcd.print(b);
delay(1000);
}