Tick Tock Shield
1. จากโปรแกรม Test1/7 Digital IO ให้อธิบายการทำงานของโปรแกรม
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
จากโปรแกรม เป็นการควบคุมไฟ LED ของ Tick Tock Shield ซึ่งมีหลักการง่ายๆคือ ถ้าคลิกปุ่ม Menu [ if(digitalRead(KEY_MENU)==LOW) ] จะทำการเรียกใช้ฟังก์ชัน turnOnAll() ที่สั่งให้ LED ทุกตัวติด ถ้าคลิกปุ่ม Up [
if(digitalRead(KEY_UP)==LOW) ] จะทำการเรียกใช้ฟังก์ชัน turnOnMoreLED() ซึ่งจะสั่งให้ LED ติดเพิ่มทีละตัว และถ้าคลิกปุ่ม Down [ if(digitalRead(KEY_DOWN)==LOW) ] จะทำการเรียกฟังก์ชัน turnOffMoreLED() ซึ่งจะสั่งให้ LED ดับเพิ่มทีละตัว
if(digitalRead(KEY_UP)==LOW) ] จะทำการเรียกใช้ฟังก์ชัน turnOnMoreLED() ซึ่งจะสั่งให้ LED ติดเพิ่มทีละตัว และถ้าคลิกปุ่ม Down [ if(digitalRead(KEY_DOWN)==LOW) ] จะทำการเรียกฟังก์ชัน turnOffMoreLED() ซึ่งจะสั่งให้ LED ดับเพิ่มทีละตัว
2. จากโปรแกรม Test2/7 Segment Display เป็นโปรแกรมนับเลขขึ้นจาก 0 ถึง F แบบดันเลขไปทางซ้ายทีละตัว ถ้าต้องการให้นับลงแล้วดันเลขไปทางขวา จะปรับโปรแกรมอย่างไร
เขียนโปรแกรมได้ดังนี้
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
3. จากโปรแกรม Test6/7 Counter_EEPROM ให้อธิบายการทำงานของโปรแกรม
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
เป็นโปรแกรมที่ทำการเก็บค่าไว้ใน EEPROM โดยข้อมูลที่อยู่ใน EEPROM จะไม่ถูกลบถึงแม้จะไม่มีไฟเลี้ยง โดยโปรแกรมจะกำหนดให้ pin 11 คือ ปุ่ม Reset ค่า และ pin 10 คือ ปุ่มเพิ่มค่าทีละ 1 โดยเริ่มต้นให้ counter รับค่าจาก EEPROM มาเก็บไว้ ถ้ามีการกดปุ่ม reset ค่า counter จะเป็น 0 ถ้ากดปุ่มเพิ่ม ค่าของ counter จะเพิ่มขึ้น 1 ค่า และทำการส่งค่าไปแสดงในจอ 7-segments โดยเมื่อหยุดจ่ายไฟให้บอร์ดและทำการจ่ายไฟให้บอร์ดใหม่อีกที ข้อมูลล่าสุดของค่า counter ที่เก็บอยู่ใน EEPROM ก็จะถูกแสดงในจอ 7-segments
4. จากโปรแกรม Test7/7 Pk_RTC ให้อธิบายการทำงานของโปรแกรม
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
เป็นโปรแกรมแสดงอุณหภูมิและตั้งเวลาชั่วโมงและนาที โดยมีอินพุต pin 11 เมื่อกดจะทำการเรียกฟังก์ชัน DisplayTemperature() เพื่อทำการแสดงอุณหภูมิ, pin 10 เมื่อกดจะทำการเรียกฟังก์ชัน AddHour() เพื่อทำการตั้งค่าชั่วโมง และ pin 9 เมื่อกดจะทำการเรียกฟังก์ชัน AddMinute() เพื่อทำการตั้งค่านาที
NodeMCU
1. ทดสอบโปรแกรม ฺBlink โดยการต่อ LED 8 ตัว ให้แสดงไฟวิ่งจากซ้ายไปขวา- อัพโหลดโปรแกรมดังนี้ใส่ NodeMCU
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
- เชื่อมต่อ NodeMCU กับ LEDs ตาม pin ที่กำหนดในโปรแกรม
- วิดีโอแสดงผลของโปรแกรม
- เชื่อมต่อ NodeMCU กับ LEDs ตาม pin ที่กำหนดในโปรแกรม
- วิดีโอแสดงผลของโปรแกรม
2. ทดสอบโปรแกรม เพือหา MAC Address ของ NodeMCU Board
- อัพโหลดโปรแกรมดังนี้ใส่ NodeMCU
- หลังจากอัพโหลดโปรแกรม เปิด Serial Monitor ขึ้นมาและปรับ baud rate ให้เป็น 115200
- จะแสดง MAC Address ของเครื่องใน Serial Monitor
- อัพโหลดโปรแกรมดังนี้ใส่ NodeMCU
- หลังจากอัพโหลดโปรแกรม เปิด Serial Monitor ขึ้นมาและปรับ baud rate ให้เป็น 115200
- จะแสดง MAC Address ของเครื่องใน Serial Monitor
3. การใช้งาน TCP/IP
การใช้งาน TCP Client
- เปดโปรแกรม Hercules ขึ้นมา
- ตรวจเช็ค IP ของเครื่อง PC ของเรา (Server) โดยไปที่แท็บ UDP Setup จะมีกรอบที่แสดงขอมูล IP ของ เครื่อง PC ของเรา
- ใหนําIPของเราไปกําหนดลงใน Code >> IPAddress {172, 20, 10, 2};
- กําหนด Port ที่ใชเปน #define SERVER_PORT 9000
- กําหนด SSID และ Password ตาม Access Point ของเรา
- ไปที่โปรแกรม Hercules ไปที่แท็บ TCP กำหนด Port เป็น 9000 แล้วคลิกปุ่ม Listen
- จากนั้นใหโปรแกรม Code ของเราลงในบอรด NodeMCU
- เปดโปรแกรม Hercules ขึ้นมา
- ตรวจเช็ค IP ของเครื่อง PC ของเรา (Server) โดยไปที่แท็บ UDP Setup จะมีกรอบที่แสดงขอมูล IP ของ เครื่อง PC ของเรา
- ใหนําIPของเราไปกําหนดลงใน Code >> IPAddress {172, 20, 10, 2};
- กําหนด Port ที่ใชเปน #define SERVER_PORT 9000
- กําหนด SSID และ Password ตาม Access Point ของเรา
- ไปที่โปรแกรม Hercules ไปที่แท็บ TCP กำหนด Port เป็น 9000 แล้วคลิกปุ่ม Listen
- จากนั้นใหโปรแกรม Code ของเราลงในบอรด NodeMCU
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
- เมื่อโปรแกรมเสร็จแลวใหเปิด Serial Monitor ขึ้นมา และปรับ baud rate ให้เป็น 115200
- กดปุมResetบนบอรด NodeMCU จะเชื่อมตอกับ Access point และเชื่อมตอกับ TCP Server
- ใหทดลองรับ-สงขอมูลระหวาง Server และ Client (ส่ง Hello it’s me again ไปที่ server)
- เมื่อโปรแกรมเสร็จแลวใหเปิด Serial Monitor ขึ้นมา และปรับ baud rate ให้เป็น 115200
- กดปุมResetบนบอรด NodeMCU จะเชื่อมตอกับ Access point และเชื่อมตอกับ TCP Server
- ใหทดลองรับ-สงขอมูลระหวาง Server และ Client (ส่ง Hello it’s me again ไปที่ server)
การใช้งาน TCP Server
- กําหนด Port ใหใชงานที่ port 8000 #define SERVER_PORT 8000
- กําหนด SSID และ Password ตาม Access point ที่ใชงาน
- จากนั้นใหโปรแกรม Code ของเราลงในบอรด NodeMCU
- กําหนด Port ใหใชงานที่ port 8000 #define SERVER_PORT 8000
- กําหนด SSID และ Password ตาม Access point ที่ใชงาน
- จากนั้นใหโปรแกรม Code ของเราลงในบอรด NodeMCU
ดูโค้ดโปรแกรมที่นี่ คลิ้ก
- เมื่อโปรแกรมเสรจ็แลว ใหเปิด Serial Monitor ขึ้นมา ปรับ Baud rate เปน 115200
- กดปุม Reset บนบอรด NodeMCU จะรันโปรแกรมของเราขึ้นมาและแสดง IP ของตัว NodeMCU
- เปดโปรแกรม Hercules ขึ้นมา ไปที่แท็บ TCP Client กําหนด IP ไปยังหมายเลข IP ของ NodeMCU และกําหนด Port ไปที่8000 (ตาม Code ที่สั่งใหเปด TCP Server ที่ port 8000 ) จากนั้นกด Connect

