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

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

หัวข้อ: งานครั้งที่ 28 [iot#3 Blynk] การอ่านค่าจากพอร์ตแอนะลอก A0
เริ่มหัวข้อโดย: admin ที่ มกราคม 20, 2018, 02:01:49 PM
งานครั้งที่ 28 [iot#3 Blynk] การอ่านค่าจากพอร์ตแอนะลอก A0
การอ่านค่าจากพอร์ตแอนะลอก A0 ในกรณีที่ผู้ใช้งานเลือกใช้บอร์ดที่มีชิพหลักเป็น ESP8266 ไม่ว่าจะเป็น ESP8266, NodeMCU, WeMos จะมีพอร์ตที่ใช้งานเพียง 1 ช่องสัญญาณเท่านั้นคือ A0 สำหรับโค้ดที่เขียนลงในตัวบอร์ดไม่ต้องเขียนอะไรเพิ่มเติม การอ่านค่าจากพอร์ตจะถูกสั่งมาจากแอฟ Blynk ขั้นตอนการดำเนินการทดลองเป็นดังนี้
[หมายเหตุ] จะใช้งานแอฟและไลบรารี่ Blynk ทั้งในสมาร์ตโฟนและโปรแกรม ArduinoIDE ได้ จะต้องดำเนินติดตั้งก่อน สามารถศึกษาวิธีการจากงานครั้งที่ 26 ได้ที่ งานครั้งที่ 26 [iot Blynk #1] เริ่มการใช้งาน Blynk (http://www.praphas.com/forum/index.php?topic=337.0)

1. วงจรที่ใช้ทดลองกรณีที่ใช้บอร์ด NodeMCU และ WeMOS D1 mini บอร์ดทั้ง 2 ชนิดจะรับแรงดันสูงสุด 3.2V เข้ามายังพอร์ต A0 เนื่องจากบนบอร์ดใช้ตัวต้านทานแบ่งแรงดันไว้ (รายละเอียดในงานครั้งที่ 6 (http://www.praphas.com/forum/index.php?topic=309.0)) แต่สำหรับ ESP8266 จะรับได้เพียง 1V
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/1.png)

ส่วนจัดการแอฟ Blynk
2. เปิดแอฟ Blynk ในมือถือแตะสร้างโปรเจคใหม่
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/2.png)

3. ดำเนินการกำหนดคุณสมบัติโปรเจค
    (1) ตั้งชื่อโปรเจค
    (2) เลือกบอร์ดที่ใช้ควบคุม
    (3) คลิกสร้าง
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/3.png)

4. รหัส Token ของโปรเจคจะถูกส่งเข้าไปยังอีเมล์ (เป็นอีเมล์ที่ลงเบียนไว้ตอนล็อกอินแอฟ)
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/4.png)

5. แตะที่เครื่องหมายบวกเพื่อเลือกวิตเจ็ทใช้งาน
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/5.png)

6. แตะเลือกเกจวัดค่า
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/6.png)

7. จะได้เกจปรากฏที่หน้าพื้นที่ใช้งาน ทำการแตะเพื่อตั้งค่า
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/7.png)

8. ทำการตั้งค่า
    (1) ตั้งชื่อเกจ
    (2) เลือกขาพอร์ตที่ใช้ควบคุม
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/8.png)

9. ทำการเลือกช่องทางอ่านค่า ในที่นี้จะอ่านค่าจากพอร์ตแอนะลอก A0 ดำเนินการดังนี้
    (1) เลือกชนิดขาเป็น Analog (เป็นขาจริงของบอร์ด)
    (2) เลือกขาพอร์ต A0
    (3) เมื่อเลือกตรงกับค่าที่ใช้งานจริงที่บอร์ดให้แตะที่ OK
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/9.png)

10. แตะที่เครื่องหมายบวกเพื่อเลือกวิตเจ็ทใช้งาน สามารถเพิ่มวิตเจ็ทแสดงผลได้เท่าที่ค่าพลังงานยังมีพอ
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/10.png)

11. แตะที่กราฟเพื่อตั้งค่า
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/11.png)

12. ทำการตั้งค่า
    (1) ตั้งชื่อกราฟ
    (2) เลือกขาพอร์ตที่ใช้ควบคุม
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/12.png)

13. ทำการเลือกช่องทางอ่านค่า ในที่นี้จะอ่านค่าจากพอร์ตแอนะลอก A0 ดำเนินการดังนี้
    (1) เลือกชนิดขาเป็น Analog (เป็นขาจริงของบอร์ด)
    (2) เลือกขาพอร์ต A0
    (3) เมื่อเลือกตรงกับค่าที่ใช้งานจริงที่บอร์ดให้แตะที่ OK
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/13.png)

ส่วนจัดการโค้ดโปรแกรมควบคุมบอร์ด
14. เปิดอีเมล์ทำการคัดลอกรหัส Token โปรเจค
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/14.png)

15. เขียนโค้ดควบคุม
    (1) วางรหัส Token ที่คัดลอกมาจากอีเมล์
    (2) ใส่ชื่อไวไฟที่บอร์ดควบคุมใช้เชื่อมต่อ
    (3) ใส่พาสเวิร์ดไวไฟ (ในกรณีที่ไวไฟมีการใช้รหัสผ่าน แต่ถ้าไม่มีให้ใช้ "")
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/15.png)

โค้ดโปรแกรม
โค๊ด: [Select]
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "a3480a1576344837b109ddff560986c4";
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-28-BlynkAnalogRead/16.png)

ทดสอบการทำงาน
17. กลับไปที่แอฟ Blynk ทำการแตะตัวสามเหลี่ยมเพื่อรันแอฟ
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/17.png)

18. ทดลองปรับเปลี่ยนค่าสัญญาณแอนะลอกที่บอร์ดทดลองแล้วดูผลการรัน
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/18.png)

19. บอร์ดทดลอง
(http://www.praphas.com/PhotoForum/iot/Lab-28-BlynkAnalogRead/19.jpg)