#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "ER9KSWIs7CSwnkuOajyqcF3wXBgYPJXf";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const int temperaturePin = 32;
const int humidityPin = 33;
const int vibrationPin = 34;
const int motorPin = 35;
const int buzzerPin = 25;
#define VIRTUAL_TEMP V5
#define VIRTUAL_HUMIDITY V6
#define VIRTUAL_VIBRATION V7
#define VIRTUAL_MOTOR V8
#define VIRTUAL_ALARM V9
const float tempThreshold = 40.0;
const float humidityThreshold = 60.0;
const int vibrationThreshold = 100;
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(motorPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop()
{
Blynk.run();
float temperature = analogRead(temperaturePin) * 0.1;
float humidity = analogRead(humidityPin) * 0.1;
int vibration = analogRead(vibrationPin);
Blynk.virtualWrite(VIRTUAL_TEMP, temperature);
Blynk.virtualWrite(VIRTUAL_HUMIDITY, humidity);
Blynk.virtualWrite(VIRTUAL_VIBRATION, vibration);
if (temperature > tempThreshold)
{
Serial.println("High temperature detected!");
// Perform action or trigger alert
// ...
}
if (humidity > humidityThreshold)
{
Serial.println("High humidity detected!");
// Perform action or trigger alert
// ...
}
if (vibration > vibrationThreshold)
{
Serial.println("Excessive vibration detected!");
// Perform action or trigger alert
// ...
}
int motorSpeed = map(analogRead(VIRTUAL_MOTOR), 0, 1023, 0, 255);
analogWrite(motorPin, motorSpeed);
int alarmState = digitalRead(VIRTUAL_ALARM);
digitalWrite(buzzerPin, alarmState);
delay(100);
}