- สังเกตที่ Serial Monitor ของ Arduino จะแสดงขอความ new client
- ทดสอบใช Hercules สงขอมูล ไปยัง Server
- เมื่อโปรแกรมเสรจ็แลว ใหเปิด Serial Monitor ขึ้นมา ปรับ Baud rate เปน 115200
- กดปุม Reset บนบอรด NodeMCU จะรันโปรแกรมของเราขึ้นมาและแสดง IP ของตัว NodeMCU
- เปดโปรแกรม Hercules ขึ้นมา ไปที่แท็บ TCP Client กําหนด IP ไปยังหมายเลข IP ของ NodeMCU และกําหนด Port ไปที่8000 (ตาม Code ที่สั่งใหเปด TCP Server ที่ port 8000 ) จากนั้นกด Connect

- สังเกตที่ Serial Monitor ของ Arduino จะแสดงขอความ new client
- ทดสอบใช Hercules สงขอมูล ไปยัง Server
4. การใช้งาน GPIO
- สร้างไฟกระพริบ โดยอางอิงจากชื่อ Pin ของ NodeMCU
- ต่อ LED เข้ากับ NodeMCU โดยกำหนด pin ให้ตรงกับใน code
- จากนั้นใหโปรแกรม Code ของเราลงในบอรด NodeMCU
- วิดีโอแสดงผลของโปรแกรม
- สร้างไฟกระพริบ โดยอางอิงจากชื่อ Pin ของ NodeMCU
- ต่อ LED เข้ากับ NodeMCU โดยกำหนด pin ให้ตรงกับใน code
- จากนั้นใหโปรแกรม Code ของเราลงในบอรด NodeMCU
- วิดีโอแสดงผลของโปรแกรม


