Filling Machine Water Arduino Uno
Filling Machine Water Arduino Uno
h>
#include <LiquidCrystal.h>
char keys[ROW_NUM][COLUMN_NUM] = {
};
byte pin_column[COLUMN_NUM] = { 4, 5, 6, 7 };
int sensorInterrupt = 0;
int sensorPin = 2;
int solenoidValve = 5;
void setup() {
totalMilliLitres = 0;
pinMode(relais_moteur, OUTPUT);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Set Volume:");
Serial.begin(9600);
pinMode(solenoidValve, OUTPUT);
digitalWrite(solenoidValve, HIGH);
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, HIGH);
void loop() {
code += key;
lcd.setCursor(0, 1);
lcd.print(code);
delay(100);
if (key == 'D') {
volume = code.toInt();
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Set Volume:");
code = "";
digitalWrite(relais_moteur, HIGH);
detachInterrupt(sensorInterrupt);
flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / calibrationFactor;
oldTime = millis();
totalMilliLitres += flowMilliLitres;
Serial.print(flowMilliLitres, DEC);
Serial.print("mL/Second");
Serial.print("\t");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Speed :");
lcd.print(flowMilliLitres);
lcd.print(" ml/s");
Serial.print(totalMilliLitres, DEC);
Serial.println("mL");
Serial.print("\t");
lcd.setCursor(0, 1);
lcd.print("Filled:");
lcd.print(totalMilliLitres);
lcd.print(" ml");
SetSolinoidValve();
pulseCount = 0;
} else {
digitalWrite(relais_moteur, LOW);
volume = 0;
void pulseCounter() {
pulseCount++;
void SetSolinoidValve() {
digitalWrite(solenoidValve, LOW);