งานครั้งที่ 31 [iot#6 Blynk] การควบคุม RGB LED(PWM) ด้วยแอฟ Blynk
การควบคุมให้ LED แบบ RGB ให้แสดงเป็นสีต่าง ๆ ให้หลักการผสมสีจากแม่สีหลักคือ สีแดง สีเขียวและสีน้ำเงิน การควบคุมให้แต่ละสีให้มีความสว่างมากน้อยตามต้องการให้หลักการขับ LED แบบ PWM ซึ่งขาพอร์ตเกือบทุกขาของ NodeMCU WeMOS D1 mini ทำงานได้หมดยกเว้น D0 ผู้ใช้งานสามารถประยุกต์การควบคุมขาพอร์ตแบบ PWM ไปควบคุมความเร็วของมอเตอร์กระแสตรงได้เช่นกัน (ข้อมูลการขับพอร์ตแบบ PWM สามารถศึกษาได้จากงานงานครั้งที่ 4 เขียนโปรแกรมปรับค่าความสว่างของ LED (PWM) (http://www.praphas.com/forum/index.php?topic=307.0)) ขั้นตอนการดำเนินการทดลองเป็นดังนี้
[หมายเหตุ] จะใช้งานแอฟและไลบรารี่ Blynk ทั้งในสมาร์ตโฟนและโปรแกรม ArduinoIDE ได้ จะต้องดำเนินติดตั้งก่อน สามารถศึกษาวิธีการจากงานครั้งที่ 26 ได้ที่ งานครั้งที่ 26 [iot Blynk #1] เริ่มการใช้งาน Blynk (http://www.praphas.com/forum/index.php?topic=337.0)
1. วงจรที่ใช้ทดลอง ทั้งบอร์ด NodeMCU และ WeMOS D1 mini
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/1.png)
ส่วนจัดการแอฟ Blynk
2. เปิดแอฟ Blynk ในมือถือแตะสร้างโปรเจคใหม่
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/2.png)
3. ดำเนินการกำหนดคุณสมบัติโปรเจค
(1) ตั้งชื่อโปรเจค
(2) เลือกบอร์ดที่ใช้ควบคุม
(3) คลิกสร้าง
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/3.png)
4. รหัส Token ของโปรเจคจะถูกส่งเข้าไปยังอีเมล์ (เป็นอีเมล์ที่ลงเบียนไว้ตอนล็อกอินแอฟ)
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/4.png)
5. แตะที่เครื่องหมายบวกเพื่อเลือกวิตเจ็ทใช้งาน
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/5.png)
6. แตะเลือกวิตเจ็ทที่เป็นแถบเลื่อน ในที่นี้เลือกแบบแนวนอน (ผู้ใช้งานสามารถเลือกแบบแนวตั้งได้)
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB6.png)
7. จะได้แถบเลื่อนบนหน้าพื้นที่ใช้งาน ทำการแตะเพื่อตั้งค่า
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/7.png)
8. ทำการตั้งค่า
(1) ตั้งชื่อแถบเลื่อน
(2) เลือกสี
(3) เลือกขาพอร์ตที่ใช้ควบคุม
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/8.png)
9. ทำการเลือกขา ซึ่งเป็นขาบอร์ดที่เชื่อม LED ไว้
(1) เลือกชนิดขาเป็น Digital (เป็นขาจริงของบอร์ด)
(2) เลือกขาพอร์ตที่ใช้ควบคุม ที่ต่อใช้งานในวงจรจริงไว้
(3) เมื่อเลือกตรงกับค่าที่ใช้งานจริงที่บอร์ดให้แตะที่ OK
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/9.png)
10. ผลการตั้งค่าของขาควบคุมสีแดง
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/10.png)
11. ทำการเพิ่มวิตเจ็ทแถบเลื่อน เพื่อใช้ควบคุมสีเขียว แล้วทำการตั้งค่า
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/11.png)
12. ทำการเพิ่มวิตเจ็ทแถบเลื่อน เพื่อใช้ควบคุมสีน้ำเงิน แล้วทำการตั้งค่า
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/12.png)
13. ผลการเพิ่มวิตเจ็ทควบคุม LED RGB ครบทั้ง 3 สี
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/13.png)
ส่วนจัดการโค้ดโปรแกรมควบคุมบอร์ด
14. เปิดอีเมล์ทำการคัดลอกรหัส Token โปรเจค
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/14.png)
15. เขียนโค้ดควบคุม
(1) วางรหัส Token ที่คัดลอกมาจากอีเมล์
(2) ใส่ชื่อไวไฟที่บอร์ดควบคุมใช้เชื่อมต่อ
(3) ใส่พาสเวิร์ดไวไฟ (ในกรณีที่ไวไฟมีการใช้รหัสผ่าน แต่ถ้าไม่มีให้ใช้ "")
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/15.png)
โค้ดโปรแกรม
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "6eed7b24096e46a5b3fa120c54fde668";
char ssid[] = "wifi name";
char pass[] = "wifi password";
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}
16. ทำการอัพโหลดลงบอร์ด เปิดหน้าต่าง Serial monitor จะได้ดังรูป แต่ถ้าหากยังนิ่งให้ทดลองกดสวิตช์รีเซตที่บอร์ด
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/16.png)
ทดสอบการทำงาน
17. กลับไปที่แอฟ Blynk ทำการแตะตัวสามเหลี่ยมเพื่อรันแอฟ
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/17.png)
18. ทดสอบการเลื่อนแถบเลื่อนของแต่ละตัว
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/18.png)
19. ตรวจสอบผลการทำงานที่บอร์ดจริง
(http://www.praphas.com/PhotoForum/iot/Lab-31-BlynkRGB/19.jpg)