//นาย สรวิศ โชติเลอศักดิ์ ปวส.2/1 เลขที่ 22
int sw1, sw2, oldsw1, oldsw2, mode = 1, step;
int vsw1, vsw2, oldvsw1, oldvsw2;
#define BLYNK_TEMPLATE_ID "TMPL2Mk1BrOf"
#define BLYNK_DEVICE_NAME "test template"
#define BLYNK_AUTH_TOKEN "RvixQdZnv29GErYufAt8n6-1_XIVOZFZ"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BLYNK_CONNECTED() {
Blynk.syncVirtual(V1);
Blynk.syncVirtual(V2);
}
BLYNK_WRITE(V1) {
vsw1 = param.asInt();
}
BLYNK_WRITE(V2) {
vsw2 = param.asInt();
}
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(14, OUTPUT);
pinMode(27, OUTPUT);
pinMode(26, OUTPUT);
pinMode(25, OUTPUT);
pinMode(2, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
}
void loop() {
Blynk.run();
sw1 = digitalRead(2);
sw2 = digitalRead(4);
if ((sw1 == 0) && (oldsw1 == 1) || (vsw1 == 1) && (oldvsw1 == 0)) {
mode++;
if (mode > 2) {
mode = 1;
}
}
oldsw1 = sw1;
oldvsw1 = vsw1;
Serial.print(mode);
Serial.print("\t");
Serial.println(step);
if (step == 1) {
digitalWrite(12, LOW);
digitalWrite(27, LOW);
digitalWrite(13, HIGH);
digitalWrite(25, HIGH);
Blynk.virtualWrite(V5, LOW);
Blynk.virtualWrite(V7, LOW);
Blynk.virtualWrite(V4, HIGH);
Blynk.virtualWrite(V9, HIGH);
}
if (step == 2) {
digitalWrite(25, LOW);
digitalWrite(26, HIGH);
Blynk.virtualWrite(V9, LOW);
Blynk.virtualWrite(V8, HIGH);
}
if (step == 3) {
digitalWrite(26, LOW);
digitalWrite(13, LOW);
digitalWrite(14, HIGH);
digitalWrite(27, HIGH);
Blynk.virtualWrite(V8, LOW);
Blynk.virtualWrite(V4, LOW);
Blynk.virtualWrite(V6, HIGH);
Blynk.virtualWrite(V7, HIGH);
}
if (step == 4) {
digitalWrite(14, LOW);
digitalWrite(12, HIGH);
digitalWrite(27, HIGH);
Blynk.virtualWrite(V6, LOW);
Blynk.virtualWrite(V5, HIGH);
Blynk.virtualWrite(V7, HIGH);
}
if (mode == 1) {
step++;
delay(500);
if (step > 4) {
step = 1;
}
}
if (mode == 2) {
if ((sw2 == 0) && (oldsw2 == 1) || (vsw2 == 1) && (oldvsw2 == 0)) {
step++;
if (step > 4) {
step = 1;
}
}
}
oldsw2 = sw2;
oldvsw2 = vsw2;
}