//นายธีรภัทร ขนุนทอง ปวส.2/1 เลขที่18
#define BLYNK_TEMPLATE_ID "TMPLYv0HzofX"
#define BLYNK_DEVICE_NAME "n"
#define BLYNK_AUTH_TOKEN "9FB2cG08Iu4sT1U1AXIGdJZOR_2hVppQ"
#define BLYNK_PRINT Serial
#include <WiFi.h>;
#include <WiFiClient.h>;
#include <BlynkSimpleEsp32.h>;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int mode = 1, step;
int sw1, locksw1, sw2,vsw1,vsw2,lockvsw1;
BLYNK_CONNECTED() {
Blynk.syncVirtual(V7);
Blynk.syncVirtual(V8);
}
BLYNK_WRITE(V7){
vsw1=param.asInt();
}
BLYNK_WRITE(V8){
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) && (locksw1 == 1)||(vsw1==1)&&(lockvsw1==0)) {
mode++;
if (mode > 2) {
mode = 1;
}
}
locksw1 = sw1;
lockvsw1=vsw1;
if (step == 1) {
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(14, LOW);
digitalWrite(27, LOW);
digitalWrite(26, LOW);
digitalWrite(25, HIGH);
Blynk.virtualWrite(V1,HIGH);
Blynk.virtualWrite(V2,LOW);
Blynk.virtualWrite(V3,LOW);
Blynk.virtualWrite(V4,LOW);
Blynk.virtualWrite(V5,LOW);
Blynk.virtualWrite(V6,HIGH);
}
if (step == 2) {
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(14, LOW);
digitalWrite(27, LOW);
digitalWrite(26, HIGH);
digitalWrite(25, LOW);
Blynk.virtualWrite(V1,HIGH);
Blynk.virtualWrite(V2,LOW);
Blynk.virtualWrite(V3,LOW);
Blynk.virtualWrite(V4,LOW);
Blynk.virtualWrite(V5,HIGH);
Blynk.virtualWrite(V6,LOW);
}
if (step == 3) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(14, HIGH);
digitalWrite(27, HIGH);
digitalWrite(26, LOW);
digitalWrite(25, LOW);
Blynk.virtualWrite(V1,LOW);
Blynk.virtualWrite(V2,LOW);
Blynk.virtualWrite(V3,HIGH);
Blynk.virtualWrite(V4,HIGH);
Blynk.virtualWrite(V5,LOW);
Blynk.virtualWrite(V6,LOW);
}
if (step == 4) {
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(14, LOW);
digitalWrite(27, HIGH);
digitalWrite(26, LOW);
digitalWrite(25, LOW);
Blynk.virtualWrite(V1,LOW);
Blynk.virtualWrite(V2,HIGH);
Blynk.virtualWrite(V3,LOW);
Blynk.virtualWrite(V4,HIGH);
Blynk.virtualWrite(V5,LOW);
Blynk.virtualWrite(V6,LOW);
}
if (mode == 1) {
step++;
delay(500);
if (step > 4) {
step = 1;
}
}
if(mode==2){
if((sw2==0)||(vsw2==1)){
step++;
delay(500);
if(step>4){
step=1;
}
}
}
Serial.println(mode);
}