ห้องเรียน NodeMCU ESP8266

กิจกรรมที่ 3
การสื่อสารอนุกรม Serial อ่านค่าข้อความที่ NodeMCU ส่งมาให้คอมพิวเตอร์

notecyber

         ในกิจกรรมนี้จะเป็นกิจกรนมที่จะสอนอ่านค่าต่างๆที่ NodeMCU ESP8266 ส่งมาให้ คอมพิวเตอร์ เราสามารถ ส่งค่า Sensor ต่างๆที่ NodeMCU ESP8266 อ่านได้มาแสดงในคอมพิวเตอร์ได้ หรือ จะให้ NodeMCU ESP8266 ส่งค่าโค้ดของจุดต่างๆที่กำลังทำงาน มาแสดงในคอมพิวเตอร์เพื่อให้เราตรวจสอบการทำงานของโค้ดว่าถูกต้องหรือไม่ได้อีกด้วย

การสื่อสารระหว่างคอมพิวเตอร์กับ NodeMCU ESP8266 เราต้องกำหนดอัตราการส่งข้อมูลให้ตรงกัน ถึงจะอ่านค่าได้ ถ้ากำหนดไม่ตรงกัน โปรแกรมจะขึ้นภาษาต่างดาว

การกำหนดอัตราการส่งข้องมูล Baudrate ซึ่งโดยทั่วไปจะกำหนดความเร็วในการติดต่อดัง เช่น 
300 , 1200 , 2400 , 4800 , 9600 , 14400 , 38400 , 57600 , 115200 , 230400 , 460800 , 921600 

คำสั่งที่ใช้กำหนดอัตราการส่งข้อมูลของ Arduino จะใส่ไว้ในฟังก์ชั่น void setup() 
Serial.begin(9600); //กำหนดอัตราการส่งข้อมูลเป็น 9600

คำสั่งที่ใช้ให้ Arduino ส่งข้อความมาให้ คอมพิวเตอร์
Serial.print("I Love "); //ปริ้นคำว่า "I Love " แต่ไม่ขึ้นบันทัดใหม่ จะไม่มี In
Serial.println("My arduino");  //ปริ้นคำว่า "My Arduino" แล้วขึ้นบันทัดใหม่ เมื่อมีการพิมพ์ครั้งต่อไป

คำสั่ง ข้อความอธิบายในบรรทัดนั้น //
// คือ คำสั่งที่ใช้เขียนอธิบายข้อความใน 1 บรรทัด

ตัวอย่าง คำสั่ง ข้อความอธิบาย //
digitalWrite(led1, HIGH); // ไฟ LED 1 ติด
ข้อความหลัง // โปรแกรมจะไม่ทำงานใส่ส่วนนี้ จะเป็นสีเทา จะถือว่าเป็นคำอธิบาย

คำสั่ง ข้อความอธิบาย /* ข้อความ */
/* คือ คำสั่งที่ใช้เปิดเขียนอธิบาย สามารถเขียนข้อความได้หลายบรรทัด
ข้อความ คือ ข้อความที่ต้องการเขียนอธิบายโค้ด
*/ คือ คำสั่งปิดเขียนอธิบาย

คำสั่ง ข้อความอธิบาย /* ข้อความ */
/* /*ไฟ LED 1 ติด
NodeMCU ส่งค่าในตัว แปล val ให้ arduino
*/
ข้อความที่อยู่ระหว่าง /* .... */ โปรแกรมจะไม่ทำงานในส่วนนี้ จะถือว่าเป็นคำอธิบาย

อุปกรณ์ที่ใช้

1. บอร์ดทดลอง Wifi NodeMCU V2 CP2102 LUA based ESP8266-12F/N

2. สาย Micro USB Type B to USB 2.0 Type A ยาว 1 เมตร

3. บอร์ดทดลอง Breadboard 830 Point MB-102

4. Resistor ตัวต้านทาน 330 Ohm 1/4W Metal film 1% จำนวน 5 ชิ้น

5. สายไฟจัมเปอร์ ผู้-ผู้ ยาว 20cm. จำนวน 6 เส้น

6. LED ขนาด 5mm สีแดง จำนวน 5 ดวง

 

ขั้นตอนการปฏิบัติ

NodeMCU ESP8266 -> หลอดไฟ LED

  • ขา D0 -> LED1

notecyber

ให้ต่ออุปกรณ์ตามรูปข้างบน แล้ว อัพโหลด โค้ดตัวอย่างด้านล่างลงบอร์ด NodeMCU ESP8266

Cinque Terre

เลือกรุ่นบอร์ด NodeMCU ESP8266 ที่จะอัพโหลด

Cinque Terre

เลือก Port ที่บอร์ด NodeMCU ESP8266 เชื่อมต่อ แล้วกดอัพโหลดโค้ด

Cinque Terre

ถ้าอัพโหลดสำเร็จ จะขึ้นตามรูปด้างล่าง 

Cinque Terre

ให้เปิด Serial Monitor ขึ้นมาแล้วกำหนดอัตราการส่งข้อมูลให้ตรงกับโปรแกรมที่อัพโหลดลง NodeMCU ESP8266

Cinque Terre

ในคอมพิวเตอร์กำหนดอัตราการส่งข้อมูลเป็น 9600

Cinque Terre

จะเห็นว่า NodeMCU ESP8266 จะส่งคำว่า 1 ON LED และ OFF LED มาให้คอมพิวเตอร์
เป็นแบบข้อความ ในฟันหนู   " "  Serial.println("LED");
ถ้าเราอยากส่งค่า Sensor ต่างๆที่เก็บไว้ในตัวแปล ให้เราใส่ค่าตัวแปรนั้นในวงเล็บได้เลย ในตัวอย่างจะส่งค่า 1 ในตัวแปล val
Serial.print(val);

Cinque Terre

บอร์ด NodeMCU ESP8266 ก็จะส่งสัญญาณไฟควบคุมหลอดไฟ LED และส่งข้อความเข้าคอมพิวเตอร์ตามรูปด้านล่าง

Cinque Terre

  • ใบงานกิจกรรม

    • ใบงานกิจกรรมที่ 3

 




©Notecyber.Com | ครูวรเทพ วันกาล