#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int buttonL = 2;
int buttonM = 4;
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo servoL;
Servo servoM;
bool padDispensed = false; // Track if a pad has been dispensed
void setup()
{
lcd.init();
lcd.backlight();
pinMode(buttonL, INPUT);
pinMode(buttonM, INPUT);
servoL.attach(9);
servoM.attach(10);
lcd.setCursor(0, 0);
lcd.print("Sanitary Napkin");
lcd.setCursor(0, 1);
lcd.print("Vending Machine");
delay(5000);
lcd.clear();
}
void loop()
{
lcd.setCursor(0, 0);
lcd.print("Press Button L/M");
lcd.setCursor(0, 1);
lcd.print("Enter a Choice:");
delay(2000);
if (!padDispensed) {
if (digitalRead(buttonL) == HIGH)
{
lcd.clear();
lcd.print("You Chose L");
lcd.setCursor(0, 1);
lcd.print("Pad Dispensing..");
servoL.write(360); // Rotate to 0 degrees (adjust as needed)
delay(2000);
padDispensed = true; // Mark that a pad has been dispensed
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Take the Pad");
lcd.setCursor(0, 1);
lcd.print("Maintain Hygiene!");
delay(5000);
lcd.clear();
}
if (digitalRead(buttonM) == HIGH)
{
lcd.clear();
lcd.print("You Chose M");
lcd.setCursor(0, 1);
lcd.print("Pad Dispensing..");
servoM.write(360); // Rotate to 0 degrees (adjust as needed)
delay(2000);
padDispensed = true; // Mark that a pad has been dispensed
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Take the Pad");
lcd.setCursor(0, 1);
lcd.print("Maintain Hygiene!");
delay(5000);
lcd.clear();
}
}
}