เขียนโปรแกรมควบคุม LED โดยการสื่อสารผ่านพอร์ตอนุกรม
NodeMCU เป็นโมดูลที่รวมเอาโมดูล ESP8266 กับโมดูล USB to UART เข้าด้วยกัน ดังนั้นเราจึงสามารถติดต่อสื่อสารกับ NodeMCU ผ่านทางพอร์ตสื่อสารแบบอนุกรมได้ โดยฟังก์ชั่นในส่วนของการสื่อสารผ่านทางพอร์ตอนุกรมนี้มีมาพร้อมกับ Arduino IDE ดังนั้นผู้ใช้งานจึงไม่ต้องติดตั้งไลบรารี่เพิ่มเติมเพียงแค่เรียกใช้งานก็สามารถทำงานได้
ฟังก์ชั่นอยู่ในกลุ่ม Serial http://arduino.cc/en/Reference/Serial
-Serial.begin() http://arduino.cc/en/Serial/Begin
-if (Serial) http://arduino.cc/en/Serial/IfSerial
-Serial.available() http://arduino.cc/en/Serial/Available
-Serial.read() http://arduino.cc/en/Serial/Read
-Serial.print() http://arduino.cc/en/Serial/Print
-Serial.println() http://arduino.cc/en/Serial/Println
-Serial.flush() http://arduino.cc/en/Serial/Flush
ฟังก์ชั่นทั่วไป
-pinMode() http://arduino.cc/en/Reference/PinMode
-digitalWrite() http://arduino.cc/en/Reference/DigitalWrite
-delay() http://arduino.cc/en/reference/delay
โจทย์โปรแกรม
-เขียนโปรแกรมสื่อสารระหว่างบอร์ดทดลองกับคอมพิวเตอร์แสดงสถานะการทำงานปัจจุบัน
-สั่งการให้ LED ติดดับตามเงื่อนไขของข้อมูลที่รับเข้ามาจากคอมพิวเตอร์ที่กำหนดได้ โดยมีเงื่อนไขไม่ต่ำกว่า 5 เงื่อนไข (แต่ละกลุ่มจะต้องมีเงื่อนไขในการทำงานที่แตกต่างกัน)
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)
วงจรที่ใช้ทดลอง
กรณีใช้บอร์ดรุ่น NodeMCU
กรณีใช้บอร์ดรุ่น WeMos D1 mini
ตัวอย่างโปรแกรมที่ 1
ตัวอย่างโปรแกรมที่ 2
NodeMCU เป็นโมดูลที่รวมเอาโมดูล ESP8266 กับโมดูล USB to UART เข้าด้วยกัน ดังนั้นเราจึงสามารถติดต่อสื่อสารกับ NodeMCU ผ่านทางพอร์ตสื่อสารแบบอนุกรมได้ โดยฟังก์ชั่นในส่วนของการสื่อสารผ่านทางพอร์ตอนุกรมนี้มีมาพร้อมกับ Arduino IDE ดังนั้นผู้ใช้งานจึงไม่ต้องติดตั้งไลบรารี่เพิ่มเติมเพียงแค่เรียกใช้งานก็สามารถทำงานได้
ฟังก์ชั่นอยู่ในกลุ่ม Serial http://arduino.cc/en/Reference/Serial
-Serial.begin() http://arduino.cc/en/Serial/Begin
-if (Serial) http://arduino.cc/en/Serial/IfSerial
-Serial.available() http://arduino.cc/en/Serial/Available
-Serial.read() http://arduino.cc/en/Serial/Read
-Serial.print() http://arduino.cc/en/Serial/Print
-Serial.println() http://arduino.cc/en/Serial/Println
-Serial.flush() http://arduino.cc/en/Serial/Flush
ฟังก์ชั่นทั่วไป
-pinMode() http://arduino.cc/en/Reference/PinMode
-digitalWrite() http://arduino.cc/en/Reference/DigitalWrite
-delay() http://arduino.cc/en/reference/delay
โจทย์โปรแกรม
-เขียนโปรแกรมสื่อสารระหว่างบอร์ดทดลองกับคอมพิวเตอร์แสดงสถานะการทำงานปัจจุบัน
-สั่งการให้ LED ติดดับตามเงื่อนไขของข้อมูลที่รับเข้ามาจากคอมพิวเตอร์ที่กำหนดได้ โดยมีเงื่อนไขไม่ต่ำกว่า 5 เงื่อนไข (แต่ละกลุ่มจะต้องมีเงื่อนไขในการทำงานที่แตกต่างกัน)
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)
วงจรที่ใช้ทดลอง
กรณีใช้บอร์ดรุ่น NodeMCU
กรณีใช้บอร์ดรุ่น WeMos D1 mini
ตัวอย่างโปรแกรมที่ 1
โค๊ด: [Select]
int x = 0;
void setup()
{
Serial.begin(9600);
delay(500);
}
void loop()
{
if (Serial.available() > 0)
{
x = Serial.read();
Serial.print("MCU is received: ");
Serial.println(x);
}
}
ตัวอย่างโปรแกรมที่ 2
โค๊ด: [Select]
#define LED D0
int x = 0;
void setup()
{
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
Serial.begin(9600);
delay(500);
}
void loop()
{
if (Serial.available() > 0)
{
x = Serial.read();
Serial.print("MCU is received: ");
Serial.println(x);
if(x=='a')
{
digitalWrite(LED,HIGH);
}
else
{
digitalWrite(LED,LOW);
}
}
}
ความคิดเห็น
แสดงความคิดเห็น