ESP8266 สั่งรีเลย์ 4 channel ด้วยแอป Blynk
การเชื่อมต่อ
ESP8266 -> Relay 4 channel
3V -> VCC
D1(GPIO5) -> In1
D2(GPIO4) -> In2
D5(GPIO14)-> In3
D6(GPIO12)-> In4
GND -> GND
วิธีทำ
1.เขียนโค้ด เชื่อมต่อ บอร์ด ESP8266 and Relay 4 Channel
2.เพิ่มโค้ด ที่ใช้ในการเชื่อมต่อแอป Blynk กับ ESP8266
ในส่วนที่ ไม่มีให้ (มีข้อดี-เสีย ต่างจาก QuickStart)
3.สร้าง Datastream in Blynk
4.สร้าง Web Dashboard in Blynk
5.เขียนโค้ด เพื่อให้รับคำสั่งจาก Blynk ทำงาน
1.เขียนโค้ด เชื่อมต่อ บอร์ด ESP8266 and Relay 4 Channel
// Code Connected Relay 4 channel
int r1 = 5;
int r2 = 4;
int r3 = 14;
int r4 = 12;
void setup() {
//ตั้งค่า พินเลข เป็นเอาท์พุต
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(r3, OUTPUT);
pinMode(r4, OUTPUT);
//เปิดจ่ายไฟ ค่าพินเลข เพื่อปิดการทำงานของ Relay
digitalWrite(r1, HIGH);
digitalWrite(r2, HIGH);
digitalWrite(r3, HIGH);
digitalWrite(r4, HIGH);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(r1, LOW); // turn on LED on (LOW is the voltage level = Active Low)
delay(1000);
digitalWrite(r1, HIGH); // turn the LED off by making the voltage HIGH
delay(1000);
}
/*--------------------------------------------------------*/
2.เพิ่มโค้ด ที่ใช้ในการเชื่อมต่อแอป Blynk กับ ESP8266
(มีข้อดี-เสีย ต่างจาก QuickStart)
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";
void setup() {
Serial.begin(115200);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
...
}
void loop() {
// put your main code here, to run repeatedly:
Blynk.run();
}
/*--------------------------------------------------------*/
3.สร้าง Datastream in Blynk
Relay1 V1 Integer
Relay2 V2 Integer
Relay3 V3 Integer
Relay4 V4 Integer
4.สร้าง Web Dashboard in Blynk
สร้าง Switch 1,2,3,4 Show on/off label
5.เขียนโค้ด เพื่อให้รับคำสั่งจาก Blynk ทำงาน
5.1 เมื่อกดปุ่มเปิด 1 สั่งรีเลย์ 1 ทำงาน ด้วย digitalWrite(r1, LOW);
BLYNK_WRITE(V1) // this command is listening when something is written to V1
{
int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
if (pinValue == 1){
digitalWrite(r1, LOW);
} else if (pinValue == 0) {
digitalWrite(r1, HIGH);
}
Serial.print("V1 button value is: "); // printing value to serial monitor
Serial.println(pinValue);
}
Relate Link :
https://docs.blynk.io/en
Contact:
https://www.facebook.com/chaiyutpong
Tag:
Relay,ESP8266,Arduio IDE,NodeMCU,digitalWrite,
Blynk,BLYNK_WRITE(),Virtualpin,pinValue,Blynk.virtualWrite,

ความคิดเห็น
แสดงความคิดเห็น