งานที่มอบหมาย ครูประภาส

บทความประกอบการเรียนรู้ => IOT : Internet of Thing (ESP8266, NodeMCU, WeMos D1 mini) => ข้อความที่เริ่มโดย: admin ที่ มกราคม 22, 2018, 09:54:14 PM

หัวข้อ: งานครั้งที่ 31 [iot#6 Blynk] การควบคุม RGB LED(PWM) ด้วยแอฟ Blynk
เริ่มหัวข้อโดย: admin ที่ มกราคม 22, 2018, 09:54:14 PM
งานครั้งที่ 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)

โค้ดโปรแกรม
โค๊ด: [Select]
#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)