KidBrightIoT 49 4.3.1 ติ ดตั้ งปลั๊ กอิ น iTerminal ทํ าได โดยเป ดเว็ บเบราวเซอร ไปที่ https://store.kidbright.info/plugin/41 จะพบเว็ บเพจตาม รู ปที่ 4-14 ทํ าการดาวน โหลดไฟล iTerminal_v1.1.0_plugin.zip (เลขเวอร ชั นอาจเปลี่ ยนแปลงตาม การปรั บปรุ งล าสุ ด] ที่ โปรแกรม KidBright IDE เลื อกเมนู Plugins > Install Plugins โปรแกรมจะเป ดหน าต าง Open ให เลื อกไฟล iTerminal_v1.1.0_plugin.zip ที่ ดาวน โหลดมาก อนหน านี้ โปรแกรมจะขยายไฟล และติ ดตั้ งปลั๊ กอิ น เมื่ อติ ดตั้ งเสร็ จจะป ดและเป ดโปรแกรม KidBright IDE ขึ้ นมาใหม 4.3.2 บล็ อกคํ าสั่ งของปลั๊ กอิ น iTerminal เมื่ อติ ดตั้ งปลั๊ กอิ นเรี ยบร อย ที่ แถบคํ าสั่ งทางซ ายคลิ กที่ Plugins เพื่ อเป ดปลั๊ กอิ นที่ ติ ดตั้ ง ค นหา ปลั๊ กอิ น iTerminal คลิ กเลื อกจะพบกั บบล็ อกคํ าสั่ งของปลั๊ กอิ น ซึ่ งมี 2 บล็ อก ดั งรู ปที่ 4-15 รู ปที่ 4-15 บล็ อกคํ าสั่ งของปลั๊ กอิ น iTerminal
50 KidBrightIoT 4.3.2.1 LED 16x8 show number ใช แสดงค าตั วเลขขนาดเล็ ก 4 หลั กที่ ส วนแสดงผล LED 16 x 8 จุ ด เลื อกได ว าต องการให แสดงค าตั วเลขในระบบเลขฐาน 10, 2, 8 หรื อ 16 ที่ ช อง Base โดยแสดงเป นเลขจํ านวนเต็ มเท านั้ น 4.3.2.2 LED 16x8 show time ใช ในการแสดงค าเวลา เช น ชั่ วโมง : นาที หรื อ นาที : วิ นาที ที่ ส วนแสดงผล LED 16 x 8 จุ ด โดยกํ าหนดให แสดงเครื่ องหมาย : ได ที่ ช อง Colon ในบล็ อกคํ าสั่ ง Forever ก อนจะจบบล็ อก มี การเพิ่ มบล็ อก Delay 0.2 เพื่ อหน วงเวลา การแสดงผล ทํ าให เกิ ดการอ านค ามาแสดงผลทุ กๆ 0.2 วิ นาที (หรื อทํ าการแสดงผล 5 ครั้ งต อ วิ นาที ) โปรแกรมที่ 4-2 โปรแกรมอ านค าแรงดั นไฟตรงของอิ นพุ ตแอนะล็ อก IN1 เพื่ อนํ ามาแสดงผลเป นตั วเลข 4 หลั กที่ ส วนแสดงผล LED 16 x 8 จุ ดของบอร ด KidBright32iP ผ านปลั๊ กอิ น iTerminal
KidBrightIoT 51 4.3.3 ตั วอย างการใช งานปลั๊ กอิ น iTerminal (1) ในตั วอย างนี้ จะทํ าการแก ไขโปรแกรมที่ 4-1 ซึ่ งแสดงค าของข อมู ลดิ จิ ทั ลจากการแปลง สั ญญาณแอนะล็ อกที่ อิ นพุ ต I1 โดยนํ าข อมู ลดิ จิ ทั ลที่ ได 0 ถึ ง 4095 มาแก ไขให LED 16 x 8 จุ ดของ บอร ด KidBright32iP แสดงผลได ครบ 4 หลั กในคราวเดี ยวโดยไม มี การเลื่ อนตั วเลขด วยการใช ปลั๊ ก อิ น iTerminal ได เป นโปรแกรมที่ 4-2 (2) อั ปโหลดโปรแกรมที่ 4-2 ไปยั งบอร ด KidBright32iP (3) ต ออุ ปกรณ ทดลองตามรู ปที่ 4-16 อั นเป นการต อ ZX-WATER เข ากั บบอร ด KidBright32iP รู ปที่ 4-16 แสดงผลการทํ างานของโปรแกรมที่ 4-2 จะเห็ นว า บอร ด KidBright32iP แสดงค าของการทํ างาน ด วยตั วเลข 4 หลั กได ทั นที ทํ าให เห็ นการเปลี่ ยนแปลงของแรงดั นไฟตรงได อย างมี ประสิ ทธิ ภาพมากขึ้ น
52 KidBrightIoT (4) เติ มนํ้ าตามการทดลองในหั วข อ 4.2.2 ดู ผลการทํ างานที่ ส วนแสดงผล LED 16 x 8 จุ ด บอร ด KidBright32iP แสดงค าตั วเลข 4 หลั กที่ ได จากการแปลงสั ญญาณแอนะล็ อกของ แรงดั นไฟตรงที่ อิ นพุ ต I1 ดั งรู ปที่ 4-16 เมื่ อมิ นิ บอร ด ZX-WATER ตรวจจั บปริ มาณนํ้ าได ข อมู ล ดิ จิ ทั ลจะเปลี่ ยนแปลงตามทั นที ทํ าให ดู ผลการทํ างานได สะดวกมากยิ่ งขึ้ น แม ว า ความสามารถของวงจรแปลงสั ญญาณแอนะล็ อกเป นดิ จิ ทั ลของไมโครคอนโทรลเลอร ESP32 บนบอร ด KidBright32iP อาจมี ข อจํ ากั ดในเรื่ องความเป นเชิ งเส นของการทํ างาน แต เพี ยงพอ สํ าหรั บการศึ กษาและใช งานกั บตั วตรวจจั บที่ ให ผลการทํ างานเป นแรงดั นไฟตรงได อย างไม มี ข อติ ดขั ด ผนวกกั บการใช ปลั๊ กอิ น iTerminal ช วยให การแสดงผลการทํ างานของบอร ด KidBright32iP เมื่ อทํ างานกั บตั วตรวจจั บกลุ มนี้ เป นไปอย างสะดวก เข าใจง าย ส งผลให ภาพรวมของการเรี ยนรู และ ใช งานเป นไปได ด วยดี
KidBrightIoT 53 KidBright32iP ในเกษตรกรรมสมั ยใหม ที่ ให ความสํ าคั ญต อแสงสํ าหรั บการเพาะเลี้ ยงพื ช โดยเฉพาะอย างยิ่ ง กั บการเพาะปลู กพื ชในกลุ มที่ เก็ บยอดหรื อต นอ อนมาบริ โภคหรื อไมโครกรี น (microgreen) เมื่ อมี ความ ต องการใช งานบอร ดสมองผลฝ งตั วในงานเพาะปลู กพื ชในกลุ มไมโครกรี น ความสามาถหนึ่ งที่ ควร มี คื อ ใช งานอุ ปกรณ กํ าเนิ ดแสงสี เพื่ อขั บแสงสี ตามที่ พื ชต องการ อุ ปกรณ กํ าเนิ ดแสงสี ที่ เลื อกมาเรี ยน รู และใช งานในที่ นี้ คื อ LED 3 สี RGB แบบโปรแกรมได เบอร WS2812 5.1 เรื่ องเล า LED 3 สี RGB แบบโปรแกรมได เดิ มที LED มั กจะขั บแสง 1 สี ต อดวง ต อมามี การพั ฒนาเป น 2 สี ต อดวง จนมาถึ งยุ คที่ มี มนุ ษย สามารถสร าง LED สี นํ้ าเงิ นได ซึ่ งเป นผลงานของศาสตราจารย อิ ซามุ อากาซากิ , ศาสตราจารย ฮิ โรชิ อามาโนะ และศาสตราจารย ชู จิ นากามู ระ คณะนั กวิ จั ยชาวญี่ ปุ นในป ค.ศ. 1996 นํ ามาซี่ งการได รั บรางวั ล โนเบลในป ค.ศ. 2014 ทํ าให เกิ ด LED 3 สี RGB ในหนึ่ งดวงได โดยมี ขาต อใช งาน 4 ขา (1 ขาร วม และ อี ก 3 ขาสํ าหรั บควบคุ มส วนของ LED แต ละสี ) หากใช งานพร อมกั นจํ านวนดวงไม มาก การจั ดการก็ ยั ง ไม มี ความซั บซ อน และวงจรขั บยั งมี ขนาดไม ใหญ แต เมื่ อความต องการใช งานมากขึ้ นเป นหลั กหลายสิ บ หรื อหลายร อยดวง การเชื่ อมต อ LED 3 สี RGB ก็ จะเริ่ มยุ งยาก ต องการสายสั ญญาณควบคุ มมากขึ้ น ส งผลให วงจรขั บมี ขนาดใหญ มากขึ้ น นํ ามาซึ่ งการเปลี่ ยนแปลงครั้ งสํ าคั ญ ในราวป ค.ศ. 2007 บริ ษั ทที่ ชื่ อ World-Semi (www.wolrld-semi.com) ตั้ งอยู ในสาธารณรั ฐ ประชาชนจี น ได ทํ าการนํ าเสนอ LED 3 สี RGB ในแบบใหม ที่ ทํ างานได ด วยสายสั ญญาณควบคุ มเพี ยง 1 เส น และต อพ วงในแบบเป นลู กโซ หรื อ daisy chain ได ไม รู จบ นั่ นคื อ ชิ ป LED เบอร WS2812 ทํ าให เกิ ดการปฏิ วั ติ ครั้ งสํ าคั ญของการสร างอุ ปกรณ แสดงผลที่ ให แสงสี ที่ เหมื อนจริ งภายใต งบประมาณที่ ไม แพง โดยทาง World-Semi ได นํ าวงจรควบคุ มมาประกอบร วมกั บ LED แม สี แสงทั้ ง 3 สี เพื่ อควบคุ ม ทั้ งการติ ดดั บ การปรั บระดั บความสว างของ LED ซึ่ งทํ าได ง าย ที่ สํ าคั ญคื อ LED แต ละดวงมี ความ สว างเท ากั น ดั งแสดงคุ ณสมบั ติ ทางเทคนิ คและตั วอย างรู ปร างหน าตาของ LED 3 สี RGB แบบ โปรแกรมได ในรู ปที่ 5-1
54 KidBrightIoT ชิ ป LED เบอร WS2812 หรื อ WS2812B มี ขาต อ 4 ขา คื อ Vdd (ไฟเลี้ ยง), GND (กราวด ), Di (ข อมู ลขาเข า) และ Do (ข อมู ลขาออก) โดยผู ใช งานสามารถนํ าขา Do ต อไปเข าขา Di ของชิ ป LED ตั วถั ดไปเพื่ อเพิ่ มจํ านวน LED ได ดั งตั วอย างวงจรการต อในรู ปที่ 5-2 คุ ณสมบั ติ ทางเทคนิ คของชิ ป LED เบอร WS2812B ๐ มี ตั วถั งเป นรู ปสี่ เหลี่ ยมจั ตุ รั ส สํ าหรั บ WS2812B มี ขนาด 5x5 มิ ลลิ เมตร ๐ บรรจุ LED แม สี แสง 3 ตั วคื อ สี แดง (red), เขี ยว (green) และนํ้ าเงิ น (blue) รวมอยู ในตั วถั งเดี ยวกั น โดยปรั บความสว างของ LED แต ละสี ได 256 ระดั บ เกิ ดเฉดสี ของแสง 256 x 256 x 256 = 16,777,216 เฉดสี ๐ การส งคํ าสั่ งเพื่ อควบคุ มการทํ างาน ใช การสื่ อสารข อมู ลแบบอนุ กรมด วยสายเส นเดี ยว โดย LED รองรั บ การต อพ วงกั นเพื่ อเพิ่ มจํ านวนดวงได ๐ สื่ อสารข อมู ลแบบอนุ กรมด วยอั ตราเร็ ว 800 กิ โลบิ ตต อวิ นาที ๐ ใช ไฟเลี้ ยง 3 ถึ ง 5.3V เมื่ อใช งานในร ม หากสั่ งให สว างที่ สุ ด แสงที่ เกิ ดขึ้ นจะสว างมากจนแสบตา ในการ ใช งานจึ งต องระวั งในจุ ดนี้ ด วย รู ปที่ 5-1 รู ปร างหน าตาของ LED 3 สี RGB แบบโปรแกรมได และคุ ณสมบั ติ ทางเทคนิ คที่ ควรทราบ รู ปที่ 5-2 แนวทางการต อชิ ป LED เบอร WS8212 พ วงกั นเพื่ อเพิ่ มจํ านวน LED
KidBrightIoT 55 5.2 แนะนํ า ZX-RGB8S แถบ LED 3 สี RGB โปรแกรมได 8 ดวง ZX-RGB8S เป นแผงวงจรอ อนที่ มี ลั กษณะเป นแถบ LED ที่ ติ ดตั้ งชิ ป LED เบอร WS2812B จํ านวน 8 ดวง โดยมี ขั้ วต อใช งาน 2 ตั วที่ ปลายทั้ งสองข างของแถบ LED ขั้ วต อฝ งหนึ่ งเป นจุ ดต อรั บ สั ญญาณอิ นพุ ต (DI : Data In) ส วนอี กด านหนึ่ งเป นจุ ดต อส งสั ญญาณเอาต พุ ต (DO : Data Out) ดั งแสดง ลั กษณะของ ZX-RGB8S ตามรู ปที่ 5-3 จุ ดต อรั บสั ญญาณอิ นพุ ต มี 3 ขาคื อ Di, +V, GND เป นคอนเน็ กเตอร แบบ IDC ตั วผู ที่ มี ระยะ ห างของขาต อใช งาน 2.54 มม. 3 ขา ในการนํ ามาต อกั บบอร ด KidBright32i หรื อ KidBright32iP ได ทั นที โดยใช สายสั ญญาณ JST3AF-8 ดั งรู ปที่ 5-4 ในกรณี ที่ ต องการเพิ่ มจํ านวนดวงของ LED ทํ าได ง ายๆ โดยนํ าแถบ LED รุ น ZX-RGB8S มาต อ พ วงกั น โดยต อขั้ ว DO ของแถบ LED ก อนหน าเข ากั บขั้ วต อ DI ของแถบ LED ตั วถั ดไป ดั งรู ปที่ 5-5 รู ปที่ 5-3 ลั กษณะและส วนประกอบของ ZX-RGB8S แถบ LED 3 สี RGB แบบโปรแกรมได 8 ดวง รู ปที่ 5-4 การเชื่ อมต อบอร ด KidBright32iP กั บ ZX-RGB8S แถบ LED 3 สี RGB แบบโปรแกรมได 8 ดวง
56 KidBrightIoT รู ปที่ 5-5 การต อพ วง ZX-RGB8S เพื่ อเพิ่ มจํ านวนของ LED 3 สี RGB โปรแกรมได รู ปที่ 5-6 หน าเว็ บของปลั๊ กอิ น iRGBLED ที่ เว็ บไซต Kidstore
KidBrightIoT 57 5.3 ปลั๊ กอิ น iRGBLED ในการพั ฒนาโปรแกรมเพื่ อใช งาน KidBright32iP กั บ LED 3 สี RGB แบบโปรแกรมได เบอร WS2812B ผ านแถบ LED 3 สี ZX-RGB8S โดยใช KidBright IDE จะต องติ ดตั้ งบล็ อกคํ าสั่ งเพิ่ มเติ ม ซึ่ งก็ คื อ ปลั๊ กอิ น iRGBLED พั ฒนาขึ้ นโดยความร วมมื อของ INEX และ Artron (หรื อ IOXHOP เดิ ม) 5.3.1 การติ ดตั้ งปลั๊ กอิ น iRGBLED ทํ าได โดย (1) เป ดเว็ บบราวเซอร ไปที่ https://store.kidbright.info/plugin/37/iRGBLED ดั งรู ปที่ 5-6 เพื่ อดาวน โหลดไฟล iRGBLED_v1.0.0_plugin.zip (ตั วเลขเวอร ชั นอาจเปลี่ ยนแปลงได ตามการปรั บปรุ งล าสุ ด) (2) ที่ KidBright IDE คลิ กเลื อกเมนู Plugins > Install Pluginsโปรแกรมจะเป ดหน าต าง Open ให เลื อกไฟล iRGBLED_v1.0.0_plugin.zip ที่ ดาวน โหลดมาก อนหน านี้ โปรแกรมจะขยายไฟล และ ติ ดตั้ งปลั๊ กอิ น เมื่ อติ ดตั้ งเสร็ จจะป ดและเป ดโปรแกรม KidBright IDE อี กครั้ ง 5.3.2 บล็ อกคํ าสั่ งของปลั๊ กอิ น iRGBLED เพื่ อควบคุ ม LED 3 สี RGB แบบ โปรแกรมได เมื่ อติ ดตั้ งปลั๊ กอิ นแล ว ที่ รายการแถบคํ าสั่ งทางซ ายของ KidBright IDE คลิ กที่ Plugins เพื่ อ เป ดปลั๊ กอิ น เลื่ อนหารายการ iRGBLED คลิ กอี กครั้ ง จะพบกั บบล็ อกคํ าสั่ งทั้ งหมดของปลั๊ กอิ น iRGBLED ดั งรู ปที่ 5-7 อธิ บายการทํ างานของแต ละบล็ อกได ดั งนี้
58 KidBrightIoT 5.3.2.1 iRGBLED initialize ใช สํ าหรั บเตรี ยมความพร อมในการติ ดต อของ LED โดยเลื อกขาพอร ตของ KidBright32iP ที่ ใช ในการเชื่ อมต อที่ ช อง pin, จํ านวน LED ที่ ใช ในช อง length และโหมดการจั ดเรี ยงสี ที่ ช อง mode มี ให เลื อกแบบ RGB และ GRB สํ าหรั บ ZX-RGB8S ให เลื อกจํ านวน LED เป น 8 ตั วหากใช เพี ยงแถบเดี ยว และเลื อกโหมด เป น GRB จะต องเรี ยกใช งานบล็ อกคํ าสั่ งนี้ ก อนเสมอ รู ปที่ 5-7 บล็ อกคํ าสั่ งของปลั๊ กอิ น iRGBLED
KidBrightIoT 59 5.3.2.2 iRGBLED pin set brightness ใช ปรั บความสว างของการแสดงผล แนะนํ าให ปรั บลดความสว างก อนเริ่ มต นการขั บให LED สว าง กํ าหนดค าความสว างได 0 ถึ ง 100% แนะนํ าให ใช ค า 10% สํ าหรั บในที่ ร ม 5.3.2.3 iRGBLED pin set pixel color ใช กํ าหนดค าสี ให LED 3 สี RGB แยกแต ละดวง โดยคลิ กเลื อกสี ได ทั นที สํ าหรั บแถบ LED 3 สี ZX-RGB8S กํ าหนดให LED ตํ าแหน ง 0 คื อ LED ที่ อยู ซ ายสุ ดของ แถบ LED ตํ าแหน งถั ดไปให นั บไปทางซ ายตามทิ ศทางของลู กศรที่ พิ มพ กํ ากั บไว บนแถบ LED (ย อน กลั บไปดู รู ปที่ 5-3) 5.3.2.4 iRGBLED pin set pixel color rgb ใช กํ าหนดค าสี ให LED 3 สี RGB แยกแต ละดวง โดยกํ าหนดค าของแม สี แสงเป นตั วเลขใน ช วง 0 ถึ ง 255 5.3.2.5 iRGBLED pin fill all LED color ใช กํ าหนดค าสี ให กั บ LED 3 สี RGB ทุ กดวงให มี สี เดี ยวกั น โดยคลิ กเลื อกสี ได ทั นที ที่ ช อง color
60 KidBrightIoT 5.3.2.6 iRGBLED pin fill all LED color rgb ใช กํ าหนดค าสี ให กั บ LED 3 สี RGB ทุ กดวงให มี สี เดี ยวกั น โดยกํ าหนดค าสี ของแม สี แสงทั้ ง สามสี ได อย างอิ สระเป นตั วเลข 0 ถึ ง 255 เรี ยงตามลํ าดั บจากสี แดง (r), สี เขี ยว (g) และสี นํ้ าเงิ น (b) ดั งตั วอย างต อไปนี้ หากกํ าหนดค า rgb เป น 255, 0, 0 จะได แสงสี แดง หากกํ าหนดค า rgb เป น 0, 255, 0 จะได แสงสี เขี ยว หากกํ าหนดค า rgb เป น 0, 0, 255 จะได แสงสี นํ้ าเงิ น หากกํ าหนดค า rgb เป น 255, 255, 255 จะได แสงขาว 5.3.2.7 iRGBLED pin show ใช กํ าหนดให LED 3 สี RGB แสดงผลตามที่ กํ าหนดให ด วยคํ าสั่ งก อนหน านี้ 5.3.2.8 iRGBLED pin clear ใช ล างค าการแสดงผลของ LED 3 สี RGB ทุ กดวง ทํ าให ดั บหมด เมื่ อเรี ยกใช จะต องต อด วย บล็ อกคํ าสั่ ง iRGBLED pin show [ตั วเข มสี เขี ยวตอง] ด วยเสมอ 5.3.2.9 iRGBLED pin rainbow Time(ms) ใช กํ าหนดให LED 3 สี RGB ทุ กดวงติ ดสว างไล สี ตามสี ของสายรุ ง (ม วง คราม นํ้ าเงิ น เขี ยว เหลื อง แสด แดง) โดยปรั บความเร็ วในการแสดงผลได ด วยค าเวลาในหน วยมิ ลลิ วิ นาที ที่ ช อง Time (ms)
KidBrightIoT 61 5.3.2.10 iRGBLED pin rainbow cycle Time(ms) ใช กํ าหนดให LED 3 สี RGB แต ละดวงติ ดสว างไล สี ตามสี ของสายรุ งและทุ กดวงติ ดสว าง ไล ตามสี ของสายรุ ง (ม วง คราม นํ้ าเงิ น เขี ยว เหลื อง แสด แดง) ตามรู ป แล วควบคุ มให วนแสดงผลจากดวงแรกไปยั งดวงสุ ดท ายแบบหมุ นทวนเข็ มนาฬิ กา 5 รอบ โดยปรั บค าเวลาในการหมุ นแสดงผลได ในหน วยมิ ลลิ วิ นาที ที่ ช อง Time (ms) 5.4 ตั วอย างการใช งาน ZX-RGB8S กั บบอร ด KidBright32iP การใช งานแถบ LED 3 สี ZX-RGB8S กั บบอร ด KidBright32i หรื อ KidBright32iP ทํ าได ง าย เพี ยงต อกั บจุ ดต อพอร ตเอาต พุ ตดิ จิ ทั ลของ KidBright32iP ที่ ใช คอนเน็ กเตอร แบบ JST ซึ่ งก็ คื อขา O1 หรื อ O2 หรื อต อกั บจุ ดต อพอร ต 17, 18, 19 หรื อ 23 ที่ ใช คอนเน็ กเตอร IDC ตั วผู ก็ ได แต ต องใช สาย สั ญญาณที่ มี ลั กษณะแตกต างออกไป (ย อนไปดู รู ปที่ 5-4) ในตั วอย างที่ นํ าเสนอต อไปนี้ จะต อ ZXRGB8S กั บขาพอร ต O1 ของบอร ด KidBright32iP 5.4.1 ทดลองแสดงผลอย างง าย - สั่ งให LED ทุ กดวงติ ดสี เดี ยวกั น ในหั วข อนี้ เป นการใช งาน LED 3 สี RGB แบบง ายก อน โดยเริ่ มต นให LED 3 สี RGB ที่ ต อ กั บขา O1 ของบอร ด KidBright32iP ทั้ ง 8 ดวงบนแถบ ZX-RGB8S ติ ดสว างเป นสี แดง 1 วิ นาที ถั ดมา แสดงผลแสงสี เขี ยวติ ด 1 วิ นาที สี นํ้ าเงิ นติ ด 1 วิ นาที และแสงสี ขาว 1 วิ นาที วนต อเนื่ องตลอดเวลา การทดสอบมี ขั้ นตอนดั งนี้ (1) เป ดโปรแกรม KidBright IDE สร างโค ดตามโปรแกรมที่ 5-1 แล วอั ปโหลดไปยั งบอร ด KidBright32iP (2) ต ออุ ปกรณ เพื่ อทดลองตามรู ปที่ 5-4 (3) เมื่ อโปรแกรมทํ างาน บอร ด KidBright32iP จะส งข อมู ลไปยั ง ZX-RGB8S สั งเกตการแสดง ผลของ ZX-RGB8S LED ทั้ ง 8 ดวงของแถบ LED 3 สี ZX-RGB8S ติ ดสว างเป นสี แดง 1 วิ นาที ถั ดมาแสดงผล แสงสี เขี ยวติ ด 1 วิ นาที สี นํ้ าเงิ นติ ด 1 วิ นาที และแสงสี ขาว 1 วิ นาที วนต อเนื่ องตลอดเวลา ดั งรู ปที่ 5-8
62 KidBrightIoT รู ปที่ 5-8 แสดงผลการทํ างานของ โปรแกรมที่ 5-1 โปรแกรมที่ 5-1 โปรแกรม สํ าหรั บบอร ด KidBright32i เพื่ อขั บ LED 3 สี RGB แบบ โปรแกรมได บน ZX-RGB8S ให แสดงผลอย างง าย
KidBrightIoT 63 (4) ทดลองทํ าการต อพ วงเพื่ อเพิ่ มจํ านวน LED โดยต อ ZX-RGB8S แถบที่ 2 เข ากั บแถบแรก ที่ ขั้ วต อ DO ตามแนวทางในรู ปที่ 5-5 (5) แก ไขโปรแกรมที่ 5-1 เล็ กน อย เพื่ อให ขั บแถบ LED จาก 8 ดวงเป น 16 ดวง ดั งแสดงใน โปรแกรมที่ 5-2 (6) อั ปโหลดโปรแกรมที่ 5-2 ไปยั งบอร ด KidBright32iP แล วดู ผลการทํ างานของแถบ LED 3 สี ZX-RG8S ทั้ งสองแถบที่ ต อร วมกั นเพื่ อแสดงผลรวมเป น 16 ดวง LED ทั้ ง 16 ดวงของแถบ LED 3 สี ZX-RGB8S ที่ ต อพ วงกั นติ ดสว างเป นสี แดง 1 วิ นาที ถั ดมาแสดงผลแสงสี เขี ยวติ ด 1 วิ นาที สี นํ้ าเงิ นติ ด 1 วิ นาที และแสงสี ขาว 1 วิ นาที วนต อเนื่ องตลอด เวลา โปรแกรมที่ 5-2 โปรแกรมสํ าหรั บบอร ด KidBright32i เพื่ อขั บ LED 3 สี RGB แบบโปรแกรมได บนแถบ ZX-RGB8S ต อยอดจากโปรแกรมท 5-1 เพื่ อให แสดงผลเพิ่ มจาก 8 เป น 16 ดวง
64 KidBrightIoT โปรแกรมที่ 5-3 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ อเลื อกขั บ LED 3 สี RGB แบบโปรแกรมได บน ZX-RGB8S ให แสดงแสงสี โดยใช สวิ ตช S1
KidBrightIoT 65 5.4.2 สวิ ตช เลื อกแสงสี ในหั วข อนี้ เป นการใช งานสวิ ตช S1 บนบอร ด KidBright32iP เลื อกการขั บแสงสี ของแถบ LED 3 สี ZX-RGB8S และใช S2 กดเพื่ อดั บการแสดงผลของแถบ LED 3 สี การต ออุ ปกรณ ยั งคงใช ตามรู ป ที่ 5-4 ส วนโปรแกรมทดสอบการทํ างานแสดงในโปรแกรมที่ 5-3 ทํ าการอั ปโหลดโปรแกรมที่ 5-3 ไปยั งบอร ด KidBright32iP จากนั้ นโปรแกรมจะทํ างานทั นที ทํ าการกดสวิ ตช SW1 บนบอร ด KidBright32iP แล วปล อยเป นจั งหวะ สั งเกตการแสดงผลของ แถบ LED 3 สี ZX-RGB8S เมื่ อกดสวิ ตช S1 แล วปล อยครั้ งแรก แถบ LED 3 สี ZX-RGB8S ติ ดสว างเป นแสงสี แดงค าง เมื่ อกดสวิ ตช S1 แล วปล อยในครั้ งถั ดไป แถบ LED 3 สี ZX-RGB8S ติ ดสว างเป นแสงสี เขี ยวค าง เมื่ อกดสวิ ตช S1 แล วปล อยครั้ งถั ดไป แถบ LED 3 สี ZX-RGB8S ติ ดสว างเป นแสงสี นํ้ าเงิ นค าง เมื่ อกดสวิ ตช S1 แล วปล อยในครั้ งถั ดไป แถบ LED 3 สี ZX-RGB8S ติ ดสว างเป นแสงสี ขาวค าง เมื่ อกดสวิ ตช S1 แล วปล อยในครั้ งถั ดไป แถบ LED 3 สี ZX-RGB8S จะวนกลั บมาติ ดสว าง เป นแสงสี แดง เมื่ อกดสวิ ตช S2 แล วปล อยในครั้ งถั ดไป แถบ LED 3 สี ZX-RGB8S จะดั บลง หากต องการให สว างอี กครั้ ง ต องกดสวิ ตช S1 ทํ าให แถบ LED 3 สี ZX-RGB8S กลั บมาติ ดสว างเป นสี แดงอี กครั้ ง ดั งแสดงผลการทํ างานของโปรแกรมที่ 5-3 ตามรู ปที่ 5-9
66 KidBrightIoT รู ปที่ 5-9 ผลการทํ างานของโปรแกรมที่ 5-3 ในการเลื อกแสงสี ของแถบ LED 3 สี ZX-RGB8S จากการกด สวิ ตช S1 บนบอร ด KidBright32iP
KidBrightIoT 67 5.4.3 หรี่ แสงสี ด วยสวิ ตช ในตั วอย างนี้ นํ าเสนออี กตั วอย างหนึ่ งของการใช สวิ ตช S1 และ S2 บนบอร ด KidBright32iP เพื่ อควบคุ มความสว างของ LED ในแถบ LED 3 สี ZX-RGB8S การต ออุ ปกรณ ยั งคงใช ตามรู ปที่ 5-4 ส วนโปรแกรมทดสอบการทํ างานแสดงในโปรแกรมที่ 5-4 โปรแกรมที่ 5-4 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ อควบคุ มความสว างของ LED 3 สี RGB แบบโปรแกรมได บน ZX-RGB8S โดยใช สวิ ตช SW1 และ SW2
68 KidBrightIoT รู ปที่ 5-10 ผลการทํ างานของโปรแกรมที่ 5-4 ในการควบคุ มความสว างในการขั บแสงสี ของแถบ LED 3 สี ZX-RGB8S จากการกดสวิ ตช SW1 บนบอร ด KidBright32iP
KidBrightIoT 69 ทํ าการอั ปโหลดโปรแกรมที่ 5-4 ไปยั งบอร ด KidBright32iP จากนั้ นโปรแกรมจะทํ างานทั นที ทํ าการกดสวิ ตช SW2 บนบอร ด KidBright32iP อย างต อเนื่ อง สั งเกตการแสดงผลของ แถบ LED 3 สี ZX-RGB8S ตามรู ปที่ 5-11 ZX-RGB8S จะค อยๆ เริ่ มติ ดสว างเป นสี แดง และสว างมากขึ้ นตามการกดสวิ ตช SW2 บนบอร ด KidBright32iP จนได ความสว างตามที่ ต องการหรื อสว างสู งสุ ด แต ต องระวั งแสงที่ สว าง อาจรบกวนสายตา หรื อทํ าให ตาพร าได หากมองจ องโดยตรง ดั งนั้ น ควรหลี กเลี่ ยงการมองแสงจากแถบ LED โดยตรง จากนั้ นทดลองกดสวิ ตช SW1 บนบอร ด KidBright32iP อย างต อเนื่ อง สั งเกตการแสดงผลของ แถบ LED 3 สี ZX-RGB8S ZX-RGB8S จะค อยๆ เริ่ มลดความสว างลงตามการกดสวิ ตช SW1 บนบอร ด KidBright32iP จนได กระทั่ งแถบ LED ดั บลง แก ไขโปรแกรมที่ 5-4 เพื่ อให แถบ LED บน ZX-RGB8S ขั บแสงสี อื่ นๆ เช น เขี ยว นํ้ าเงิ น ขาว LED 3 สี RGB แบบโปรแกรมได เป นอุ ปกรณ เอาต พุ ตที่ สร างความสนุ กในการเรี ยนรู วิ ทยาการ คํ านวณเชิ งปฏิ บั ติ การอย างมาก เพราะผู เรี ยนจะได สร างสรรค โปรแกรมเพื่ อนํ าไปขั บ LED ให มี แสง สี แตกต างกั น ทั้ งจํ านวนการแสดงผล รู ปแบบการแสดงผล เพื่ อต อยอดไปยั งการใช งานจริ งเป นแหล ง กํ าเนิ ดแสงสี แบบโปรแกรมได สํ าหรั บการเพาะปลู กพื ชในกลุ มไมโครกรี นได ต อไป
70 KidBrightIoT
KidBrightIoT 71 KidBright32iP บอร ด KidBright32iP มี ลํ าโพงขนาดเล็ กติ ดตั้ งอยู บนบอร ดดั งแสดงในรู ปที่ 6-1 ในโปรแกรม KidBright IDE มี บล็ อกคํ าสั่ งในหั วข อ Music สํ าหรั บสร างเสี ยงออกลํ าโพง โดยบล็ อกคํ าสั่ งสํ าหรั บ สร างเสี ยงมี 5 บล็ อก ดั งรู ปที่ 6-2 6.1 ว ากั นด วยเรื่ องโน ตดนตรี 6.1.1 เสี ยงของตั วโน ตดนตรี ประกอบด วย 7 โน ตหลั กคื อ โด เร มี ฟา ซอล ลา ที แทนด วยตั วอั กษรภาษาอั งกฤษ คื อ C = โด, D = เร, E = มี , F = ฟา, G = ซอล, A = ลา และ B = ที โน ตดนตรี 1 ชุ ดหรื อออกเตฟ (Octave) มี 8 ตั ว คื อ C=โด, D=เร, E=มี , F=ฟา, G=ซอล, A=ลา, B=ที แล ววนเป น C=โดที่ มี ความถี่ สู งขึ้ นอี ก 1 ออกเตฟหรื อเรี ยกว า โดสู ง นอกจากนี้ ยั งมี ตั วโน ตครึ่ งเสี ยงที่ ใช สั ญลั กษณ # (ชาร ป : Sharp) และ b (แฟลต : Flat) โดย ตั วโน ตที่ ติ ด # จะเป นการเพิ่ มบั นไดเสี ยงขึ้ นครึ่ งเสี ยง ส วนตั วโน ตที่ ติ ด b จะลดบั นไดเสี ยงเสี ยงของ ตั วโน ตปกติ ลงครึ่ งเสี ยง รู ปที่ 6-1 แสดงตํ าแหน งของลํ าโพงเป ยโซที่ ติ ดตั้ งบนบอร ด KidBright32iP ใช สํ าหรั บขั บเสี ยง
72 KidBrightIoT รู ปที่ 6-2 แสดงบล็ อกคํ าสั่ งในหั วข อ Musicที่ ใช ในการสร างและขั บสั ญญาณเสี ยงของโปรแกรม KidBright IDE 6.1.2 การกํ าหนดความสั้ นยาวของเสี ยง ใช เพื่ อกํ าหนดว า ตั วโน ตดนตรี นั้ นดั งยาวนานเท าใด ปกติ จะใช ค าจั งหวะหรื อบี ต (beat) มี ค า เท ากั บ 120 จั งหวะต อนาที (beat per minute : bpm) สั ญลั กษณ ต างๆ สํ าหรั บกํ าหนดความสั้ นยาว ของตั วโน ตดนตรี แสดงในตารางที่ 6-1
KidBrightIoT 73 ตารางที่ 6-1 แสดงข อมู ลของตั วโน ตที่ ใช ในการกํ าหนดจั งหวะและความสั้ นยาวของ เสี ยง 6.2 ตั วอย างทดสอบสร างเสี ยงสั ญญาณและเสี ยงเพลง 6.2.1 สร างเสี ยงไซเรน เป นตั วอย างเบื้ องต นสํ าหรั บการสร างโค ดเพื่ อขั บเสี ยงออกลํ าโพงเป นเสี ยงแจ งเตื อน โดยมี ตั ว อย างของโค ดแสดงในโปรแกรมที่ 6-1 การทํ างานของโปรแกรม เริ่ มต นด วยการรอการกดสวิ ตช S1 เมื่ อกดสวิ ตช จะเข าไปทํ างานใน ลู ป สร างเสี ยงด วยโน ตที่ อยู ห างกั นคนละออกเตฟสลั บกั นสร างเสี ยงดั งต อเนื่ อง ระยะเวลาในการสร าง เสี ยงแต ละตั วโน ตคื อ 0.5 วิ นาที จากการใส ไว ในบล็ อก Forever ทํ าให ทํ างานต อเนื่ องไม มี หยุ ด ยกเว นจะกดสวิ ตช รี เซต หรื อหยุ ดการจ ายไฟ โปรแกรมที่ 6-1 โปรแกรมสํ าหรั บบอร ด KidBright32iP ในการขั บเสี ยงสั ญญาณ 2 ความถี่ ที่ คล ายกั บ เสี ยงไซเรน
74 KidBrightIoT 6.2.2 KidBright32iP เล นเพลง Happy Birthday เมื่ อนํ าตั วโน ตและจั งหวะมาเรี ยงต อกั น อย างถู กต องก็ ออกมาเป นการเล นเพลงได ดั งตั วอย างโปรแกรมที่ 6-2 โดยในโปรแกรมนี้ เริ่ ม ต นด วยการตรวจสอบการกดสวิ ตช S1 ก อน เมื่ อ สวิ ตช ถู กกดจึ งทํ าการสร างเสี ยงดนตรี โดยแสดง ข อความ Happy BirthDay ที่ ส วนแสดงผล LED 16 x 8 จุ ด ไปพร อมกั บการเล นเพลงด วย เมื่ อทํ าการเที ยบกั บโค ดก อนหน านี้ ใน โปรแกรมที่ 6-1 คํ าสั่ งรอกดสวิ ตช จะอยู ในลู ป Forever ทํ าให การเล นเพลงเกิ ดขึ้ นครั้ งเดี ยว เมื่ อเล นเพลงจบจะต องกดสวิ ตช S1 ใหม บอร ด KidBright32iP ถึ งจะเล นเพลงอี กครั้ ง อย างไรก็ ตาม โค ดของโปรแกรมที่ 6-2 ค อนข างยาว อาจ ดาวน โหลดไฟล จากลิ งก https://pastebin.com/ Rsu3yANB มาทดลองได โปรแกรมที่ 6-2 โปรแกรมสํ าหรั บบอร ด KidBright32iP ในการขั บเสี ยงโน ตดนตรี เพื่ อเล นเป นเพลง Happy Birthday
KidBrightIoT 75 KidBright32iP ในการขั บโหลดที่ ต องการแรงดั นไฟฟ าและกระแสไฟฟ าสู งของไมโครคอนโทรลเลอร อุ ปกรณ หนึ่ งที่ นิ ยมใช ในระบบควบคุ มสมั ยใหม คื อ วงจรขั บโหลดที่ ใช มอสเฟต ด วยข อดี คื อ ไม มี กลไกเคลื่ อนไหว ไม เกิ ดประกายไฟหรื อกระแสไฟฟ ากระชากเมื่ อหน าสั มผั สมี การตั ดและต อ เพราะ เมื่ อมอสเฟตทํ างาน ค าความต านทานเอาต พุ ตจะตํ่ ามากในระดั บมิ ลลิ โอห ม จึ งทํ าให กระแสไฟฟ าไหล ผ านไปยั งโหลดได ดี เสมื อนเป นอิ เล็ กทรอนิ กส สวิ ตช กํ าลั งไฟฟ าสู ง ด านการรั บสั ญญาณเพื่ อกระตุ น ให ทํ างานรองรั บแรงดั นไฟฟ าในย านกว างตั้ งแต 2 ถึ ง 5V และต องการกระแสไฟฟ าทางอิ นพุ ตที่ ตํ่ า เช นกั น ตั วอย างวงจรขั บโหลดกระแสไฟฟ าสู งด วยมอสเฟตแสดงในรู ปที่ 7-1 7.1 แนะนํ า ZX-DRIVER4H บอร ดขั บโหลดกํ าลั งไฟฟ าสู ง 4 ช อง มี หน าตาแสดงดั งรู ปที่ 7-2 วงจรของบอร ดมาจากวงจรขั บโหลดกระแสไฟฟ าสู งด วยมอสเฟต นํ ามาประกอบกั น 4 วงจร ดั งแสดงในรู ปที่ 7-3 ทํ าให บอร ดไมโครคอนโทรลเลอร ที่ นํ ามาต อควบคุ มนั้ น สามารถขั บโหลดจํ าพวกหลอดไฟไส พั ดลม มอเตอร ป มนํ้ า แรงดั นไฟฟ าที่ จุ ดต อเอาต พุ ตจะเท ากั บ แรงดั นไฟตรงอิ นพุ ตจากวงจรคื อ +VL ซึ่ งมี ย านกว าง 5 ถึ ง 12V รู ปที่ 7-1 วงจรขั บโหลดกํ าลั งไฟฟ าสู งที่ ใช มอสเฟตสํ าหรั บบอร ดไมโครคอนโทรลเลอร J1 IN1 LED1 ON D1 1N4001 K1 OUT Q1 RQ5E035 R1 820 R2 10k +VL
76 KidBrightIoT รู ปที่ 7-2 ลั กษณะของ ZX-DRIVER4H บอร ดขั บโหลดกํ าลั งไฟฟ าสู ง 4 ช อง รู ปที่ 7-3 วงจรของ ZX-DRIVER4H บอร ดขั บโหลดกํ าลั งไฟฟ าสู ง 4 ช อง K0 Vin 5-12Vdc J0 5-12Vdc DC input Q0 SSM3J332R R2 10k D1 R1 820 LED1 OUT1 Q1 RQ5E035 K1 OUT1 J1 IN1 J2 IN2 LED2 OUT2 D2 K2 OUT2 Q2 RQ5E035 R3 820 R4 10k R7 820 Q4 R8 RQ5E035 10k LED4 OUT4 LED3 D4 OUT3 D3 Q3 RQ5E035 R6 10k R5 820 K3 OUT3 J3 IN3 J4 IN4 K4 OUT4 LED0 POWER R0 820 +VL
KidBrightIoT 77 คุ ณสมบั ติ โดยสรุ ปของบอร ด ZX-DRIVER4H มี ดั งนี้ ใช มอสเฟตกํ าลั งไฟฟ าสู งในการขั บโหลด ไฟเลี้ ยง 5 ถึ ง 12V ในช องเอาต พุ ต 4 ช อง รองรั บการขั บโหลดกระแสไฟฟ าได สู งถึ ง 2A มี ไฟแสดงผลการทํ างานของวงจรขั บ โดยติ ดสว างเมื่ อวงจรทํ างานเกิ ดกระแสไฟฟ า ไหลไปยั งโหลดที่ เอาต พุ ต อิ นพุ ตรั บสั ญญาณลอจิ กหรื อดิ จิ ทั ล ทั้ งแบบ +3.3V และ +5V ทํ างานที่ ลอจิ กสู งหรื อ “1” จุ ดต ออิ นพุ ตมี ทั้ งแบบ JST 2.0 มม. 3 ขา และ IDC 2.54 มม. 3 ขา แบบตั วผู และตั วเมี ย เชื่ อมต อกั บไมโครคอนโทรลเลอร ได ทุ กตระกู ล รวมทั้ งบอร ดคอมพิ วเตอร ขนาดเล็ ก 7.2 ตั วอย างการใช งานบอร ด ZX-DRIVER4H กั บบอร ด KidBright32iP 7.2.1 ตั วอย างการขั บพั ดลมไฟตรง พั ดลมไฟตรงที่ นํ ามาเป นตั วอย างในหั วข อนี้ เป นพั ดลมไฟตรง 5V ที่ ใช ในการระบายความ ร อนในระบบคอมพิ วเตอร ขนาดเล็ ก มี หน าตา ขนาด และคุ ณสมบั ติ ทางไฟฟ าแสดงในรู ปที่ 7-4 การนํ าบอร ด KidBright32iP มาควบคุ มการทํ างานของพั ดลมไฟตรง ควรต องกระทํ าผ าน วงจรขั บโหลดกํ าลั งไฟฟ าสู ง ในที่ นี้ แนะนํ าให ใช บอร ด ZX-DRIVER4H โดยมี การต อวงจรตามรู ปที่ 7-5 มี การใช ไฟเลี้ ยง 5V แยกกั น 2 ชุ ด ชุ ดหนึ่ งป อนให กั บบอร ด KidBright32iP ส วนอี กชุ ดหนึ่ งสํ า หรั บบอร ด ZX-DRIVER4H รู ปที่ 7-4 ลั กษณะและคุ ณสมบั ติ ทางไฟฟ าของพั ดลมไฟตรง 5V คุ ณสมบั ติ ทางไฟฟ าของพั ดลมไฟตรง 5V ไฟเลี้ ยง : 5V กระแสไฟฟ า 80mA กํ าลั งไฟฟ าใช งาน : 400mW เสี ยงรบกวน : 18dBA ขนาด : 40 x 40 x 10 มิ ลลิ เมตร ปริ มาตรลม : 6 ลู กบาศก ฟุ ตต อนาที (Cubic Feet per Minute : CFM) อายุ การใช งาน : 30,000 ชั่ วโมง
78 KidBrightIoT รู ปที่ 7-5 การต ออุ ปกรณ เพื่ อทดลองใช งานบอร ด KidBright32iP ในการขั บพั ดลมไฟตรงผ านบอร ดขั บ โหลดกํ าลั งไฟฟ าสู ง ZX-DRIVER4H โปรแกรมที่ 7-1 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ อควบคุ มการทํ างานของพั ดลมผ านบอร ด ZXDRIVER4H
KidBrightIoT 79 การทดสอบมี ขั้ นตอนดั งนี้ (1) เป ดโปรแกรม KidBright IDE จากนั้ นเชื่ อมต อบอร ด KidBright32iP เข ากั บคอมพิ วเตอร (2) สร างโค ดตามโปรแกรมที่ 7-1 เพื่ อส งสั ญญาณจากบอร ด KifdBright32iP ไปขั บพั ดลมให หมุ นผ านบอร ด ZX-DRIVER4H แล วทํ าการอั ปโหลดโปรแกรมให เรี ยบร อย (3) จ ายไฟ 5V ไปยั งบอร ด ZX-DRIVER4H โดยที่ บอร ด KidBright32iP ยั งคงต อกั บคอมพิ วเตอร เพื่ อรั บไฟเลี้ ยง 5V ผ านทางจุ ดต อ USB-C หรื อจะถอดสายออกจากคอมพิ วเตอร แล วใช อะแดปเตอร ไฟตรง 5V แบบ USB ต อเข าไปเลี้ ยงบอร ดแทน ดั งรู ปที่ 7-5 ส วนพั ดลมไฟตรงต อเข าสายเข าที่ จุ ดต อ เอาต พุ ต ช อง 1 ของบอร ด ZX-DRIVER4H โดยต องต อให ถู กขั้ วด วย (4) กดสวิ ตช S1 บนบอร ด KidBright32iP แล วสั งเกตการทํ างานของพั ดลม (5) กดสวิ ตช S2 บนบอร ด KidBright32iP แล วสั งเกตการทํ างานของพั ดลม พั ดลมจะทํ างานหรื อหมุ นเมื่ อสวิ ตช S1 บนบอร ด KidBright32iP ถู กกด และหยุ ดหมุ น เมื่ อสวิ ตช S2 บนบอร ด KidBright32iP ถู กกด 7.2.2 ตั วอย างการขั บป มนํ้ าขนาดเล็ ก ป มนํ้ าขนาดเล็ กนี้ ต องการแรงดั นไฟเลี้ ยง 3 ถึ ง 6V และกระแสไฟฟ าประมาณ 100 ถึ ง 200mA ในการใช งานจะต องจุ มป มนํ้ านี้ ลงในนํ้ า แล วต อสายยางเข าที่ ช องทางนํ้ าออก เมื่ อป มทํ างาน นํ้ าจะถู ก ดู ดเข ามาและถู กป มเพื่ อส งออกไปทางช องทางนํ้ าออก ในรู ปที่ 7-6 แสดงการเชื่ อมต ออุ ปกรณ ทั้ งหมด เพื่ อทดสอบการทํ างาน การทดสอบมี ขั้ นตอนดั งนี้ (1) เป ดโปรแกรม KidBright IDE จากนั้ นเชื่ อมต อบอร ด KidBright32iP เข ากั บคอมพิ วเตอร (2) ยั งคงใช โปรแกรมที่ 7-1 ในการทํ างานเพื่ อส งสั ญญาณจากบอร ด KifdBright32iP ไปขั บ ป มนํ้ าให ทํ างานผ านบอร ด ZX-DRIVER4H (3) จ ายไฟ 5V ไปยั งบอร ด ZX-DRIVER4H โดยที่ บอร ด KidBright32iP ยั งคงต อกั บคอมพิ วเตอร เพื่ อรั บไฟเลี้ ยง 5V ผ านทางจุ ดต อ USB-C หรื อจะถอดสายออกจากคอมพิ วเตอร แล วใช อะแดปเตอร ไฟตรง 5V แบบ USB ต อเข าไปเลี้ ยงบอร ดแทน ดั งรู ปที่ 7-6 ส วนป มนํ้ าให ทํ าการต อเข าสายเข าที่ จุ ดต อ เอาต พุ ตช อง 2 ของบอร ด ZX-DRIVER4H โดยต องต อให ถู กขั้ วด วย (4) กดสวิ ตช S1 บนบอร ด KidBright32iP แล วสั งเกตการทํ างานของป มนํ้ า
80 KidBrightIoT (5) กดสวิ ตช S2 บนบอร ด KidBright32iP แล วสั งเกตการทํ างานของป มนํ้ า ป มนํ้ าจะทํ างานเมื่ อสวิ ตช S1 บนบอร ด KidBright32iP ถู กกด และหยุ ดทํ างานเมื่ อกดสวิ ตช S2 บนบอร ด KidBright32iP 7.2.3 เติ มนํ้ าใส ขวด เต็ มแล วตั ด ถ าต องการเติ มนํ้ าจากถั งไปยั งขวดนํ้ า 1.5 ลิ ตร ถ าใช ป มนํ้ าทั่ วๆ ไปจะต องคอยรอจนกว านํ้ า จะเต็ มแล วค อยป ดสวิ ตช โครงงานนี้ จะเอาคุ ณสมบั ติ การไหลของนํ้ าในป มนํ้ าซึ่ งอยู ที่ 1.2 ถึ ง 1.6 ลิ ตร ต อนาที มาใช ถ าสั่ งให KidBright32iP เป ดป มนํ้ าเป นเวลา 1 นาที นํ้ าน าจะเต็ มขวดพอดี การทดสอบมี ขั้ นตอนดั งนี้ (1) เป ดโปรแกรม KidBright IDE จากนั้ นเชื่ อมต อบอร ด KidBright32iP เข ากั บคอมพิ วเตอร (2) สร างโค ดตามโปรแกรมที่ 7-2 ในการทํ างานเพื่ อส งสั ญญาณจากบอร ด KidBright32iP ไปขั บป มนํ้ าให ทํ างานผ านบอร ด ZX-DRIVER4H รู ปที่ 7-6 การต ออุ ปกรณ เพื่ อทดลองใช งานบอร ด KidBright32iP ในการขั บป มนํ้ าขนาดเล็ กผ านบอร ดขั บ โหลดกํ าลั งไฟฟ าสู ง ZX-DRIVER4H
KidBrightIoT 81 โปรแกรมที่ 7-2 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ อควบคุ มการทํ างานของป มนํ้ าในแบบตั้ งเวลา ผ านบอร ด ZX-DRIVER4H โปรแกรมจะวนทํ างานต อเนื่ อง รอการกดสวิ ตช S1 เพื่ อเริ่ มทํ างาน เมื่ อกดสวิ ตช ให ส ง เสี ยงและส งสั ญญาณลอจิ ก “1” ออกไปทางขาพอร ต O2 จากนั้ นวนส งค านี้ ตามการเปลี่ ยนแปลงค า ของตั วแปร CNT ซึ่ งเริ่ มนั บจาก 0 เพิ่ มค าขึ้ นทุ กๆ 1 วิ นาที ตามลู ป repeat ultil และตรวจสอบว าค า ตั วแปร CNT มี ค าถึ ง 60 หรื อยั ง เมื่ อถึ งแล ว จะส งสั ญญาณลอจิ ก “0” ออกไปทางขาพอร ต O2 (3) เชื่ อมต ออุ ปกรณ และเตรี ยมการเพื่ อทดสอบการทํ างานตามรู ปที่ 7-7 (4) กดสวิ ตช S1 บนบอร ด KidBright32iP แล วสั งเกตการทํ างานของป มนํ้ า ป มนํ้ าจะทํ างานเมื่ อสวิ ตช S1 บนบอร ด KidBright32iP ถู กกด และหยุ ดทํ างานเมื่ อผ าน ไป 60 วิ นาที
82 KidBrightIoT รู ปที่ 7-7 แนวทางการเชื่ อมต ออุ ปกรณ และเตรี ยมการเกี่ ยวกั บป มนํ้ าและขวดนํ้ าเพื่ อใช ทดสอบการทํ างาน ของโปรแกรมที่ 7-2
KidBrightIoT 83 7.2.4 เติ มนํ้ าใส ขวด แบบมี สวิ ตช ฉุ กเฉิ นสั่ งป ด จากตั วอย างในหั วข อ 7.2.4 เมื่ อมอเตอร ในป มทํ างานไปแล ว ระบบจะไม สามารถสั่ งให หยุ ด ทํ างานแบบฉุ กเฉิ นได ในตั วอย างนี้ จะใช สวิ ตช S2 เพื่ อสั่ งหยุ ด จากเดิ มตรวจสอบเพี ยงว า ค าของตั วแปร นั บถึ ง 60 แล วหรื อไม ในตั วอย างนี้ จึ งทํ าการปรั บปรุ งโปรแกรมที่ 7-2 โดยเพิ่ มการตรวจสอบการกดสวิ ตช S2 เข าไป ได เป นโปรแกรมที่ 7-3 ซึ่ งมี เงื่ อนไขของการตรวจสอบการกดสวิ ตช S2 อยู ภายในลู ป repeat until ถ าพบว า สวิ ตช S2 ถู กกด คํ าสั่ ง break จะถู กกระทํ า โปรแกรมจึ งออกจากลู ป ทั นที หลั งจาก นั้ นจะไปกระทํ าคํ าสั่ ง set CNT = 0 เพื่ อส งค าลอจิ ก “0” ไปยั งพอร ต O2 เพื่ อหยุ ดการทํ างานวงจร ขั บโหลดกํ าลั งไฟฟ าสู งที่ ต อขาพอร ต O2 แล ววนกลั บไปเริ่ มต นการทํ างานในรอบใหม โปรแกรมที่ 7-3 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ อควบคุ มการทํ างานของป มนํ้ าในแบบตั้ งเวลา ผ านบอร ด ZX-DRIVER4H และมี สวิ ตช กดหยุ ดทํ างานฉุ กเฉิ น
84 KidBrightIoT การทดสอบมี ขั้ นตอนดั งนี้ (1) เป ดโปรแกรม KidBright IDE จากนั้ นเชื่ อมต อบอร ด KidBright32iP เข ากั บคอมพิ วเตอร (2) สร างโค ดตามโปรแกรมที่ 7-3 แล วอั ปโหลดไปยั งบอร ด KidBright332iP ในโปรแกรมจะเริ่ มทํ างานเมื่ อพบว า สวิ ตช S1 ถู กกด ทํ าการเพิ่ มค าของตั วแปร และมี การ ตรวจสอบ2 เงื่ อนไขคื อ ค าของตั วแปรที่ ใช กํ าหนดเวลามี ค าเป น 60 หรื อยั ง และตรวจสอบการกด สวิ ตช S2 เนื่ องจากในลู ป repeat ultil มี คํ าสั่ งหน วงเวลา 1 วิ นาที อยู ด วย อาจทํ าให โปรแกรมตอบสนอง ต อการกดสวิ ตช S2 ช าไปเล็ กน อย (3) ยั งคงใช การต ออุ ปกรณ เพื่ อทดสอบการทํ างานตามรู ปที่ 7-6 (4) กดสวิ ตช S1 บนบอร ด KidBright32iP แล วสั งเกตการทํ างานของป มนํ้ า และกดสวิ ตช S2 หลั งจากป มนํ้ าทํ างานแล ว 30 วิ นาที ป มนํ้ าจะทํ างานเมื่ อสวิ ตช S1 บนบอร ด KidBright32iP ถู กกด และหยุ ดทํ างานเมื่ อมี การ กดสวิ ตช S2 หากไม กดสวิ ตช S2 ป มนํ้ าจะทํ างานนาน 60 วิ นาที แล วหยุ ดเอง 7.3 ตั วอย างโครงงานระบบรดนํ้ าอั ตโนมั ติ จากความรู ในการขั บป มนํ้ าในบทนี้ และการใช งานตั วตรวจจั บความชุ มชื้ นของดิ นนํ ามาใช สร างโครงงานระบบรดนํ้ าอั ตโนมั ติ ได โดยมี ไดอะแกรมแสดงแนวคิ ดการทํ างานของโครงงานนี้ ใน รู ปที่ 7-8 รู ปที่ 7-8 ไดอะแกรมการทํ างานของโครงงานระบบรดนํ้ าอั ตโนมั ติ
KidBrightIoT 85 โปรแกรมที่ 7-4 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ ออ านค าความชุ มชื้ นของดิ น รู ปที่ 7-9 การต อบอร ด KidBright32iP กั บบอร ดตรวจวั ดความชุ มชื้ นของดิ น ZX-SOIL เพื่ ออ านค าสภาพดิ น ที่ ตรวจวั ดได 7.3.1 ทดสอบหาค าอ างอิ งสํ าหรั บกระตุ นการทํ างาน ก อนจะสร างโครงงานนี้ จะต องทํ าการทดสอบหาค าอ างอิ งระหว างดิ นแห งและดิ นที่ ชุ มชื้ น เพี ยงพอ เพื่ อนํ าไปใช กํ าหนดเงื่ อนไขการทํ างานของโปรแกรมในโครงงานนี้ ต อไป (1) เตรี ยมภาชนะ 2 ใบ สํ าหรั บใส ดิ นแห ง (2) เป ดโปรแกรม KidBright IDE จากนั้ นเชื่ อมต อบอร ด KidBright32iP เข ากั บคอมพิ วเตอร (3) สร างโค ดตามโปรแกรมที่ 7-4 แล วทํ าการอั ปโหลดโปรแกรมให เรี ยบร อย
86 KidBrightIoT (4) นํ าบอร ด KidBright32iP มาต อกั บบอร ดตรวจวั ดความชุ มชื้ นของดิ น ZX-SOIL ดั งรู ปที่ 7-9 แล วป กส วนตรวจจั บของ ZX-SOIL ลงในดิ นแห ง แล วดู ค าความชุ มชื้ นที่ อ านได จากดิ นแห ง บั นทึ กไว (5) จากนั้ นนํ า ZX-SOIL ย ายไปวั ดความชุ มชื้ นของดิ นในอี กภาชนะใบที่ สองที่ ใส ดิ นแห งไว แล ว ค อยๆ เติ มนํ้ าลงในดิ น แล วสั งเกตค าที่ อ านได บนส วนแสดงผล LED 16 x 8 จุ ดของบอร ด KIdBright32iP เมื่ อดิ นมี ความชุ มชื้ นเพี ยงพอตามที่ ต องการให หยุ ดเติ มนํ้ า แล วดู ค าที่ อ านได ล าสุ ด บั นทึ กค าไว (6) จากขั้ นตอนที่ (5) จะได ข อมู ล 2 ค าสํ าหรั บนํ ามาใช กํ าหนดจุ ดทํ างานของโครงงานระบบ รดนํ้ าอั ตโนมั ติ นั่ นคื อ ค าที่ อ านได เมื่ อดิ นแห ง และค าที่ อ านได เมื่ อดิ นมี ความชุ มชื้ นเพี ยงพอ ๐ ค าของดิ นแห งจะใช เป นค าสํ าหรั บกํ าหนดให ป มนํ้ าทํ างาน ๐ ค าของดิ นที่ ชุ มชื้ นเพี ยงพอจะใช เป นค าสํ าหรั บหยุ ดการทํ างานของป มนํ้ า ตั วแปรที่ สํ าคั ญของโครงงานนี้ คื อ การกํ าหนดค าความชุ มชื้ นของดิ นที่ ใช ควบคุ มการทํ างาน ของป มนํ้ า ต องกํ าหนดให เหมาะสมเพื่ อไม ให ป มนํ้ าทํ างานคล ายไฟกะพริ บ นั่ นคื อ ทํ างานและหยุ ด ทํ างานอย างรวดเร็ ว เพราะค าอ างอิ งมี ค าใกล กั นมากเกิ นไป แนวคิ ดของการเลื อกค าอ างอิ งที่ เหมาะสมมี ดั งนี้ ๐ เมื่ อดิ นเริ่ มแห ง ค าที่ อ านได จะลดลง ควรปล อยให ค าที่ อ านได จาก ZX-SOIL ลดลงไป มากอี กหน อย เพื่ อให แน ใจว า เกิ ดภาวะดิ นแห งจริ ง จากนั้ นจึ งเลื อกใช ค านั้ นในการกํ าหนดให ป มนํ้ า ทํ างาน ๐ เมื่ อดิ นได รั บนํ้ าจากป มนํ้ า ก็ จะเริ่ มชุ มชื้ นมากขึ้ น ควรปล อยให ดิ นชุ มพอสมควร จึ งเลื อก ค าที่ อ านได จากตั วตรวจจั บ ZX-SOIL ในภาวะนั้ นมาใช กํ าหนดให ป มนํ้ าหยุ ดทํ างาน อาจต องมี การปรั บค าอ างอิ งทั้ งสองตั วนี้ อี กพอสมควร เพื่ อให เหมาะกั บความต องการของผู ใช งาน และค าอ างอิ งนี้ อาจแตกต างกั นไปในดิ นหรื อสภาพแวดล อมที่ ต างกั น 7.3.2 ต ออุ ปกรณ และพั ฒนาโปรแกรมหลั ก เมื่ อทดสอบอ านค าความชุ มชื้ นของดิ นในภาวะดิ นแห งและภาวะที่ ชุ มชื้ นเพี ยงพอได แล ว ขั้ น ตอนต อไปเป นการพั ฒนาโปรแกรมหลั กและต ออุ ปกรณ เพื่ อทดสอบการทํ างาน (1) เป ดโปรแกรม KidBright IDE จากนั้ นเชื่ อมต อบอร ด KidBright32iP เข ากั บคอมพิ วเตอร (2) สร างโค ดตามโปรแกรมที่ 7-5 แล วทํ าการอั ปโหลดโปรแกรมให เรี ยบร อย
KidBrightIoT 87 (3) ทํ าการต ออุ ปกรณ เพื่ อสร างโครงงานระบบรดนํ้ าอั ตโนมั ติ ตามรู ปที่ 7-10 โดยป กตั วตรวจ จั บ ZX-SOIL ลงในกระถางดิ น ส วนดิ นที่ ใช ใส ลงในกระถางควรเป นดิ นที่ ชุ มชื้ นมากพอจะทํ าให ป ม นํ้ ายั งไม ทํ างาน เพื่ อให เห็ นผลการทํ างานได อย างชั ดเจน การทดสอบการทํ างานของโครงงานมี ดั งนี้ (1) จ ายไฟให กั บโครงงาน หากดิ นในกระถางหรื อภาชนะมี ความชุ มชื้ นมากพอ (ดู ได จากค า ที่ อ านได จาก ZX-SOIL บนบอร ด KidBright32iP) ระบบจะไม มี การทํ างานใดๆ นอกจากการแสดง ค าความชุ มชื้ นที่ อ านได จากตั วตรวจจั บ (2) ทดลองดึ งส วนตรวจจั บของ ZX-SOIL ให พ นดิ น เพื่ อจํ าลองภาวะดิ นแห งอย างรวดเร็ ว สั งเกตการแสดงผลของบอร ด KidBright32iP, การทํ างานของบอร ด ZX-DRIVER4H และป มนํ้ า บอร ด KidBright32iP แสดงค าที่ อ านได จาก ZX-SOIL เป นค าตํ่ า ทํ าให เงื่ อนไขของการตรวจ สอบเป นจริ ง (ดิ นแห ง) บอร ด KidBright32iP ส งสั ญญาณลอจิ ก “1” ไปยั งบอร ด ZX-DRIVER4H ทํ าให วงจรขั บโหลดกํ าลั งไฟฟ าสู งทํ างาน จ ายแรงดั นไฟตรงไปยั งป มนํ้ า นํ้ าจะถู กสู บไปรดในกระถาง ดิ นทั นที โปรแกรมที่ 7-5 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ อนํ ามาใช สร างโครงงานระบบรดนํ้ าอั ตโนมั ติ
88 KidBrightIoT รู ปที่ 7-10 การต ออุ ปกรณ เพื่ อใช งานบอร ด KidBright32iP ในการสร างโครงงานระบบรดนํ้ าอั ตโนมั ติ (3) เมื่ อป มทํ างานได สั กระยะหนึ่ ง ทํ าการป กส วนตรวจจั บของ ZX-SOIL ลงในดิ นอี กครั้ ง สั งเกตการแสดงผลของบอร ด KidBright32iP, การทํ างานของบอร ด ZX-DRIVER4H และป มนํ้ า บอร ด KidBright32iP แสดงค าที่ อ านได จาก ZX-SOIL เป นค าสู งทํ าให เงื่ อนไขการตรวจสอบ เป นเท็ จ (ดิ นชุ มชื้ นเพี ยงพอ) บอร ด KidBright32iP ส งสั ญญาณลอจิ ก “0” ไปยั งบอร ด ZX-DRIVER4H ทํ าให วงจรขั บโหลดกํ าลั งไฟฟ าสู งหยุ ดทํ างาน หยุ ดการจ ายแรงดั นไฟตรงไปยั งป มนํ้ า ป มนํ้ าหยุ ดทํ างาน และหยุ ดการรดนํ้ าลงในกระถางดิ นทั นที ทั้ งหมดที่ นํ าเสนอในบทนี้ คื อ แนะนํ าการขั บโหลดกํ าลั งไฟฟ าสู งของบอร ด KidBright32iP นํ าไป สู การพั ฒนาโครงงานระบบรดนํ้ าอั ตโนมั ติ ที่ เป นพื้ นฐานของการระบบเกษตรกรรมอั ตโนมั ติ ต อไป
KidBrightIoT 89 KidBright32iP บนบอร ด KidBright32iP ติ ดตั้ งตั วตรวจจั บปริ มาณทางกายภาพพร อมใช งาน 2 อย างดั งแสดง ในรู ปที่ 8-1 คื อ 1. ตั วตรวจจั บแสง 2. ตั วตรวจจั บและวั ดอุ ณหภู มิ ใน KidBright IDE ได จั ดเตรี ยมบล็ อกคํ าสั่ งสํ าหรั บอ านค าจากตั วตรวจจั บมาตรฐานของบอร ด KidBright รวมอยู ในแถบคํ าสั่ ง Sensor ซึ่ งมี บล็ อกต างๆ แสดงได ดั งรู ปที่ 8-2 รู ปที่ 8-1 ตํ าแหน งของตั วตรวจจั บที่ มาพร อมกั บบอร ด KidBright32iP
90 KidBrightIoT 8.1 อ านค าตั วตรวจจั บแสงด วยบล็ อก Light Level Sensor โครงสร างของวงจรตรวจจั บแสงนี้ ใช อุ ปกรณ ที่ เรี ยกว า โฟโต ทรานซิ สเตอร เป นอุ ปกรณ สาร กึ่ งตั วนํ าที่ เปลี่ ยนค าความต านทานไฟฟ าภายในตั วมั นตามแสง จึ งนํ ามาใช ในการตรวจจั บแสงขาวได และในโปรแกรม KidBright IDE ได เตรี ยมบล็ อกคํ าสั่ งเพื่ ออ านค าที่ ได จากโฟโต ทรานซิ สเตอร บน บอร ด KidBright32iP มาคํ านวณและคื นค าเป นระดั บความสว างของแสงในช วง 0 ถึ ง 100 เพื่ อเที ยบ เป นค าความสว างจาก 0 ถึ ง 100% จากการทดลองเมื่ อบั งตั วตรวจจั บไม ให รั บแสงจะอ านค าได ตํ่ าสุ ด ประมาณ 14 หากนํ าไฟฉายส องที่ ตั วตรวจจั บจะอ านค าได สู งสุ ดที่ 100 8.1.1 ทดสอบอ านค าของการตรวจจั บแสงอย างง าย การทดสอบทํ าได ด วยการสร างโค ดง ายๆ บนโปรแกรม KidBright IDE ดั งแสดงในโปรแกรมที่ 8-1 จากนั้ นอั ปโหลดไปยั งบอร ด KidBright32iP แล วดู ผลการทํ างานที่ ส วนแสดงผล LED 16 x 8 จุ ด ทดสอบการทํ างานด วยการใช มื อบั งแสงไม ให ตกกระทบตั วตรวจจั บแสงบนบอร ด KidBright32iP และใช ไฟฉายส องไปยั งตั วตรวจจั บแสง ดู ค าที่ ได ของทั้ งสองกรณี จะพบว า ๐ เมื่ อวงจรตรวจจั บแสงได รั บแสงมาก ก็ จะให ผลการตรวจจั บเป นค าสู ง ๐ เมื่ อวงจรตรวจจั บแสงได รั บแสงน อย ก็ จะให ผลการตรวจจั บเป นค าตํ่ าลง เนื่ องจากค าที่ อ านได อยู ในช วง 0 ถึ ง 100 ซึ่ งเกิ น 2 ตั วอั กษร จึ งต องกํ าหนดให แสดงผลด วย บล็ อกคํ าสั่ ง LED 16x8 Scroll When Ready รู ปที่ 8-2 บล็ อกคํ าสั่ งต างๆ ในแถบคํ าสั่ ง Sensor
KidBrightIoT 91 8.1.2 การนํ าค าความสว างมาพล็ อตกราฟแท งแนวตั้ ง ในหั วข อนี้ เป นการต อยอดจากการทดสอบในโปรแกรมที่ 8-1 โดยนํ าค าความเข มแสงที่ อ านจาก วงจรตรวจจั บแสงมาแสดงผลในรู ปของกราฟแท ง โดยใช บล็ อก LED16X8 DOT ของปลั๊ กอิ น Dot Display ที่ ได อธิ บายในบทที่ 2 ดั งแสดงในโปรแกรมที่ 8-2 ที่ บล็ อก LED16X8 DOT เลื อก Type เป น Bar Graph การสร างกราฟแท งในแนวตั้ ง มี LED จํ านวน 8 ดวง จึ งกํ าหนดค าของแกน Y 8 ระดั บคื อ 0 ถึ ง 7 แต ค าความเข มแสงที่ อ านได จากวงจรตรวจจั บแสงมี ค าอยู ในช วง 0 ถึ ง 100 จึ งต องนํ าค าที่ ได มาหารด วย 14 แล วนํ าค ามาแสดง โดยกํ าหนดให แสดงผลค างที่ หลั กซ ายมื อสุ ดนาน 1 วิ นาที เพื่ อให กราฟแสดงค าต อเนื่ อง ใช บล็ อกคํ าสั่ ง LED16X8 MOVE เพื่ อเลื่ อนกราฟไปทางขวามื อที ละ 1 จุ ด ทุ กๆ วิ นาที โปรแกรมที่ 8-2 โปรแกรมอ านค าจากวงจรตรวจจั บแสงบนบอร ด KidBright มาแสดงผลในรู ปแบบ กราฟแท งแนวตั้ ง โปรแกรมที่ 8-1 โปรแกรมอ านค าจากวงจรตรวจจั บแสงบนบอร ด KidBright มาแสดงที่ LED 16 x 8 จุ ด
92 KidBrightIoT ทํ าการสร างโค ดบนโปรแกรม KidBright IDE ตามโปรแกรมที่ 8-2 อั ปโหลดไปยั งบอร ด KidBright32iP ทดสอบการทํ างานด วยการใช มื อบั งแสงไม ให ตกกระทบตั วตรวจจั บแสงบนบอร ด KidBright32iP หรื อใช ไฟฉายส องไปยั งตั วตรวจจั บแสง ดู ผลการทํ างานที่ ส วนแสดงผล LED 16 x 8 จุ ด 8.2 อ านค าอุ ณหภู มิ แวดล อม บอร ด KidBright32iP ติ ดตั้ งวงจรตรวจจั บและวั ดอุ ณหภู มิ ในอากาศที่ อยู รอบๆ บอร ด โดย หั วใจ หลั กของการทํ างานคื อ ไอซี ตรวจจั บอุ ณหภู มิ เบอร LM73 ซึ่ งติ ดต อกั บไมโครคอนโทรลเลอร หลั ก ESP32 ของบอร ด KidBright32iP ผ านทางบั สสองสายหรื อ I2C ในโปรแกรม KidBright IDE ได เตรี ยมบล็ อกคํ าสั่ งเพื่ ออ านค าที่ ได จากไอซี วั ดอุ ณหภู มิ บน บอร ด KidBright32iP มาคํ านวณและคื นค าเป นค าอุ ณหภู มิ ทศนิ ยม 2 ตํ าแหน งในหน วยองศาเซลเซี ยส การทดสอบทํ าได ด วยการสร างโค ดบนโปรแกรม KidBright IDE ดั งในโปรแกรมที่ 8-3 อั ปโหลด ไปยั งบอร ด KidBright32iP จากนั้ นทดลองให ความร อนแก ตั วตรวจจั บด วยการใช มื อแตะที่ ตั วตรวจจั บ และลดความร อนด วยการใช ลมเป า ดู ผลการทํ างานที่ ส วนแสดงผล LED 16 x 8 จุ ด โปรแกรมที่ 8-3 โปรแกรมอ านค าจากวงจรวั ดอุ ณหภู มิ บนบอร ด KidBright มาแสดงที่ LED 16 x 8 จุ ด โปรแกรมที่ 8-4 โปรแกรมแสดงค าความเข มแสงและอุ ณหภู มิ สลั บกั น
KidBrightIoT 93 จากนั้ นทํ าการต อยอดด วยโปรแกรมที่ 8-4 โดยในโปรแกรมนี้ จะอ านและแสดงค าความเข ม แสงและค าอุ ณหภู มิ ที่ วั ดได สลั บกั นไปมาอย างต อเนื่ อง โดยในโปรแกรมที่ 8-4 มี การใช งานบล็ อก Join text with number ซึ่ งบล็ อกนี้ อยู ในแถบคํ าสั่ ง Text ทดสอบได ด วยการสร างโค ดของโปรแกรมที่ 8-4 บนโปรแกรม KidBright IDE อั ปโหลดไป ยั งบอร ด KidBright32iP จากนั้ นทดลองส องและบั งแสงกั บตั วตรวจจั บแสง และทํ าการให และลด ความร อนแก ตั วตรวจจั บอุ ณหภู มิ ดู ผลการทํ างานที่ ส วนแสดงผล LED 16 x 8 จุ ด 8.3 การใช งานตั วตรวจวั ดความส องสว างแสง BH1750 เป นตั วตรวจวั ดความส องสว างแสงขนาดเล็ ก กิ นพลั งงานตํ่ า เป นผลงานจาก ROHM SEMICONDUCTOR ประเทศญี่ ปุ น ได รั บการออกแบบมาเพื่ อใช ในโทรศั พท เคลื่ อนที่ ทาง INEX ได นํ าตั วตรวจจั บนี้ มาต อบนแผ นวงจรพิ มพ และจั ดขาต อให พร อมสะดวกต อการต อใช งาน ตั้ งชื่ อใหม ว า มิ นิ บอร ด ZX-LUX ซึ่ งมี รู ปร างหน าตา, ขาที่ ใช เชื่ อมต อ และคุ ณสมบั ติ ทางเทคนิ คดั งรู ปที่ 8-3 8.3.1 ปลั๊ กอิ น BH1750 ในการพั ฒนาโปรแกรมเพื่ อใช งาน KidBright32iP กั บ ZX-LUX มิ นิ บอร ดตรวจวั ดความส อง สว างแสงโดยใช KidBright IDE จะต องติ ดตั้ งบล็ อกคํ าสั่ งเพิ่ มเติ ม ซึ่ งก็ คื อ ปลั๊ กอิ น BH1750 พั ฒนา โดยความร วมมื อของ INEX และ Artron (เดิ มคื อ IOXHOP) ทํ าได โดย รู ปที่ 8-3 หน าตาของมิ นิ บอร ด ZX-LUX ที่ มี ขาต อเพื่ อให สะดวกต อการใช งานและคุ ณสมบั ติ ทางเทคนิ ค ที่ สํ าคั ญ
94 KidBrightIoT (1) เป ดเว็ บบราวเซอร ไปที่ https://store.kidbright.info/plugin/25/BH1750 ดั งรู ปที่ 8-4 เพื่ อ ดาวน โหลดไฟล BH1750_plugin_v1.1.zip (2) ที่ KidBright IDE คลิ กเลื อกเมนู Plugins > Install Plugins โปรแกรมจะเป ดหน าต าง Open ให เลื อกไฟล BH1750_plugin_v1.1.zip ที่ ดาวน โหลดมาก อนหน านี้ โปรแกรมจะขยายไฟล และติ ด ตั้ งปลั๊ กอิ น เมื่ อติ ดตั้ งเสร็ จจะป ดและเป ดโปรแกรม KidBright IDE อี กครั้ ง รู ปที่ 8-4 หน าเว็ บของปลั๊ กอิ น BH1750 ที่ เว็ บไซต Kidstore รู ปที่ 8-4 หน าเว็ บของปลั๊ กอิ น BH1750 ที่ เว็ บไซต Kidstore
KidBrightIoT 95 8.3.2 บล็ อกคํ าสั่ งของปลั๊ กอิ น BH1750 เมื่ อติ ดตั้ งปลั๊ กอิ นแล ว ที่ รายการแถบคํ าสั่ งทางซ ายคลิ กที่ Plugins เพื่ อเป ดปลั๊ กอิ น เลื่ อนหา รายการ BH1750 [ตั วเข มสี ม วง] คลิ กอี กครั้ ง จะพบกั บบล็ อกคํ าสั่ งทั้ งหมดของปลั๊ กอิ น BH1750 ซึ่ ง มี 1 บล็ อกคํ าสั่ ง ดั งรู ปที่ 8-5 บล็ อกคํ าสั่ ง BH1750 read light level (lx) จะคื นค าความส องสว างแสงที่ วั ด ได ในหน วยลั กซ (Lux) รู ปที่ 8-5 แสดงบล็ อกคํ าสั่ งของ ปลั๊ กอิ น BH1750 รู ปที่ 8-6 การต อโมดู ล ZX-LUX กั บบอร ด KidBright32iP โดยดู ผลการทํ างานจากที่ LED 16 x 8 จุ ด
96 KidBrightIoT โปรแกรมที่ 8-5 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ ออ านค าความส องสว างแสงที่ BH1750 บนมิ นิ บอร ด ZX-LUX ตรวจวั ดได 8.3.3 ตั วอย างโปรแกรมเพื่ อใช งาน ZX-LUX กั บบอร ด KidBright32iP โปรแกรมที่ 8-5 แสดงตั วอย างการใช งานโมดู ล ZX-LUX เพื่ ออ านค าความส องสว างแสงมา แสดงผลที่ LED 16x8 จุ ดบนบอร ด KidBright32iP การเชื่ อมต อบอร ด KidBright32iP กั บมิ นิ บอร ด ZX-LUX ให ใช สาย JST4AA-8 ดั งแสดงในรู ปที่ 8-6 ทํ าการอั ปโหลดโปรแกรมที่ 8-5 ไปยั งบอร ด KidBright32iP จากนั้ นโปรแกรมจะทํ างานทั นที ทดลองนํ าไฟฉายส องแสงไปที่ BH1750 ในระยะใกล ไกลต างๆ กั น ดู ผลการทํ างานที่ เกิ ดขึ้ นที่ LED 16 x 8 จุ ดบนบอร ด KidBright32iP ผู เรี ยนสามารถประยุ กต ใช งานมิ นิ บอร ด ZX-LUX ในการอ านค าความส องสว างแสงที่ ตรวจวั ด ได มาควบคุ มการทํ างานของวงจรขั บแสงสี ในการเลี้ ยงพื ชแบบไมโครกรี น ที่ เติ บโตได ด วยการส อง สว างแสงสี ต างๆ โดยเมื่ อความส องสว างแสงน อยกว า 500 ลั กซ จะสั่ งให วงจรขั บแสงสี ติ ดสว าง ถ าเกิ น LED จะดั บ เป นต น
KidBrightIoT 97 8.4 ใช งานตั วตรวจวั ดความชื้ นสั มพั ทธ และอุ ณหภู มิ ในอากาศ ในงานระบบควบคุ มที่ ต องตรวจสอบสภาพแวดล อม มั กต องเกี่ ยวข องกั บการวั ดค าอุ ณหภู มิ และความชื้ นสั มพั ทธ ในอากาศ ตั วตรวจจั บที่ ได รั บความนิ ยมมากคื อ DHT11 ซึ่ งผลิ ตโดย ASAIR หรื อ Aosong Electronics จากสาธารณรั ฐประชาชนจี น DHT11 เป นตั วตรวจจั บที่ ใช วั ดอุ ณหภู มิ และ ความความชื้ นสั มพั ทธ ใช พลั งงานตํ่ า ทํ างานที่ แรงดั น 3V ถึ ง 5.5V ตั วตรวจจั บบรรจุ อยู ในตั วถั ง พลาสติ กสี ฟ า มี ขาต อ 4 ขาที่ ใช งานจริ ง 3 ขา มี วงจรการต อ, ลั กษณะสั ญญาณที่ ใช เชื่ อมต อ และ คุ ณสมบั ติ ทางเทคนิ คที่ ควรทราบดั งรู ปที่ 8-7 8.4.1 ติ ดตั้ งปลั๊ กอิ น DHT11-22 [หั วข อรอง] ในการพั ฒนาโปรแกรมเพื่ อใช งาน KidBright32iP กั บตั วตรวจจั บความชื้ นสั มพั ทธ และความชื้ น ในอากาศในอนุ กรม DHT โดยใช KidBright IDE จะต องติ ดตั้ งบล็ อกคํ าสั่ งเพิ่ มเติ ม ซึ่ งก็ คื อ ปลั๊ กอิ น DHT11-22 พั ฒนาโดยความร วมมื อของ INEX และ Artron (หรื อ IOXHOP) ทํ าได โดย (1) เป ดเว็ บบราวเซอร ไปยั งเว็ บเพจ https://store.kidbright.info/plugin/23/DHT11-22 ดั งรู ป ที่ 8-8 ดาวน โหลดไฟล DHT_plugin_v1.1.zip รู ปที่ 8-7 หน าตาและวงจรของโมดู ล ZX-DHT11
98 KidBrightIoT (2) ที่ โปรแกรม KidBright IDE คลิ กเลื อกเมนู Plugins > Install Plugins (3) โปรแกรมจะเป ดหน าต าง Open ให เลื อกไฟล DHT_plugin_v1.1.zip ที่ ดาวน โหลดมาก อน หน านี้ โปรแกรมจะขยายไฟล และติ ดตั้ งปลั๊ กอิ น เมื่ อติ ดตั้ งเสร็ จจะป ดและเป ดโปรแกรม KidBright IDE ขึ้ นมาใหม (4) เมื่ อติ ดตั้ งปลั๊ กอิ นเรี ยบร อย ที่ แถบคํ าสั่ งด านซ าย คลิ กที่ Plugins เพื่ อเป ดปลั๊ กอิ นที่ ติ ดตั้ ง ไว แล ว เลื อกปลั๊ กอิ น DHT11-22 คลิ กอี กครั้ งจะพบกั บบล็ อกคํ าสั่ ง 3 ตั วดั งรู ปที่ 8-9 รู ปที่ 8-8 หน าเว็ บสํ าหรั บดาวน โหลดปลั๊ กอิ น DHT11/22 รู ปที่ 8-9 บล็ อกคํ าสั่ งของปลั๊ กอิ น DHT11-22