#define BLYNK_TEMPLATE_ID "TMPL6uBabT0ZY"
#define BLYNK_TEMPLATE_NAME "Bluetooth Wifi Fan"
#define BLYNK_AUTH_TOKEN "SpW8eZgPZflL883W4zlx0MGFJ6-k_3mp"
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#define trigPin 14
#define echoPin 12
#define LED1 12
#define LED2 14
#define LED3 27
#define LED_STATE 33
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32Servo.h>
// Your WiFi credentials.
// Set password to "" for open networks.
char auth[] = "SpW8eZgPZflL883W4zlx0MGFJ6-k_3mp";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int status; // 0=OFF // 1=ON
Servo myServo;
BlynkTimer timer;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED_STATE, OUTPUT);
Serial.begin(115200);
myServo.attach(25);
myServo.write(0-180);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
BLYNK_CONNECTED()
{
Blynk.syncAll();
}
BLYNK_WRITE(V0) // ON_OFF button
{
int p = param.asInt();
if(p == 1)
{
digitalWrite(LED_STATE, HIGH);
status = 1;
Serial.print("Fan on\n");
}
else
{
digitalWrite(LED_STATE, LOW);
status = 0;
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
Serial.print("Fan off\n");
}
}
BLYNK_WRITE(V1) // Speed
{
if(status == 1)
{
int p = param.asInt();
myServo.write(p);
}
}
BLYNK_WRITE(V2) // Speed
{
if(status == 1)
{
int p = param.asInt();
if(p == 1)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(10);
digitalWrite(LED1, HIGH);
Serial.print("Speed: Minimum\n");
}
else if(p == 2)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(10);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
Serial.print("Speed: Medium\n");
}
else if(p == 3)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
delay(10);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
Serial.print("Speed: Maximum\n");
}
}
}
void loop()
{
Blynk.run();
timer.run();
}