งานครั้งที่ 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)
โค้ดโปรแกรม
#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)