โปรเจกตเ์ พ่อื คดั เลือกครไู อดอล ประจาภาคเหนือ
เรือ่ ง SPS Air Purifier เครือ่ งฟอกอากาศอตั โนมัติ
นางสาวปรียาดา ทะพิงคแ์ ก นายกลวชั ร โชตวิ รนานนท์
ตาแหนง่ ครู วิทยฐานะชานาญการพิเศษ ตาแหนง่ ครู
โรงเรียนบ้านสนั ป่าสกั
สานักงานเขตพ้นื ที่การศกึ ษาประถมศึกษาเชียงใหม่ เขต 4
สานกั งานคณะกรรมการการศกึ ษาข้นั พื้นฐาน
กระทรวงศึกษาธิการ
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษที่ 21 เพอ่ื คณุ ครู หนา้ 1
การพฒั นาโปรเจกต์เพื่อคัดเลือกครูไอดอล ประจาภาคเหนอื
เรื่อง SPS Air Purifier เครื่องฟอกอากาศอัตโนมัติ
โดย
1. ดร.ปรียาดา ทะพิงค์แก
2. นายกลวชั ร โชตวิ รนานนท์
โรงเรียนบ้านสันปา่ สัก อ.หางดง จ.เชยี งใหม่
ทป่ี รึกษา
ดร.จริ พพิ ฒั น์ ธญั พงษภ์ ัทร
ทมี่ าและแรงบันดาลใจของผลงาน
วิกฤตส่ิงแวดล้อมยังคงเป็นวาระของโลก โดยเฉพาะอย่างยิ่งปัญหาวิกฤตมลพิษหมอกควันและฝุ่น
ละอองในอากาศทเ่ี กิดขึน้ ทุกปีในเขตพน้ื ทจี่ งั หวัดเชียงใหม่ ภาคเหนอื ของประเทศไทย โดยดัชนคี ุณภาพอากาศ
(Air Quality Index : AQI) หรือที่เรียกว่า PM 2.5 หรือ PM 10 บ่งช้ีว่าสภาพอากาศไม่ดีอย่างย่ิง ส่งกระทบ
ด้านสุขภาพ เช่น หายใจไม่ค่อยสะดวก เกิดโรคภูมิแพ้ฝุ่น เป็นต้น เน่ืองจากปัญหาฝุ่นควันที่กล่าวมาข้างต้น
คณะผู้จัดทาจึงมีแนวคิดในการพัฒนา SPS Air Purifier เคร่ืองฟอกอากาศอัตโนมัติ เพ่ือแก้ปัญหาด้านฝุ่น
ละอองและสิ่งแวดล้อม โดยเครื่องฟอกอากาศน้ีจะใช้ละอองน้าเป็นตัวกรองฝุ่น เพ่ือลดค่าฝุ่นที่อยู่ในครัวเรือน
และลดอุณหภูมิบริเวณรอบเครื่องกรองอากาศให้ลดลง ซึ่งเคร่ืองฟอกอากาศอัตโนมัติน้ีเน้นใช้วัสดุท่ีหาได้ง่าย
ราคาถกู ซง่ึ การวดั ค่าฝนุ่ ทาโดยใช้เซน็ เซอร์ ตรวจสอบคา่ ฝ่นุ ภายในบรเิ วณห้องอยู่ตลอดเวลา จากนัน้ นาค่าท่ีได้
ส่งผลไปยังบอร์ดไมโครบิต เพ่ือประมวลค่าฝุ่น เมื่อค่าฝุ่นมีปริมาณท่ีสูงมากเกินค่ามาตรฐานความปลอดภัยตอ่
สุขภาพ เคร่ืองกรองอากาศอัตโนมัติจะเร่ิมทางานทันที โดยใช้ระบบพ่นละอองน้าเป็นการฟอกอากาศ และจะ
ทางานจนกว่าค่าฝุ่นภายในห้องมีระดับลดลงและปลอดภัย เครื่องจึงจะหยุดทางานโดยอัตโนมัติ ซึ่งจะแจ้งค่า
ฝุ่นแสดงผ่านจอภาพ
โรงเรยี นบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแห่งศตวรรษที่ 21 เพอ่ื คณุ ครู หนา้ 2
แผนการจดั การเรียนรู้
รหัส ว23201. วชิ า วทิ ยาการคานวณ กลุ่มสาระการเรยี นรู้ วทิ ยาศาสตร์ ชั้น มัธยมศึกษาปที ี่ 3
ภาคเรียนที่ 1 ปกี ารศกึ ษา 2563 หน่วยการเรียนรูเ้ ร่ือง อนิ เทอร์เนต็ ของสรรพส่ิง
แผนการจัดการเรยี นร้ทู ี่ 5 เร่ือง อนิ เทอร์เนต็ ของสรรพส่งิ เวลา 6 ช่ัวโมง
1.มาตรฐานการเรียนรู้/ตัวชี้วดั /ผลการเรียนรู้
สาระที่ 4 เทคโนโลยี
มาตรฐาน ว 4.2 เข้าใจ และใช้แนวคิดเชิงคานวณในการแก้ปัญหาที่พบในชีวิตจริงอย่างเป็นขั้นตอน
และเป็นระบบ ใช้เทคโนโลยีสารสนเทศและการสื่อสารในการเรียนรู้ การทางาน และการแก้ปัญหาได้อย่างมี
ประสิทธภิ าพ รูเ้ ท่าทัน และมีจริยธรรม
ตัวชีว้ ัด ม.3/1 พฒั นาแอปพลเิ คชนั ที่มกี ารบรู ณาการกบั วชิ าอน่ื อย่างสรา้ งสรรค์
2.สาระการเรยี นรู้
Internet of Things (IoT) ร่วมกับไมโครคอนโทรลเลอร์
3. สาระสาคญั /ความคิดรวบยอด
อินเทอร์เน็ตของสรรพสิ่ง หรือไอโอที (Internet of Things : IoT) เป็นการเช่ือมโยงอุปกรณ์ต่างๆ
เชน่ อุปกรณ์ไฟฟ้า ตวั ตรวจวัด เขา้ กับโครงข่ายอินเทอรเ์ น็ต ทาให้สามารถสง่ ข้อมลู ตรวจวัดจากสภาพแวดล้อม
ไปยังเครอื่ งคอมพิวเตอร์และอปุ กรณ์ๆทเ่ี ชื่อมอยู่กับอนิ เทอร์เน็ตได้
MQTT (Message Queuing Telemetry Transport) เป็นโพรโทคอลที่นามาใช้ในงาน IoT เพ่ือ
แลกเปล่ียนข้อมูลระหว่างอุปกรณ์โดยผ่านเซิร์ฟเวอร์ตัวกลาง (broker) ประกอบด้วยฝ่ังท่ีแจ้งข้อมูล
(publisher) และฝั่งท่ีขอรับข้อมูล (subscriber) โดยจะต้องระบุตัวอ้างอิงที่เปน็ หัวข้อ (topic) ของข้อมูลที่จะ
รบั สง่ ให้ตรงกนั
Micro:bit เป็นบอร์ดไมโครคอนโทรลเลอร์ท่ีมีจุดเด่นด้านการเขียนโปรแกรมที่ง่ายโดยใช้ภาษาบลอ็ ก
แลว้ แปลงออกมาเป็นภาษา JavaScript หรือ Python ตัวบอรด์ มาพร้อมกับชปิ ไมโครคอนโทรลเลอร์ท่ีมีบลูทูธ
ในตัว มีเซ็นเซอร์วัดความเอียง (Accelerometer) และเซ็นเซอร์แม่เหล็กโลก หรือเข็มทิศ (Magnetometer)
มีหลอด LED 25 ดวง แสดงผลแบบ Dot matrix และสวิตซ์กดติดปล่อยดับ 3 ตัว ใช้การอัพโหลดโปรแกรม
ผ่านคอมพิวเตอร์ หรือแอพพลเิ คชนั่ บนแอนดรอย และ iOS111
4.จุดประสงค์การเรียนรู้
1. นักเรยี นอธิบายองคป์ ระกอบและประโยชนข์ องไอโอทีได้ (K)
2. นกั เรียนสามารถอภิปรายกระบวนการทางานของอปุ กรณ์ไอโอทีได้ (P)
3. นักเรยี นมคี วามใฝเ่ รียนรู้ (A)
5. คาถามสาคัญ (Big Question)
อุปกรณ์เครอื งใช้ไฟฟ้าอะไรบ้างทสี่ ามารถทางานผา่ นระบบอินเทอร์เนต็ ได้
6. คุณลกั ษณะอนั พึงประสงค์ ตามหลกั สูตรแกนกลาง 2551 และปรบั ปรุง 2560
ใฝเ่ รยี นรู้
โรงเรยี นบา้ นสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษที่ 21 เพอื่ คณุ ครู หนา้ 3
7. คุณคา่ พระวรสาร ความซื่อตรง (regularity)
8. ทักษะการคดิ
1. การคิดวเิ คราะห์
2. การคดิ สังเคราะห์
9. สมรรถนะสาคัญของผูเ้ รียน
1. ความสามารถในการส่ือสาร
2. ความสามารถในการคดิ
3. ความสามารถในการแกป้ ญั หา
4. ความสามารถในการใชเ้ ทคโนโลยี
10. ภาระงาน/ช้นิ งาน/ร่องรอย/หลักฐานการเรียนรู้
1. แบบฝกึ หัดท้ายบท/ใบกจิ กรรม
2. สงั เกตพฤติกรรมมีสว่ นร่วมในชัน้ เรยี น
11. การออกแบบกจิ กรรมการเรยี นการสอน
ชั่วโมงที่ 1
1) ขั้นนาเข้าสบู่ ทเรียน
ครูยกตัวอยา่ งนวตั กรรมสาหรับร้านซักผ้าที่ลกู ค้าสามารถจองควิ สงั่ งาน และตดิ ตาม
การซกั ผา้ ผา่ นแอปพลิเคชันของสมารต์ โฟน และเจา้ ของร้านตรวจสอบขอ้ มูลผ่านเว็บไซต์
ได้ จากสถานการณ์ดังกลา่ ว ให้นักเรยี นช่วยกันตอบคาถามตอ่ ไปน้ี
-เครื่องซักผ้า สมาร์ตโฟน และเครื่องเซิร์ฟเวอร์ของเว็บไซต์ ติดต่อส่ือสารกันได้
อย่างไร
-นกั เรยี นรจู้ กั ระบบอ่นื ท่ีมีการทางานเหมอื นระบบท่ียกตัวอยา่ งหรือไม่
2) ขั้นสอน โดยใชก้ ระบวนการสร้างเจตคติ
1. สงั เกต
ครใู ห้นกั เรียนดูภาพ สมาร์ทโฮม ที่มีอุปกรณไ์ ฟฟา้ ทเี่ ช่อื มต่ออินเทอรเ์ นต็ และให้
นกั เรียนวเิ คราะห์ว่าแตล่ ะอุปกรณท์ างานอย่างไร
2. วิเคราะห์
1.ครูให้นักเรยี นศึกษาหัวข้อ 5.1 องค์ประกอบของไอโอที และครอู ธิบายเพิม่ เติม
เพอื่ ให้นกั เรยี นเข้าใจมากยงิ่ ขึ้น
2.ครูใหน้ กั เรยี นทากจิ กรรมที่ 5.1 หนา้ 108
3. สรุป
ครแู ละนักเรียนร่วมกนั สรุป เรือ่ งอนิ เทอรเ์ น็ตของสรรพส่งิ
3) ข้ันสรุป
ครูและนกั เรียนร่วมกันสรุป เรอ่ื งอินเทอร์เน็ตของสรรพสงิ่
ช่วั โมงท่ี 2
1) ขัน้ นาเขา้ สู่บทเรยี น
ครทู บทวนบทเรียนในชวั่ โมงที่ผา่ นมา เรื่องอนิ เทอรเ์ น็ตของสรรพสิง่
2) ขน้ั สอน โดยใชก้ ระบวนการสร้างเจตคติ
1. สังเกต
ครใู ห้นกั เรียนดภู าพระบบรดน้าตน้ ไม้อัตโนมตั ิ
โรงเรียนบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแห่งศตวรรษที่ 21 เพื่อคณุ ครู หนา้ 4
2. วเิ คราะห์
1.ครใู หน้ ักเรียนศึกษาหวั ข้อที่ 5.2 กรณศี ึกษาการพัฒนาแอปพลเิ คชันไอโอที
“ระบบรดนา้ ต้นไม้อตั โนมตั ิ” มกี ระบวนการทางานอยา่ งไร
2.นกั เรียนทาแบบฝึกหดั ทา้ ยบท
3. สรปุ
ครแู ละนักเรียนรว่ มกนั สรุป เรื่องอนิ เทอร์เน็ตของสรรพส่ิง
3) ขัน้ สรุป
ครแู ละนักเรยี นร่วมกันสรุป เร่อื งอินเทอร์เนต็ ของสรรพสง่ิ
ชว่ั โมงท่ี 3-4
1) ข้นั นาเข้าสบู่ ทเรียน
ครูทบทวนบทเรยี นในชว่ั โมงท่ีผ่านมา เรอ่ื ง ระบบรดน้าอัตโนมตั ิ
2) ขั้นสอน โดยใชก้ ระบวนการสรา้ งเจตคติ
1. สงั เกต
1) ครใู หน้ ักเรยี นดูภาพปัญหาสง่ิ แวดลอ้ ม คือ ฝนุ่ มลพิษทางอากาศ
2) ครูสาธติ การเขยี นโปรแกรมโดยใชไ้ มโครบิต พร้อมกับใหน้ กั เรยี นลงมือปฏิบตั ิ
2. วิเคราะห์
1) ครใู ห้นักเรียนศึกษา ใบความร้ทู ี่ 1 เร่อื ง เร่ิมต้นกับ micro:bit V2.0
2) ให้นกั เรยี นทาใบงานที่ 1 ออกแบบเครอ่ื งฟอกอากาศ
3. สรปุ
ครูและนักเรยี นรว่ มกันสรุป เรือ่ ง การเขียนโปรแกรมโดยใชไ้ มโครบติ
3) ขั้นสรุป
ครูและนักเรยี นร่วมกันสรปุ เรอ่ื ง วธิ กี ารทาเคร่ืองฟอกอากาศ และใหน้ ักเรยี นไปศึกษา
คน้ ควา้ เพ่ิมเตมิ
ชวั่ โมงท่ี 5-6
1) ขั้นนาเขา้ ส่บู ทเรยี น
ครทู บทวนบทเรยี นในชั่วโมงที่ผา่ นมา เร่ือง วธิ ีการทาเครอ่ื งฟอกอากาศ
2) ขั้นสอน โดยใชก้ ระบวนการสร้างเจตคติ
4. สังเกต
1) ครใู ห้นักเรยี นนาเสนอวิธีการทาเครอ่ื งฟอกอากาศท่ีนักเรยี นได้ไปศึกษาค้นควา้
เพม่ิ เติ
2) ครสู าธิตการเขยี นโปรแกรมโดยใช้ไมโครบติ พร้อมกับให้นกั เรียนลงมือปฏบิ ตั ิ
5. วเิ คราะห์
1) ครใู ห้นักเรยี นศึกษา ใบความรู้ที่ 2 เรือ่ ง การแสดงผล 7 Segment 4 หลกั
TM1637
ใบความร้ทู ี่ 3 เรอื่ ง เชื่อมต่อโมดูลวัดฝนุ่ ละออง PMS7003
โรงเรยี นบา้ นสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษท่ี 21 เพ่อื คุณครู หนา้ 5
2) ให้นักเรยี นลงมือเขียนโปรแกรมและสรา้ งเครื่องฟอกอากาศ
6. สรปุ
1) ครูและนกั เรยี นร่วมกันสรุป เร่อื ง เขียนโปรแกรมและสร้างเครื่องฟอกอากาศ
3) ขั้นสรุป
ครูและนักเรียนรว่ มกนั สรปุ เรื่อง วธิ กี ารทาเครื่องฟอกอากาศ
12. ระบเุ ทคนคิ การสอนที่ใช้ในการจดั การเรียนรู้ไดม้ ากกว่า 1 รายการ
1. ใชบ้ รรยาย
2. สาธติ
3. ใชก้ รณตี ัวอยา่ ง
4. โครงงาน
13. ส่ือและแหล่งเรยี นรู้
1. หนังสือเรยี น
2. สไลดส์ ื่อประกอบการสอน
3. ใบความรู้
ใบความรทู้ ี่ 1 เร่ือง เร่มิ ต้นกบั micro:bit V2.0
ใบความร้ทู ่ี 2 เรื่อง การแสดงผล 7 Segment 4 หลัก TM1637
ใบความรทู้ ี่ 3 เรือ่ ง เช่ือมต่อโมดูลวัดฝุน่ ละออง PMS7003
14. การวดั ประเมนิ วธิ กี ารวัด เครือ่ งมือวัด เกณฑ์การวดั
จดุ ประสงค์การเรยี นรู้
1.การตอบคาถาม 1.แบบฝึกหดั 1.สามารถตอบคาถามใน
1.นกั เรยี นอธบิ ายองคป์ ระกอบและ แบบฝึกหัดได้ถกู ต้องตาม
ประโยชน์ของไอโอทไี ด้ (K) ในแบบฝกึ หดั หลกั การ 80 % ขึน้ ไป
2.นกั เรียนสามารถอภปิ รายกระบวนการ 2.ตรวจใบงาน 2.แบบประเมินใบ 2.สามารถตอบคาถามในใบ
งาน งานได้ 80 % ขึ้นไป
ทางานของอปุ กรณไ์ อโอทีได้ (P)
3.แบบประเมิน 3.นักเรยี นมีคณุ ลักษณะอนั
3.นักเรียนมีความใฝเ่ รยี นรู้ (A) 3.สงั เกต พฤติกรรม พึงประสงค์ ได้ 85% ขนึ้ ไป
พฤติกรรมในการ
ทาแบบฝึกหดั
โรงเรียนบา้ นสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษที่ 21 เพอ่ื คุณครู หนา้ 6
15. บนั ทกึ หลังการเรียนการสอน
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
..............................................................................................................................................................................
ลงชอื่ ............................................ ครผู ้สู อน
(นางสาวปรยี าดา ทะพิงค์แก)
.........../....................../............
โรงเรยี นบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษที่ 21 เพอ่ื คณุ ครู หน้า 7
ใบความรู้ที่ 1 เรอื่ ง เริม่ ตน้ กบั micro:bit V2.0
Micro:bit V2.0 มาพร้อมคุณสมบัตใิ หม่ หลายๆ ตัว ประกอบด้วย
• มลี าโพงขนาดเล็กติดตัง้ ในตวั
• มไี มโครโฟนพรอ้ มไฟสถานะเม่ือมีการใช้งานไมโครโฟน
• ปิดการทางานตัวเองได้โดยการกดสวิตชร์ ีเซตคา้ งไว้
• รองรับการสัมผัสแบบ Capacitive ทข่ี า P0 P1 P2 และ โลโก้ ทาใหก้ ารสัมผัสตอบสนองเร็วข้นึ
เขียนโคด้ ดว้ ย Microsoft Makecode สาหรับการใชง้ านกับ micro:bit V2.0 แนะนาเวอร์ชัน่
Online ผ่าน https://makecode.microbit.org/ Browser เพื่อการน้ีแนะนาให้ใช้ Microsoft
Edge หรอื Google Chrome เทา่ น้ัน และระบบปฏิบตั กิ ารต้องเปน็ Windows 10 เน่อื งจากการดาวน์โหลด
ข้อมูลสาหรับ micro:bit สามารถใช้ดาวน์โหลดผา่ น WebUSB ได้ และนอกจากการดาวน์โหลดแล้ว จะได้
ความสามารถในการสื่อสารข้อมูลระหวา่ งบอรด์ กับคอมพิวเตอรม์ าด้วย
สรา้ ง Project ลากบลอ็ กเขยี นโคด้
สร้าง Projects กันก่อน โดยจะมีหน้าต่างให้ตั้งช่ือปรากฏขึ้นมา ถ้าป้อนชื่อ MakeCode จะดีใจมาก จากน้ัน
กดปุ่ม Create
โรงเรยี นบ้านสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแหง่ ศตวรรษที่ 21 เพอ่ื คุณครู หน้า 8
โค้ดแรกท่ีจะสร้างเป็นไฟกะพริบ โดยให้ติดดับสลับกันท่ีพิกัด X = 0 ,Y = 0 ซึ่งคือ LED ตาแหน่งมุมบน
ด้านซา้ ยน่นั เอง
Pair device เพอื่ เชือ่ มตอ่ micro:bit ผา่ น webUSB
เพ่ือดาวน์โหลดโค้ดท่ีเขียนข้ึนส่งไปยัง micro:bit จะต้องเชื่อมต่อ micro:bit กับ Microsoft Makecode
เสียก่อน โดยทาตามข้ันตอนดงั นี้
กดทเี่ ครื่องหมาย … ด้านขวาของปุม่ Download
เลอื กคาส่งั Pair device จะพบหน้าตา่ งแนะนาขน้ั ตอนการจับคู่
โรงเรียนบา้ นสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแห่งศตวรรษท่ี 21 เพอื่ คุณครู หน้า 9
ใหเ้ ช่ือมตอ่ micro:bit เข้ากบั คอมพวิ เตอรผ์ า่ นสาย USB แลว้ กดท่ีปุ่ม Pair device
ทห่ี นา้ ตา่ งการเชอ่ื มตอ่ จะพบอปุ กรณใื นชอื่ CMSIS-DAP หรือ DAPLink CMSIS-DAP ให้เลอื กและกดเช่ือมต่อ
เมื่อเช่ือมต่อแล้ว สามารถกดปุ่ม Download เพื่อดาวน์โหลดโค้ดตรงไปยัง micro:bit ได้ทันที
นอกจากนี้ยังสามารถใช้คาสั่งในการสื่อสารข้อมลู ระหว่าง micro:bit กับคอมพิวเตอรไ์ ด้ดว้ ย
สร้างเสียงออกลาโพง
micro:bit V2 จะติดตงั้ ลาโพงขนาดเล็กไวบ้ นตวั สามารถส่งคาส่งั สร้างเสียงออกไปยงั ลาโพงภายในได้เลย
คาสัง่ ทเ่ี กี่ยวข้องกบั การสรา้ งเสียง
โรงเรียนบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแหง่ ศตวรรษท่ี 21 เพื่อคุณครู หน้า 10
Play melody เป็นชุดคาสั่งใหม่ที่มีอยู่ใน Microsoft MakeCode version: 6 ขึ้นไป ช่วยให้การ
สรา้ งโนต๊ ดนตรีงา่ ยขึ้น นอกจากน้ใี น Tab Gallery ยังมีตวั อยา่ งโนต๊ ให้ทดลองใช้งานไดด้ ้วย
set built-in speaker เป็นชุดคาสั่งใหม่ สาหรับ micro:bit V2 เท่าน้ัน ใช้เปิดใช้งานลาโพงที่ติดต้ัง
บน micro:bit V2 เพ่ือเล่นเสยี ง
ปกติถ้าไม่ได้กาหนดค่า ค่าเดิมจะอยู่ท่ี ON คือมีเสียงออกท่ีลาโพงภายในตัวมัน (และออกที่ขาพอร์ตที่กาหนด
ไว้ด้วย)
โรงเรยี นบ้านสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแหง่ ศตวรรษที่ 21 เพอ่ื คณุ ครู หน้า 11
ถ้าใชบ้ ลอ็ กน้กี ับ micro:bit V1 จะแสดงขอ้ ผิดพลาด 927 ขึ้นท่ีหน้าจอ
play sound … until done เป็นชุดคาส่ังใหม่ สาหรับ micro:bit V2 เท่าน้ัน เป็นการเล่นเสียงในชุดโทน
เสียงท่ีระบุ คาส่ังสร้างเสียงจะทางานจนเสร็จถึงจะไปทางานคาส่ังถัดไปได้ แนวเสียงที่มีเป็นลักษณะเสียง
สังเคราะห์ แสดงอารมณ์ตา่ งๆ ได้
ถ้าใช้บล็อกน้ีกบั micro:bit V1 จะแสดงข้อผิดพลาด 927 ขึ้นทีห่ น้าจอ
play sound เป็นชุดคาสั่งใหม่ สาหรับ micro:bit V2 เท่าน้ัน เป็นการเล่นเสียงในชุดโทนเสียงท่ีระบุ คาสั่ง
สร้างเสียงจะทางานอยเู่ บื้องหลงั คาสั่งที่ต่อท้ายจะทาต่อทันที แนวเสียงท่ีมีเป็นลกั ษณะเสียงสังเคราะห์ แสดง
อารมณ์ตา่ งๆ ได้ ถ้าใชบ้ ล็อกนีก้ บั microbit V1 จะแสดงขอ้ ผดิ พลาด 927 ขน้ึ ทหี่ น้าจอ
โรงเรยี นบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษที่ 21 เพื่อคณุ ครู หนา้ 12
set audio pin เป็นชุดคาส่ังใหม่ที่มีอยู่ใน Microsoft MakeCode version: 6 ข้ึนไป (อยู่ในหัวข้อ Pin) ทา
หน้าที่กาหนดขาสาหรับการเชื่อมต่อลาโพงภายนอก สาหรับเวอร์ชั่นก่อนหน้าน้ีลาโพงจะต่อเข้ากับขา P0
เทา่ นั้น โดยถา้ ไมก่ าหนดคา่ ลาโพงภายนอกจะต้องต่อกบั ขา P0
ตวั อยา่ งท่ี 1 สร้างเสียงหลายรูปแบบ
ตัวอย่างการสร้างเสียงออกไปยังลาโพงของ micro:bit จะกระตุ้นให้ทางานด้วยการกดสวิตช์ A B และ การ
เขยา่ (shake)
ถา้ ไม่ตอ้ งการเขียนโคด้ ยาวๆ ก็เปดิ ทดสอบจากลิงก์นไ้ี ดเ้ ลย
https://makecode.microbit.org/_36q0xuiueC0r
ถ้ากดสวิตช์ A จะให้เล่นตัวโน๊ตเพลง Star War โดยปรับความเร็วไว้เป็นมาตรฐานคือ 120 bpm (Beat Per
Minute)
ถ้ากดสวิตช์ B จะเป็นการเล่น Melody เพลงท่ีมีให้เลือกในรายการอยู่แล้ว ในท่ีนี้ใช้เพลง wedding โดยจะ
เล่นเพียงคร้ังเดียว
ถ้ากดสวิตช์ A และ B พร้อมกันจะสร้างเสียง Melody ด้วยคาสั่ง play melody โดยจะเล่นตัวโน๊ตไล่ลาดับ
จากตา่ ไปหาสูงและจากสูงมาหาตา่
โรงเรยี นบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษท่ี 21 เพ่อื คณุ ครู หน้า 13
ถา้ เขย่า (shake) จะกระตนุ้ ให้สร้างเสยี งเมโลด้ขี อง Pink Panter โดยกาหนดความเรว็ ไว้ท่ี 120 bpm (Beat
Per Minute)
ตัวอย่างน้สี ามารถใช้งานไดท้ ง้ั microbit V1 และ V2
ถ้าต่อ micro:bit V2.0 เข้ากับ AX-microBIT สามารถสั่งให้ลาโพงดังท้ังบนตัว micro:bit และบน AX-
microBIT
ตัวอยา่ งที่ 2 สรา้ งเสียง Robot สาหรบั micro:bit V2
คาสง่ั play sound ท่ีให้ทดสอบนมี้ ี 2 รปู แบบคือแบบเล่นอนั แรกเสรจ็ แล้วคอ่ ยเล่นอันที่ 2 ตอ่ ไป กับแบบให้
ทางานอยเู่ บอ้ื งหลัง
ถ้ากดปมุ่ A ผลลพั ธ์ทไ่ี ด้จะเป็นการเลน่ เสยี งแรกจนเสรจ็ แล้วค่อยเลน่ เสยี งอนั ท่ี 2
ถ้ากดปมุ่ B จะไดย้ ินเสยี งแรกและเสียงที่ 2 ออกมาคู่กัน
https://makecode.microbit.org/_bjfUYwfR6Eot
ไมโครโฟน ตรวจจับเสียง
สาหรับ microbit V2 นอกจากมีลาโพงติดตั้งมาให้ใช้งานแล้ว ยังมีไมโครโฟน ติดตั้งมาด้วย มาพร้อมกับ
ชดุ คาส่ังเรียกใชง้ าน 3 คาส่ังอยู่ในหวั ขอ้ input ประกอบดว้ ย
โรงเรยี นบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษที่ 21 เพือ่ คณุ ครู หน้า 14
on sound ประกอบไปด้วย on loud sound และ on quiet sound จะกระตุ้นให้ทางานเม่ือเสียงดัง
(loud) กว่าที่กาหนดหรือเงียบ(quiet) กว่าท่ีกาหนด ค่าระดับเสียงจะอยู่ในช่วง 0 (เงียบ) ถึง 255 (ดังที่สุด)
ค่าอ้างอิงที่ใช้เปรียบเทียบวา่ เสียงดังหรือค่อย สามารถปรับต้ังได้ผ่านคาสั่ง set Sound Threshold โดยถ้าไม่
กาหนดค่าตงั้ ตน้ จะอยทู่ ี่ 128
set sound threshold ใช้เพื่อกาหนดค่าอ้างอิงให้กับเหตุการณ์ on sound เมื่อ on loud sound ได้รับ
ค่าเสียงมากกว่าคา่ ท่ีตง้ั ไว้ จะถกู กระตุ้นให้ทางานและ on quiet sound ได้รับค่าเสียงน้อยกว่าท่ีตั้งไว้ จะถูก
กระตุ้นใหท้ างาน ถา้ ไมไ่ ดก้ าหนดคา่ เดมิ จะอยู่ท่ี 128
sound level เปน็ การคืนค่าเสียงทไี่ ด้จากไมโครโฟนค่าระดบั เสียงจะอยใู่ นช่วง 0 (เงียบ) ถงึ 255 (ดังทีส่ ุด)
โรงเรยี นบ้านสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแห่งศตวรรษท่ี 21 เพอื่ คุณครู หน้า 15
ตวั อย่างท่ี 3 แสดงค่าเสยี งผ่าน plot bargraph
https://makecode.microbit.org/_6VUXYraWWb2W
คาส่ัง Plot bargraph นอกจากแสดงผลที่ LED 5×5 แล้ว เมื่อดาวน์โหลดโค้ดไปยังบอร์ด micro:bit V2 ผ่าน
ช่องทาง WebUSB จะสามารถแสดงผลผ่าน Show console device โดยแสดงผลเป็นเส้นกราฟที่เห็นการ
เปล่ียนแปลงทนั ที พรอ้ มแสดงตวั เลขทีม่ กี ารเปลยี่ นแปลงตามเวลาจริง
ตัวอยา่ งที่ 4 ตบมือนับค่าขึน้ ทีละ 1 คา่
https://makecode.microbit.org/_ERDC4rPg9f8s
โรงเรยี นบา้ นสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษที่ 21 เพือ่ คณุ ครู หน้า 16
ตัวอย่างน้ีเป็นการวนลูปตรวจสอบค่าเสียง ถ้าค่าความดังของเสียงมีค่ามากกว่า 128 ให้นับค่าขึ้น 1 ค่าแล้ว
แสดงค่าออกที่ LED 5×5 ในกรณที ีก่ ดสวติ ช์ A ให้เคลยี รค์ า่ การนบั กลายเป็น 0 ใหม่
หมายเหตุ ตัวอย่างนี้มีการใชต้ ัวแปร สร้างจากหวั ข้อ Variable กาหนดชื่อเป็น X
ตวั อยา่ งท่ี 5 ตบมือนับคา่ ขึ้นทลี ะ 1 ค่าแบบ Event
https://makecode.microbit.org/_64tM0kYrUMoV
ปรับเปล่ียนโค้ดจากตัวอย่างก่อนหน้านี้ท่ีใช้การวนลูป คอยตรวจสอบค่าเสียงให้เป็นการกระตุ้นให้ทางานด้วย
เหตกุ ารณแ์ ทน จะเกดิ เหตกุ ารณเ์ มอื่ มีเสียงดงั เกนิ กว่า 128
ความแตกต่างของโค้ดคือ ถ้าเราสร้างเสียงแบบต่อเนื่อง เช่นปรบมือต่อกันหลายคร้ัง โปรแกรมน้ีจะเก็บค่าไว้
ทงั้ หมดแลว้ นาคา่ มาแสดงตอ่ เนื่อง ไมต่ ้องรอใหง้ านเกา่ เสร็จแลว้ จึงรบั คาสง่ั ใหม่เหมอื นโค้ดก่อนหนา้ น้ี
การใช้ Touch Sensor
อีกความสามารถที่สาคัญของ micro:bit V2 คือเรื่อง Capacitive Touch ท่ีแตะสาผัสได้ไวเหมือนกับเรา
สัมผัสหน้าจอมือถือ ใน V1 การสัมผัสทาได้ท่ีขา P0 P1 และ P2 เท่านั้นและเป็นแบบ Resistive คือจะต้องมี
การไหลผา่ นของกระแส ในท่นี เ้ี ปน็ การไหลผา่ นจากขาทส่ี มั ผัสไปลงกราวด์ (GND)
มาดูกันว่าใน micro:bit V2 การสัมผัสที่ขา P0 P1 P2 และเพิ่มจุดสัมผัสท่ี Logo ขึ้นมา จะง่ายต่อการใช้งาน
มากแคไ่ หน
โรงเรียนบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแห่งศตวรรษที่ 21 เพ่อื คุณครู หน้า 17
คาสั่งท่ใี ชง้ านการการ TOUCH
set to touch mode เป็นคาส่ังท่ีจะกาหนดให้ขาพอร์ต P0 P1 P2 และ Logo มีโหมดในการสัมผัส
แ บ บ Capacitvie ห รื อ แ บ บ Resistive โ ด ย ค่ า เ ร่ิ ม ต้ น ข า พ อ ร์ ต P0 P1 P2 จ ะ เ ป็ น
แบบ Resistive สว่ น Logo จะเปน็ แบบ Capacitive
เหตกุ ารณ์ on logo บลอ็ กจะถูกกระตนุ้ เมอ่ื จากการสัมผัสทต่ี วั Logo โดยมหี ลายรูปแบบคอื
pressed จะเกดิ ข้ึนเมอื่ มกี ารแตะแลว้ ปลอ่ ย
touched จะเกิดขน้ึ เม่อื มกี ารแตะ
released จะเกดิ ข้นึ เม่อื มีการปลอ่ ยหลังจากแตะแลว้
long pressed จะเกดิ ขึน้ เมอื่ มกี ารกดค้างไว้นานๆ
logo is pressed บล็อกจะคนื ค่าสถานะการกดท่ตี วั โลโก้
เป็นจริง เม่ือมีการกดที่ Logo
เป็นเทจ็ เมอื่ ไม่มีการกดที่ Logo
ตัวอย่างท่ี 6 ทดสอบ Resistive และ Capacitive
https://makecode.microbit.org/_Tj3dEPaimCFu
โรงเรยี นบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแห่งศตวรรษท่ี 21 เพ่ือคณุ ครู หน้า 18
ตวั อยา่ งนีจ้ ะใชส้ วติ ช์ A เพือ่ ให้โหมดของขา P0 P1 P2 และ Logo สัมผสั แบบ Capacitive ส่วนสวิตช์
B จะเปลย่ี นโหมดเปน็ Resistive
สาหรับเหตุการณ์สาหรับขา P0 P1 และ P2 จะให้แสดงด้วยเสียงออกลาโพง ส่วนสัมผัสท่ีโลโก้จะให้
แสดงรูปหัวใจ โดยเมอ่ื ปล่อยจะสัง่ ใหเ้ คลียรห์ นา้ จอ
ทดสอบฟังก์ชั่นใหม่ๆ ของ micro:bit เวอร์ช่ัน 2 กันแล้ว ต่อไปก็มาทดลองใช้ความสามารถอัน
หลากหลายของ micro:bit ผ่านชดุ ทดลอง micro:bit Education Kit กนั
ควบคมุ อปุ กรณเ์ อาตพ์ ุตดิจิทลั
คาสงั่ DIGITAL WRITE PIN
เป็นการสง่ ค่าดิจิทลั ไปยังขาพอร์ตทก่ี าหนด
โรงเรียนบ้านสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแห่งศตวรรษท่ี 21 เพ่ือคุณครู หน้า 19
ตัวอย่างท่ี 7 กดสวิตช์สลบั สถานะ LED https://makecode.microbit.org/_8w7DeR0tz933
ใชส้ วติ ช์ A และ สวติ ช์ B กด 1 ครัง้ LED ตดิ กดอีกคร้งั LED ดบั
โรงเรียนบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษท่ี 21 เพือ่ คุณครู หนา้ 20
การทางานของโปรแกรม
ตัวอย่างนี้จะสร้างตัวแปร S1 และ S2 ไว้เก็บสถานะของ LED ว่าติดหรือดับ จากน้ันเมื่อมีการกด
สวิตช์ ก่อนที่จะให้ LED ติดหรือดับ จะต้องตรวจสอบก่อนว่าค่าเดิมของมันคืออะไร ถ้าเดิมเป็นจริง จะเปลี่ยน
ให้กลายเปน็ เทจ็ และส่งั ใหห้ ลอดไฟติด ทางกลับกันถา้ เดมิ เป็นเทจ็ จะเปลย่ี นใหเ้ ปน็ จริงและสัง่ LED ติดสวา่ ง
การอา่ นค่าอนิ พุตดจิ ิทัล
คาส่ัง digital read pin จะคืนค่าลอจิก 0 หรือ 1 ออกมาจากขาที่ต้องการตรวจสอบ ซ่ึงขาท่ีใช้งาน
ไดค้ ือขา P0-P16
ตวั อยา่ งที่ 8 สรา้ งเสยี งจากการกดสวติ ชท์ ต่ี ่อภายนอก
https://makecode.microbit.org/_hahismPJ2J8d
ZX-BUTTON จะต่างจากสวิตช์ A และ B บนบอร์ดตรงที่ เม่ือกดจะให้ผลลัพธ์เป็นเท็จหรอื 0 แต่เม่ือ
ไม่กดสวิตช์จะให้ผลลัพธ์เป็น 1 เพื่อให้เห็นตัวอย่างการใช้งานง่าย ๆ จะให้การกดสวิตช์เป็นการส่งเสียงออก
ลาโพง โดยให้เสียงของเมื่อกดสวิตช์ท้ังสองตัวดังต่างกัน และถ้ากดสวิตช์ 2 ตัวพร้อมกันก็จะให้เสียงดังอีก
ความถีเ่ สยี ง
โรงเรยี นบา้ นสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษท่ี 21 เพอ่ื คุณครู หนา้ 21
การทางานของโปรแกรม
ตัวอย่างนี้ใช้ if เพียงชุดเดียวในการตรวจสอบเง่ือนไข โดยถ้าเง่ือนไขแรกเป็นจริง ไม่จาเป็นต้อง
ตรวจสอบเงื่อนไขท่ี 2 และ 3 ต่อ สาหรับเง่ือนไขแรกขา P12 และ P13 จะต้องเป็น 0 ท้ังคู่เง่ือนไขจึงจะเป็น
จรงิ หมายความว่า สวิตช์ทั้งสองตวั จะตอ้ งถกู กดพรอ้ มกนั นนั่ เอง
การอ่านค่าแอนะล็อก
สาหรับ microbit ท้ัง V1 และ V2 มีขาท่ีสามารถอ่านค่าแอนะล็อกเข้ามาได้ 6 ขา ประกอบด้วยขา
P0 P1 P2 P3 P4 และ P10 โดยวงจรแปลงแอนะล็อกเป็นดิจิทัลภายในตัว microbit มีขนาด 10 บิต อ่านค่า
ได้ในชว่ ง 0-1023 เทียบกบั แรงดนั ที่เขา้ ขาอินพุต 0-3.3V
analog read pin เป็นคาสั่งที่คืนค่าแอนะล็อก มีค่าระหว่าง 0-1023 จากขาที่กาหนด โดยขาที่สามารถ
แปลงแอนะล็อกเปน็ ดจิ ิทัลได้คือขา P0-P4 และ P10
ตัวอย่างที่ 9 ทดสอบวัดแรงดนั แบตเตอรี่
โปรดใชค้ วามระมัดระวงั ในการใช้งาน อาจจะทาให้บอร์ด microbit เสียหายได้
ถ่านขนาด AA หรือ AAA ที่เป็นแบบอัลคาไลน์หรือถ่านชาร์จระมีแรงดันประมาณ 1.2-1.5V ซ่ึงอยู่
ในช่วงที่ไม่เกินแรงดันสูงสุดของ micro:bit สามารถเขียนโค้ดเพื่ออ่านค่าแรงดันจากแบตเตอร่ีประเภทนี้ได้
โดยการหาแรงดันท่ีวัดไดจ้ ะมาจากสูตร
แรงดันท่ีวัดได้ = ค่าแอนะล็อกที่อ่านได้ x แรงดันไฟเลี้ยงของ microbit /ค่าสูงสุดของวงจรแปลงแอนะล็อก
เปน็ ดิจทิ ลั
แรงดันที่วดั ได้ = ค่าแอนะล็อกทอี่ ่านได้ x 3.3 /1023
โรงเรียนบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแห่งศตวรรษท่ี 21 เพ่อื คุณครู หน้า 22
จากคณุ สมบัติน้ีนามาเขียนเป็นโค้ดเพื่อตรวจสอบถ่านไฟฉาย พรอ้ มใช้งานหรือไม่พร้อมใชง้ านได้ โดย
ถ้าแรงดันของแบตเตอรี่มีค่ามากกว่า 1.2V แสดงว่ามีไฟอยู่พร้อมใช้งาน แต่ถ้ามีแรงดันต่ากว่า 1.2V แสดงว่า
ไมพ่ ร้อมใชง้ าน
การทางานของโปรแกรม
ขณะเริ่มต้น ให้แสดงข้อความ “Battery Tester” ข้ึนมาก่อน ผู้ใช้งานจะต้องใช้สายไฟ เสียบท่ีขา P0 ของ
บอร์ด AX-microBIT ไปยังข้ัวบวกของแบตเตอร่ี และขา GND ของบอร์ด AX-microBIT ไปยังขั้วลบของ
แบตเตอร่ี เมอ่ื กดสวติ ช์ B จะเปน็ การแสดงค่าแอนะล็อก ออกมาที่หน้าจอ โดยคา่ นเี้ ราจะไม่สามารถตีความได้
ว่าแบตเตอรี่ดีหรือเสีย เมื่อกดสวิตช์ A จะเป็นการอ่านค่าแอนะล็อกแล้วนามาแปลงเป็นแรงดัน นามาแสดงท่ี
หน้าจอ ค่าท่ีได้จะเป็นแรงดันไฟท่ีวัดได้หน่วยเป็นโวลต์ จากน้ันทาการตรวจสอบว่าแรงดันท่ีอ่านได้มีค่า
มากกว่า 1.2V หรือไม่ ถ้าไม่ใช่แสดงว่าแบตเตอรี่ไม่พร้อมใช้งานให้แสดงเคร่ืองหมายผิด แต่ถ้าใช่ให้แสดง
เคร่อื งหมายถูก
โรงเรยี นบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษท่ี 21 เพ่ือคุณครู หนา้ 23
โรงเรียนบ้านสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษที่ 21 เพอื่ คณุ ครู หน้า 24
ใบความรู้ที่ 2 เร่ือง การแสดงผล 7 Segment 4 หลกั TM1637
การแสดงผล 7 Segment 4 หลกั TM1637
สาหรับการแสดงผลข้อมูลตัวเลขของ micro:bit ทาได้แต่ช้าหน่อย ต้องหาตัวช่วย อุปกรณ์ที่ใช้งานได้สะดวก
และราคาไม่แพงต้องยกให้กบั โมดลู แสดงผล 7 Segment 4 หลักขับเคล่อื นดว้ ยไอซี TM1637
TM1637
ไอซี TM1637 ของบริษัท Titan micro electronics ออกแบบมาเพ่อื ควบคมุ การแสดงผล 7 Segment แบบ
คอมมอนอาโนดไดส้ ูงสุด 6 หลัก โดยใช้ขาควบคมุ เพยี ง 2 เส้นคอื DIO (ขาขอ้ มลู ) และ CLK (สญั ญาณนาฬิกา)
และยังสามารถปรับความสว่างของ 7 Segment ได้ นอกจากน้ีไอซีตัวนี้ยังสามารถต่อสวิตช์ร่วมได้อีก 16 ตัว
ซึง่ โมดลู ท่ีเราเลือกใช้ไมไ่ ด้ต่อสวิตชเ์ หล่านีไ้ ว้
การเชอื่ มตอ่ สายกับ PROJECT:BIT
ขา DIO กับขา CLK สามารถเลือกต่อกับขาไหนๆ ของ PROJECT:BIT ก็ได้ ในที่น่ีเลือกใช้ขา 15
สาหรับ CLK และขา 16 สาหรับ DIO (อย่าลมื กาหนดในสว่ นของโค้ดใหต้ รงกันดว้ ย ) สาหรับไฟเล้ยี ง 5V เลอื ก
ต่อจุดต่อสแี ดงอนั ไหนก็ได้ สว่ นกราวดห์ รือ GND ตอ่ เขา้ กบั ขัว้ สดี าขัว้ ใดกไ็ ดเ้ ชน่ กนั
โรงเรียนบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแหง่ ศตวรรษที่ 21 เพอ่ื คณุ ครู หนา้ 25
EXTENSION สาหรบั TM1637
สาหรับชุดคาสั่งเพ่ือใช้งานกับ microsoft makecode มีคนทาให้เราใช้งานเรียบร้อยแล้ว คนทาใช้
ช่ือว่า shaoziyang เน่ืองจากเป็นตัวที่ได้รับความนิยมและ ลงทะเบียนกับ microsoft ไว้เรียบรอ้ ย จึงสามารถ
พมิ พ์ TM1637 ในชอ่ งค้นหาสาหรับเพ่ิม Extension ไดเ้ ลย หรือถ้าหาไม่เจอกพ็ ิมพล์ งิ ก์ยาวๆ ตามนคี้ รบั
https:/github.com/microbit-makecode-packages/TM1637
1. ในสว่ นของชดุ คาสง่ั คลกิ เลอื กท่ี EXtensions
2. พมิ พ์ TM1637 ในช่องค้นหา จะพบ Extensions หน้าตาดังรปู
โรงเรียนบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษท่ี 21 เพื่อคุณครู หน้า 26
คาสัง่ สาคัญของ TM1637
ตัวอยา่ ง นบั ค่าตวั เลขขนึ้ ทกุ ๆ 1 วินาทผี ่าน TM1637
การทางานของโปรแกรม
1. สร้างตวั แปร tm เพ่ือระบุตาแหนง่ การเชอื่ มต่อโมดลู TM1637 เขา้ กบั ขา 15 และ 16
2. กาหนดตวั แปร Count ซง่ึ ออกแบบมาใชก้ บั การนบั เลขใหม้ คี ่าเท่ากับ 0
3. นาคา่ ของตวั แปร Count แสดงทีโ่ มดลู TM1637 (ค่าแรกจะแสดง 0000)
4. เพอื่ ให้เกิดการกะพริบทีจ่ ุด : ตรงกลาง เลอื กให้แสดงค่า DotPoint เปน็ เวลา 0.5 วนิ าที และให้ดับอีก 0.5
วนิ าที
โรงเรยี นบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแห่งศตวรรษท่ี 21 เพอื่ คุณครู หน้า 27
5. เมือ่ แสดงคา่ : เสรจ็ ครบเวลา 1 วินาทพี อดี ให้เพม่ิ ค่าการนบั ขนึ้ 1 คา่ วนทาอยา่ งนี้ไปเรือ่ ยๆ
อา้ งองิ
http://doc.inex.co.th/projectbit01_tm1637/
โรงเรยี นบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษท่ี 21 เพือ่ คุณครู หน้า 28
ใบความรทู้ ่ี 3 เรอ่ื ง เช่อื มต่อโมดูลวัดฝุ่นละออง PMS7003
โมดูล PMS7003 ใช้การเชื่อมต่อกับไมโครคอนโทรลเลอร์ผ่านการส่ือสารอนุกรม ประกอบด้วยขา
TxD สาหรับส่งข้อมูล และขา RxD สาหรับรับข้อมูล ในโหมด Active ท่ีจะยกตัวอย่าง เลือกใช้งานเพียงรับ
ข้อมูลเท่าน้ัน อาจเลือกต่อขา RxD เพียงขาเดียวไม่ต้องต่อขา TxD ก็ได้ สาหรับไฟเลี้ยงที่จ่ายให้บอร์ด
PMS7003 จะต้องใช้ไฟเล้ียง 5V เน่ืองจากพัดลมที่ใช้งานใช้ไฟเลี้ยง 5V สาหรับขารับส่งข้อมูลนั้นระดับ
สัญญาณอยู่ที่ 3.3V เมื่อเช่ือมต่อกับ PROJECT:BIT จะต้องใช้ตาแหน่งขาของเซอร์โวมอเตอร์มาเชื่อมต่อแทน
เน่ืองจากแรงดันไฟที่ตาแหน่งนี้คือ 5V และทาให้จาเป็นต้องต่อไฟเล้ียงจากอแดปเตอร์ภายนอก การเช่ือมต่อ
สายแสดงดังรปู
ITEM ท่ซี อ่ นไว้ของชุดคาสัง่ โหมด Serial
โรงเรียนบา้ นสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแห่งศตวรรษท่ี 21 เพ่ือคณุ ครู หนา้ 29
คาส่ัง serial on data received จะถูกกระตุ้นเม่ือพบตัวอักษรที่กาหนด (จากัดไว้ไม่ก่ีตัวเท่านั้น)
เนื่องจากการเช่ือมต่อกับโมดูลวัดฝุ่นละอองต้องใช้การสื่อสารอนุกรม ดังนั้นจึงต้องใช้ชุดคาสั่งใน โหมด
Serial ซ่ึงเหตุการณ์ที่ใช้กระตุ้นเพ่ือรับข้อมูล คอื serial on data received ในบลอ็ กคาส่ังมตี วั เลือกเฉพาะ
การรอรับอกั ขระพิเศษเพยี งไม่ก่ีตัวเทา่ นัน้ ทาให้ไม่สามารถตรวจสอบขอ้ มูลทเ่ี ปน็ คา่ อื่นๆ ส่งมาได้
โดยคาส่ัง serial on data received ถ้าเปิดในโหมด Java Script จะสามารถปรับแต่งค่าข้อมูลท่ี
ต้องการตรวจสอบ เพื่อให้เกิดเหตุการณ์ได้ สาหรับโมดูลวัดฝุ่นละอองจะมีอักขระ BM ส่งมาก่อนข้อมูลอ่ืนๆ
เสมอดังนน้ั ขอ้ มูลท่ตี ้องการตรวจจบั คือ BM มขี ัน้ ตอนในการเรยี กใช้งานดังนี้
1. ส่วนหัวของ MakeCode ให้เลือกเปลี่ยนเป็นโหมด JavaScript
โรงเรียนบา้ นสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแห่งศตวรรษท่ี 21 เพือ่ คุณครู หน้า 30
2. เลือกชดุ คาสง่ั Serial
3. ลากชดุ คาส่ัง onDataReceived วางทสี่ ่วนการเขยี นโค้ด
4. จ ะ พ บ ชุ ด รู ป แ บ บ ค า ส่ั ง ข อ ง onDataReceived ป ร า ก ฎ ขึ้ น
ส่วน serial.delimiters(Delimiters.NewLine)
คือสว่ นที่เราจะปรบั เปลีย่ น
5. แกใ้ นส่วนนใ้ี ห้กลายเป็น “BM”
6. เมื่อกลบั มาท่ี Blocks ตวั กรองในการรอรับคา่ จะกลายเป็น “BM”
โรงเรียนบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษที่ 21 เพ่อื คณุ ครู หนา้ 31
การกาหนดค่าเพื่อสือ่ สารอนุกรม
1. กาหนดตาแหนง่ ขาพอรต์ ทีใ่ ชเ้ ช่ือมตอ่ ขา Rx (P13) ตอ้ งเชื่อมต่อกบั ขา TxD ส่วนขา Tx (P14) ตอ้ งเช่ือมต่อ
กับขา RxD ของโมดูลวดั ฝุ่นละออง
2. เน่ืองจาก การรับค่าข้อมูลมีจานวนมาก จึงควรจองพื้นที่บัฟเฟอร์เพ่ือรองรับข้อมูลไว้ด้วยในที่นี้จองไว้ 32
ไบต์ (คาส่งั อยใู่ น more)
3. สาหรับการอ่านข้อมูลน้ัน จะใช้คาส่ัง serial read buffer (คาส่ังอยู่ใน more) เพ่ืออ่านข้อมูลท้ัง 32 บิต
มาเก็บไว้ในตวั แปร PM (กลายเปน็ ตัวแปรแบบอาเรย์)
โรงเรยี นบา้ นสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษท่ี 21 เพือ่ คุณครู หนา้ 32
การตรวจสอบความถกู ต้องของข้อมูล
เม่ือได้ข้อมูลมาแล้ว จะต้องตรวจสอบข้อมูลก่อนว่ามีความถูกต้องหรือไม่ โดยข้อมูลในไบต์ 30 และ
31 เป็นข้อมูล 16 บิตของผลรวมของข้อมูลไบต์ 0 ถึง 29 เอาไว้ ดังน้ันเพื่อตรวจสอบ จึงต้องเขียนโค้ดเพ่ือนา
ข้อมูลตั้งแต่ไบต์ 0 ถึงไบต์ 29 มารวมกัน โดยวิธีการวนลูปบวกค่าขอ้ มูลทีละไบต์ไปเร่อื ยๆ เก็บผลลัพธไ์ ว้ในตวั
แปร SUM สาหรับการดึงข้อมูลทีละไบต์ เน่ืองจากตัวแปร PM เป็นตัวแปรอาเรย์ สามารถใช้คาส่งั get value
at เพ่ือดึงขอ้ มลู ออกมาทลี ะไบต์ผา่ นตวั ช้ี (index) ของคาส่ัง for ได้
โรงเรยี นบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแห่งศตวรรษท่ี 21 เพอื่ คณุ ครู หน้า 33
การอ่านค่าฝ่นุ ละออง ท่ี 2.5 ug/m3 แสดงผลที่ 7 Segment
เม่ือนาค่าที่ได้เปรียบเทียบกับค่าผลรวมในตัวแปร temp ถ้าตรงกันแสดงว่าค่าข้อมูลทั้งหมดถูกต้อง
ให้นาค่าผลลัพธ์ ซ่ึงอยู่ในไบต์ 13 (บน) กับไบต์ 14 (ล่าง) มาแสดงท่ีหน้าจอ 7 segment 4 หลัก ผ่านตัวแปร
ช่อื tm ถา้ คา่ ผลลพั ธ์จากการเปรียบเทียบไมเ่ ทา่ กนั ให้แสดงเครือ่ งหมาย X ออกท่ีหน้าจอ LED 5×5
โรงเรียนบ้านสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษที่ 21 เพ่ือคณุ ครู หน้า 34
การอา่ นค่าฝุ่นละออง 3 โหมด 1.0 /2.5/10 ug/m3 แสดงผลที่ 7 Segment
คุณสมบัติของโมดูลวัดค่าผุ่นละออง สามารถแสดงค่าได้ท่ีความหนาแน่นของฝุ่นได้ถึง 3 ระดับคือ
PM1.0 ,PM2.5 และ PM10 ดังน้ันเพ่ือให้ เคร่ืองวัดของเราแสดงได้ทั้ง 3 โหมด ให้เขียนโค้ดเพิ่มเติมจาก
ตวั อยา่ งกอ่ นหนา้ น้ี
1. สรา้ งตวั แปร ADDR เพื่อเก็บคา่ ตาแหน่งไบตข์ ้อมูลเริม่ ต้น
2. ใชป้ มุ่ กด A B และ A+B เพ่อื เปน็ ตวั เลือก ระดบั ความหนาแนน่ ของฝนุ่ ละออง
3. ให้หนา้ จอ LED 5×5 แสดงตัวเลขเพือ่ ระบวุ ่าอยู่ในโหมดอา่ นคา่ รูปแบบใด โดยให้
1 แทน PM1.0 เมอื่ กดปุ่ม A
2 แทน PM2.5 เมื่อกดปมุ่ B
3 แทน PM10 เม่อื กดปมุ่ A+B
4. ขณะเร่มิ ตน้ ทางาน ให้แสดงผลในโหมด PM2.5
https://makecode.microbit.org/_EfpLX8AbXeUC
โรงเรยี นบ้านสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแห่งศตวรรษท่ี 21 เพอ่ื คณุ ครู หน้า 35
การทางานของโปรแกรม
สว่ นท่ีเพิ่มเติมหลักๆ สาหรบั โปรแกรมนี้คือ การใชต้ วั แปร ADDR เป็นตากาหนดตาแหนง่ สาหรับการ
นาค่ามาแสดง แต่เนื่องจากตาแหน่งของข้อมูลมีท้ังไบต์บน และ ล่าง สาหรับไบต์ล่างน้ัน จะใช้วิธีบวกค่าขึ้น 1
ค่าแทน เชน่ ADDR มคี ่า 12 ไบตล์ า่ งที่นามาบวกคอื ไบต์ 13 (ADDR +1)
ผลการทางาน
เม่ือจ่ายไฟเข้าที่ตัวบอร์ดคร้ังแรก LED 5×5 จะแสดงเลข 2 ซ่ึงหมายถึงโหมดการวัดเป็นค่าความ
หนาแน่น PM2.5 แต่เมื่อกดปุ่ม A ค่าตัวเลขแสดงท่ีหน้าจอจะเปลี่ยน และที่ LED 5×5 ก็จะเปล่ียนเป็นเลข 1
เพื่อระบุว่าเป็นโหมดการวัด PM1.0 ท้ายสุดทดสอบกดปุ่ม A และ B พร้อมกัน LED 5×5 จะแสดงเลข 3 ค่าที่
วัดจะอย่ใู นโหมด PM10
อา้ งองิ
http://doc.inex.co.th/projectbit02_pms7003/
หนงั สือรวมโครงงาน micro:bit จบั ไอเดียแจว๋ ใส่บอรด์ จวิ๋ ของ ณรงค์พร เหลา่ ศรสี ิน
โรงเรียนบา้ นสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษท่ี 21 เพอ่ื คณุ ครู หน้า 36
ขัน้ ตอนการสรา้ งสรรคผ์ ลงาน
ในการประดิษฐเ์ ครือ่ งดักจับฝนุ่ PM 2.5 ได้ทาการศึกษาและออกแบบตวั เครอื่ งดักจับ
ฝุ่นดว้ ยละอองน้าใหส้ ามารถทางานไดแ้ บบอัตโนมัติ โดยใชอ้ ุปกรณ์ในการวดั คา่ ของฝุ่นใช้ร่วมกบั บอร์ด
Microbit และ บอร์ด Arduino ซง่ึ ไดต้ ่อยอดมาจากงานวิจยั เรื่อง The automatic system design of a
mist sprayer removal dust PM 2.5 ของ ดร.จริ พิพัฒน์ ธญั พงษภ์ ัทร ซ่ึงเป็นท่ปี รกึ ษาโปคเจกตใ์ นคร้ังน้ี
ดว้ ยการเขียนโค้ดคาสง่ั ใหท้ างานโดยอัตโนมตั ิ โดยมีวิธแี ละขนั้ ตอนโดยละเอียดดงั น้ี
การออกแบบและประกอบอุปกรณ์
ข้ันตอนการประดิษฐ์เครื่องดักจับฝุ่น PM 2.5 นั้นจาเป็นจะต้องมีการออกแบบหรือร่าง
แบบก่อนเพื่อเป็นการสะดวกในการทาช้ินงานให้ได้รูปแบบที่ต้องการ ในการออกแบบนี้ได้ทาการออ
อกแบบให้เป็นกล่องรูปทรงสเี่ หลีย่ มผืนผา้ ซึ่งเป็นรูปทรงที่เหมาะสมง่ายต่อการประกอบและสามารถ
ติดต้ังอุปกรณ์อื่นๆได้ดี กล่องน้ีจะเป็นกล่องที่ใช้ในการดับจับฝุ่นโดยจะทาการดูดอากาศเข้าไปข้างใน
ดว้ ยพัดลมขนาดเลก็ และทาการดักจบั ฝุ่นดว้ ยละอองน้าภายในตัวกล่อง
ภาพท่ี 1 ออกแบบกล่องดักจับฝ่นุ
โรงเรยี นบา้ นสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแห่งศตวรรษที่ 21 เพอ่ื คณุ ครู หน้า 37
ภาพที่ 2 ฐานวางกล่องและใสอ่ ปุ กรณต์ ่างๆ
ฐานวางเลอื กเป็นไมอ้ ัดสาเรจ็ รูปเพราะง่ายต่อการตดั และการประกอบ และหาซอ้ื ได้งา่ ย
ตามท้องตลาดท่ัวไป นาไม้อัดมาตดั และประกอบกนั ใหเ้ ป็นฐานรปู ส่เี หล่ียมเพ่อื ใหว้ างกล่องและใส่
อปุ กรณ์ในช่องด้านลา่ งเช่น กลอ่ งใส่นา้ ทใี่ ชใ่ นการดักจับฝนุ่ มอเตอรป์ ๊ัมน้าใช้ในการดดู น้าเพ่อื พน่ เป็น
ละอองน้า แผงบอรด์ ควบคุมการทางาน และหมอ้ แปลงไฟ ( power supply ) กาลังไฟ 5V.
ภาพท่ี 3 กลอ่ งพลาสติกใส่น้า
โรงเรยี นบ้านสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแห่งศตวรรษท่ี 21 เพ่ือคุณครู หน้า 38
ข้ันตอนการประกอบอุปกรณ์ต่างๆ
การประกอบมอเตอร์ป๊มั น้ากับหวั พน่ ละอองนา้
มอเตอร์ป๊ัมน้าที่เลือกมานั้นได้ส่ังซื้อจากร้านค้าออนไลน์ในเว็บขายของออนไลน์ เป็นป๊ัม
น้า6.8 บาร์ 12 โวลล์เป็นปั๊มน้ากะทัดรัด ทางานเงียบ กินไฟน้อย เหมาะสมกับการนามาใช้งานใน
โครงงานนี้ มอเตอร์ป๊ัมน้านามาต่อกับสายยางดูดน้าเข้าขนาด 3 หุน ( 3/8" ) ที่ต่อกับหัวกรองส่ิง
แปลกปลอมเขา้ ไปในป๊มั นา้
ภาพท่ี 4 มอเตอรป์ ม๊ั นา้ ต่อกับสายดูดนา้ เข้าและหวั กรอง
และสายทางน้าออกจะใช้เป็นสายน้าดื่ม PE ขนาด 2 หุน (1/4") ทาจากวัสดุพลาสติก
PE FOOD GRADE เป็นสายน้าดีคุณภาพสามารถทนต่อแรงดนั น้าได้ต่อเข้ากับหัวพ่นหมอกเนต้าฟลิ ์ม
ขนาด 0.6 มม. สามารถพน่ ละอองหมอกในฟุ้งกระจายภายในกล่องเพ่ือดกั จบั ฝนุ่ PM 2.5 ได้
ภาพที่ 5 มอเตอร์ปมั๊ นา้ ต่อกับสาย PE และหัวพน่ หมอก
โรงเรยี นบ้านสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษที่ 21 เพื่อคณุ ครู หน้า 39
การประกอบอปุ กรณฮ์ าร์ตแวร์
ในการประดษิ ฐเ์ คร่ืองดักจบั ฝุ่น PM 2.5 นั้นจะใช้อปุ กรณ์ฮาร์ตแวร์หลายอย่างในการ
ทางานและควบคมุ การทางานตา่ งๆ อุปกรณท์ ่ีใชใ้ นการควบคมุ ส่ังการการทางานของเครื่องดักจบั ฝุน่
จะใช้เปน็ บอร์ด ADRUINO โดยเชอื่ มต่อเข้ากับอปุ กรณต์ า่ งๆ คือเครือ่ งวัดค่าฝ่นุ PM 2.5 หนา้
จอแสดงผล LCD โมดลู รีเลย์ 4ช่อง 5V (4 Channel Relay Module) มอเตอรป์ ๊ัมนา้ และพดั ลม
ขนาดเล็ก โดยมีขัน้ ตอนการทางานของอุปกรณ์ ดังน้ี
เคร่อื งวดั คา่ ฝนุ่ จะทาการวดั คา่ จอLCD แสดงผลคา่ ฝ่นุ
แลว้ สง่ ค่าทีว่ ดั ไดไ้ ปยงั บอรด์ ADRUINO
บอร์ดADRUINO รับข้อมลู และทาการ
อ่านคา่ ถา้ คา่ ฝุ่นเกนิ ค่าทกี่ าหนดไว้ในโค้ดคาส่งั
จะส่งั ให้อปุ กรณอ์ นื่ ทางานตามขัน้ ตอน
โมดลู รเี ลย์ รบั คาสัง่ จากบอรด์ ADRUINO
เพอื่ ควบคมุ การทางานของมอเตอร์ปม๊ั นา้ และพดั ลม
การตอ่ สาย Arduino เข้ากับอปุ กรณต์ รวจจับฝนุ่ PMS5003
ภาพท่ี 6 การตอ่ สายเครอื่ งวัดคา่ ฝุ่นเข้ากบั บอรด์ ADRUINO
โรงเรียนบ้านสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแห่งศตวรรษที่ 21 เพ่ือคณุ ครู หนา้ 40
วิธีการต่ออุปกรณ์ เชอื่ มต่อ Arduino เซน็ เซอร์ตรวจจบั ฝนุ่ ละออง PM2.5 วดั คุณภาพอากาศ
PMS5003
Arduino UNO R3 -> PM2.5 PMS5003
• 5V -> VCC
• GND -> GND
• ขา 2 -> TXD
• ขา 3 -> RXD
ภาพที่ 7 ตอ่ บอรด์ ADRUINOกบั อุปกรณ์ต่างๆ
จากการท่ีได้ต่ออุปกรณ์ฮาร์ตแวร์เข้าด้วยกันหมดแล้วตามรูป ก็ได้ทาการทดลองการ
ทางานของอุปกรณ์ท้ังหมดว่าสามารถทางานได้หรือไม่ โดยการใส่โค้ดคาส่ังการทางานลงในบอร์ด
ADRUINO แลว้ ลองวดั คา่ ฝนุ่ ดดู ว้ ยควันธูปใหไ้ ดค้ า่ ฝุ่นเกินท่ีกาหนด จากนน้ั กด็ ดู ว่ามอเตอรป์ ม๊ั นา้ และ
พัดลมทางานตามขั้นตอนหรือไม่จะได้แก้ไขส่วนท่ีผิดพลาดและตรวจสอบโค้ดดูว่าผิดอะไรตรงไหน
หรอื ไม่ หากอปุ กรณท์ างานตามข้ันตอนทีก่ าหนดไว้เปน็ อันวา่ สาเรจ็
ภาพที่ 8 เครื่องดักจับฝนุ่ PM 2.5 เมอ่ื ประกอบเสร็จ
โรงเรยี นบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแหง่ ศตวรรษท่ี 21 เพ่ือคุณครู หนา้ 41
เมอ่ื ทาการตรวจสอบและทดลองใช้งานอปุ กรณด์ ูแล้วว่าสามารถใชง้ านไดต้ ามคาส่งั ก็
นามาประกอบเข้ากับกลอ่ งดักจับฝ่นุ และฐานวางกล่องดังภาพข้างตน้ หลงั จากท่ีลงมือประกอบ
อปุ กรณ์แล้วก็ตรวจสอบความเรยี บร้อยวา่ มจี ุดไหนผิดพลาดหรอื ไม่ เช่น บรเิ วณมอเตอรป์ ๊ัมน้า
ตรวจสอบสายและจดุ ข้อต่อต่างๆ ว่าตรงไหนไมแ่ น่นเพราะอาจจะทาให้เกิดนา้ ร่ัวซึมได้และจะส่งผล
ทาให้อปุ กรณ์อ่นื ๆเสยี หายหรือพงั ได้ สงิ่ ท่ีควรดูใหด้ อี ีกอย่างคอื สายไฟทีต่ อ่ กับอุปกรณ์ตา่ งๆดูใหด้ วี า่
ต่อถูกต้องดีแล้วหรอื ไมก่อนทาการเปดิ ใชง้ านเครื่อง
ภาพที่ 9 ด้านขา้ งเคร่ืองดักจับฝุ่น
การเขยี นโคด้ คาสั่งการทางาน
ในการทางานของเครื่องดักจบั ฝุ่น PM 2.5 ทางานอัตโนมตั โิ ดยใช้บอร์ด ADRUINO เป็น
ตัวควบคุมการทางานอุปกรณ์ทุกอย่างของเครื่องดักจับฝุ่น จะให้อุปกรณ์ต่างๆทางานเป็นขั้นตอนน้ัน
จะต้องใช้บอร์ด ADRUINO ท่ีได้ทาการเขียนโค้ดไว้ ในการเขียนโค้ดเพ่ือส่ังให้อุปกรณ์ต่างๆทางาน
ตามท่ีต้องการนั้นจะต้องทาการคิดและวางแผนการทางานของอุปกรณ์ต่างๆก่อนเพ่ือที่จะได้ง่ายต่อ
การเขียนโค้ดจริงลงในโปรแกรมเขยี นโค้ด
การเขียนโค้ดคาสั่งในบอร์ด ADRUINO น้ีจะใช้โปรแกรมบนคอมพิวเตอร์ ผ่านทาง
โปรแกรม ArduinoIDE ซ่ึงสามารถดาวนโ์ หลดได้จาก Arduino.cc/en/main/software ซ่ึงเมื่อ
ได้ทาการวางแผนข้นั ตอนการทางานของอุปกรณแ์ ล้วกส็ ามารถลองเขยี นโคด้ ลงในโปรแกรมไดเ้ ลย จะ
มีข้ันตอนและตัวอย่างโดยสงั เขปดงั นี้
1. void setup ได้ทาการใส่โค้ดเพื่อให้จอและตัวมอเตอร์ทางานโดยแสดงคาว่า PROJECT
IT 1S/59 เป็นเวลา 2 วินาที กอ่ นทีจ่ ะแสดงค่าฝุน่ ละอองในสว่ นของ void loop ตอ่ ไปดังนี้
pinMode (motor,OUTPUT);
lcd.setBacklight(255);
lcd.begin(16, 2);
lcd.display();
lcd.print("PROJECT IT 1S/59");
delay(2000);
lcd.clear();
โรงเรียนบ้านสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแห่งศตวรรษท่ี 21 เพ่ือคณุ ครู หนา้ 42
ภาพท่ี 10 โคด้ หนา้ จอและมอเตอร์
2. void loop ในส่วนของจอนนั้ ไดท้ าการเพมิ่ โค้ดเพ่ือใหจ้ อสามารถแสดงตัวเลขของคา่ ฝุ่น
ละออง PM 1.0 PM2.5 PM 10 สลบั กนั อยา่ งละ 1 วนิ าทไี ปเรื่อยๆโดยการดึงข้อมูลจาก
PM1.0(data.pm10_standard) ,PM2.5 (data.pm25_standard) ,PM10
(data.pm100_standard) ดงั นี้
lcd.begin(16, 2);
lcd.print("PM 1.0 = ");
lcd.println(data.pm10_standard);
delay(1000);
lcd.clear();
lcd.setBacklight(255);
lcd.begin(16, 2);
lcd.display();
lcd.print("PM 2.5 = ");
lcd.println(data.pm25_standard);
โรงเรยี นบา้ นสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทกั ษะแห่งศตวรรษท่ี 21 เพอ่ื คุณครู หนา้ 43
delay(1000);
lcd.clear();
lcd.begin(16, 2);
lcd.print("PM 10 = ");
lcd.println(data.pm100_standard);
delay(1000);
lcd.clear();
3. ในสว่ นของมอเตอรเ์ พอ่ื ให้ทางานตามค่าฝนุ่ ละอองทเ่ี กินกาหนด จงึ ไดท้ าการเพิ่มเงื่อนไข
หรือ if โดยทถี่ า้ คา่ ฝ่นุ ละอองเกนิ กวา่ 50 ไมโครกรมั /ลูกบาศก์เมตร แลว้ มอเตอรจ์ ะทางาน และไม่อยู่
ในเงือ่ นไข else มอเตอร์จะหยุดทางานดังน้ี
if (data.pm25_standard>50)
{
digitalWrite(motor,HIGH) ;
delay (3000);
}else {digitalWrite(motor,LOW) ;
}
โรงเรียนบา้ นสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษท่ี 21 เพื่อคณุ ครู หน้า 44
ภาพที่ 11 การเพิ่มเง่ือนไขการทางานของมอเตอร์
4. แตห่ ลังจากการทาสอบแล้วมอเตอรไ์ มท่ างาน เป็นเพราะ relay ทใ่ี ช้ คาสั่งท่ีใช้ใหม้ อเตอร์
ทางานคือ LOW และหยดุ การทางานคือ HIGH จงึ ได้ทาการเปลย่ี นดงั นี้
if (data.pm25_standard>50)
{
digitalWrite(motor,LOW) ;
delay (3000);
}else {digitalWrite(motor,HIGH) ;
}
ภาพที่ 12 เปล่ยี นโคด้ คาสั่งการทางานของมอเตอร์
โรงเรียนบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแห่งศตวรรษท่ี 21 เพอ่ื คุณครู หนา้ 45
โค้ดที่ใชใ้ นการทางานของเครือ่ ง
1. #include <LiquidCrystal_PCF8574.h>
2. #include <Wire.h>
3. #include <SoftwareSerial.h>
4. int motor = 9;
5. int show ;
6. LiquidCrystal_PCF8574 lcd(0x27);
7. SoftwareSerial pmsSerial(2, 3);
8. void setup() {
9. pinMode (motor,OUTPUT);
10. // our debugging output
11. lcd.setBacklight(255);
12. lcd.begin(16, 2);
13. lcd.display();
14. lcd.print("PROJECT IT 1S/59");
15. delay(2000);
16. lcd.clear();
17. Serial.begin(115200);
18. // sensor baud rate is 9600
19. pmsSerial.begin(9600);
20. pinMode(11, OUTPUT);
21. beep(50,20);
22. beep(50,20);
23. delay(1000);
24. }
25. void beep(unsigned char delayms, unsigned char power) {
26. analogWrite(11, power); // Almost any value can be used except 0 and 255
27. // experiment to get the best tone
28. delay(delayms); // wait for a delayms ms
29. analogWrite(11, 0); // 0 turns it off
30. }
31. struct pms5003data {
32. uint16_t framelen;
33. uint16_t pm10_standard, pm25_standard, pm100_standard;
34. uint16_t pm10_env, pm25_env, pm100_env;
35. uint16_t particles_03um, particles_05um, particles_10um, particles_25um, particles_50um, particles_100um;
36. uint16_t unused;
37. uint16_t checksum;
38. }
39. ;
โรงเรียนบา้ นสันปา่ สัก อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทักษะแหง่ ศตวรรษที่ 21 เพอ่ื คณุ ครู หนา้ 46
40. struct pms5003data data;
41. void loop() {
42. if (readPMSdata(&pmsSerial)) {
43. lcd.begin(16, 2); //จอแสดงคา่ ฝุ่น
44. lcd.print("PM 1.0 = ");
45. lcd.println(data.pm10_standard);
46. delay(1000);
47. lcd.clear();
48. lcd.setBacklight(255);
49. lcd.begin(16, 2);
50. lcd.display();
51. lcd.print("PM 2.5 = ");
52. lcd.println(data.pm25_standard);
53. delay(1000);
54. lcd.clear();
55. lcd.begin(16, 2);
56. lcd.print("PM 10 = ");
57. lcd.println(data.pm100_standard);
58. delay(1000);
59. lcd.clear(); //จอแสดงคา่ ฝุ่น
60. // reading data was successful!
61. Serial.println();
62. Serial.println("---------------------------------------");
63. Serial.println("Concentration Units (standard)");
64. Serial.print("PM 1.0: "); Serial.print(data.pm10_standard);
65. Serial.print("\t\tPM 2.5: "); Serial.print(data.pm25_standard);
66. Serial.print("\t\tPM 10: "); Serial.println(data.pm100_standard);
67. Serial.println("---------------------------------------");
68. Serial.println("Concentration Units (environmental)");
69. Serial.print("PM 1.0: "); Serial.print(data.pm10_env);
70. Serial.print("\t\tPM 2.5: "); Serial.print(data.pm25_env);
71. Serial.print("\t\tPM 10: "); Serial.println(data.pm100_env);
72. Serial.println("---------------------------------------");
73. Serial.print("Particles > 0.3um / 0.1L air:"); Serial.println(data.particles_03um);
74. Serial.print("Particles > 0.5um / 0.1L air:"); Serial.println(data.particles_05um);
75. Serial.print("Particles > 1.0um / 0.1L air:"); Serial.println(data.particles_10um);
76. Serial.print("Particles > 2.5um / 0.1L air:"); Serial.println(data.particles_25um);
77. Serial.print("Particles > 5.0um / 0.1L air:"); Serial.println(data.particles_50um);
78. Serial.print("Particles > 10.0 um / 0.1L air:"); Serial.println(data.particles_100um);
79. Serial.println("---------------------------------------");
80. if (data.particles_25um > 50)
81. {
82. if(data.particles_25um < 255)
83. {
84. beep(data.particles_25um,data.particles_25um);
85. }
86. else{
87. beep(255,255);
88. }
89. }
90. }
91. }
92. boolean readPMSdata(Stream *s) {
93. if (! s->available()) {
94. return false;
โรงเรียนบา้ นสันปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแห่งศตวรรษท่ี 21 เพอื่ คุณครู หนา้ 47
95. }
96. // Read a byte at a time until we get to the special '0x42' start-byte
97. if (s->peek() != 0x42) {
98. s->read();
99. return false;
100. }
101. // Now read all 32 bytes
102. if (s->available() < 32) {
103. return false;
104. }
105. uint8_t buffer[32];
106. uint16_t sum = 0;
107. s->readBytes(buffer, 32);
108. // get checksum ready
109. for (uint8_t i = 0; i < 30; i++) {
110. sum += buffer[i];
111. }
112. uint16_t buffer_u16[15];
113. for (uint8_t i = 0; i < 15; i++) {
114. buffer_u16[i] = buffer[2 + i * 2 + 1];
115. buffer_u16[i] += (buffer[2 + i * 2] << 8);
116. }
117. // put it into a nice struct :)
118. memcpy((void *)&data, (void *)buffer_u16, 30);
119. if (sum != data.checksum) {
120. Serial.println("Checksum failure");
121. return false;
122. }
123. if (data.pm25_standard>250) { //motor
124. digitalWrite(motor,LOW) ;
125. delay (3000);
126. }else {digitalWrite(motor,HIGH) ;
127. }
128. // success!
129. return true;
130. }
โรงเรียนบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพฒั นาทกั ษะแหง่ ศตวรรษที่ 21 เพือ่ คณุ ครู หน้า 48
Code Microbit : SPS Air Purifier เคร่ืองฟอกอากาศอัตโนมัติ
โมดูล PMS7003 ใช้การเช่ือมต่อกับไมโครคอนโทรลเลอร์ผ่านการส่ือสารอนุกรม ประกอบด้วยขา
TxD สาหรับส่งข้อมูล และขา RxD สาหรับรับข้อมูล ในโหมด Active ที่จะยกตัวอย่าง เลือกใช้งานเพียงรับ
ข้อมูลเท่านั้น อาจเลือกต่อขา RxD เพียงขาเดียวไม่ต้องต่อขา TxD ก็ได้ สาหรับไฟเล้ียงที่จ่ายให้บอร์ด
PMS7003 จะต้องใช้ไฟเล้ียง 5V เน่ืองจากพัดลมที่ใช้งานใช้ไฟเลี้ยง 5V สาหรับขารับส่งข้อมูลนั้นระดับ
โรงเรียนบ้านสนั ปา่ สกั อ.หางดง จ.เชยี งใหม่
depa Teacher Boost camp โครงการพัฒนาทักษะแห่งศตวรรษท่ี 21 เพือ่ คณุ ครู หน้า 49
สัญญาณอยู่ท่ี 3.3V เม่ือเช่ือมต่อกับ PROJECT:BIT จะต้องใช้ตาแหน่งขาของเซอร์โวมอเตอร์มาเชื่อมต่อแทน
เนื่องจากแรงดันไฟท่ีตาแหน่งน้ีคือ 5V และทาให้จาเป็นต้องต่อไฟเลี้ยงจากอแดปเตอร์ภายนอก การเช่ือมต่อ
สายแสดงดงั รปู
ITEM ท่ซี ่อนไวข้ องชุดคาส่ังโหมด Serial
คาสั่ง serial on data received จะถูกกระตุ้นเม่ือพบตัวอักษรที่กาหนด (จากัดไว้ไม่ก่ีตัวเท่าน้ัน)
เนื่องจากการเชื่อมต่อกับโมดูลวัดฝุ่นละอองต้องใช้การสื่อสารอนุกรม ดังนั้นจึงต้องใช้ชุดคาส่ังใน โหมด
Serial ซง่ึ เหตุการณ์ท่ีใช้กระตุ้นเพ่ือรับข้อมูล คอื serial on data received ในบล็อกคาสั่งมตี ัวเลือกเฉพาะ
การรอรบั อกั ขระพิเศษเพียงไม่ก่ีตวั เทา่ นน้ั ทาใหไ้ มส่ ามารถตรวจสอบขอ้ มลู ทเี่ ป็นคา่ อน่ื ๆ สง่ มาได้
โรงเรยี นบา้ นสนั ปา่ สัก อ.หางดง จ.เชยี งใหม่