#define BLYNK_TEMPLATE_ID "TMPL6pYK3liTD"
#define BLYNK_TEMPLATE_NAME "SMART MAILBOX"
#define BLYNK_AUTH_TOKEN "0VXLsZ9_7Bq2FoHESgh2GM8r_7-GxMxR"
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp32.h>
int buzzer = 13;
int irPin = 14;
int buttonPin =15;
int counter = 0;
BlynkTimer mailTimer, buttonTimer;
//BLYNK
char ssid[] = "Wokwi-GUEST"; //change to your own wifi
char pass[] = ""; //change to your own password
void setup()
{
Serial.begin(9600);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
pinMode(buzzer, OUTPUT);
pinMode(irPin, INPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buzzer, LOW);
mailTimer.setInterval(500, mail);
buttonTimer.setInterval(500, button);
}
void mail ()
{
int irState = digitalRead(irPin);
if (irState == 1)
{
counter ++;
Serial.print("IR STATE: ");
Serial.println(irState);
Serial.println("MAIL RECEIVED");
Serial.print("MAIL COUNT: ");
Serial.println(counter);
if (counter <= 10)
{
digitalWrite(buzzer,LOW);
Serial.println("MAILBOX IS NOT FULL");
}
if (counter > 10)
{
digitalWrite(buzzer,HIGH);
Serial.println("MAILBOX IS FULL");
}
}
if (irState == 0)
{
counter = 0;
digitalWrite(buzzer,LOW);
Serial.print("IR STATE: ");
Serial.println(irState);
Serial.println("NO MAIL RECEIVED");
}
}
void button ()
{
int buttonState = digitalRead(buttonPin);
if (buttonState == 1)
{
counter = 0;
Serial.print("BUTTON STATE: ");
Serial.println(buttonState);
Serial.println("MAIL COUNTING RESETTED");
}
if (buttonState == 0)
{
Serial.print("BUTTON STATE: ");
Serial.println(buttonState);
Serial.println("COUNTING");
}
}
void loop()
{
Blynk.run();
mailTimer.run();
buttonTimer.run();
}