เวอรช์ ันภาษาไทย V2.0
จดหมายจาก RERO EDUTEAM @ CYTRON คุณเคยไดย้ นิ คําวา่ micro:bit บา้ งรเึ ปล่า? มนั คือบอรด์ ไมโครคอนโทรเลอรท์ ่สี ามารถ เขียนโปรแกรมเพ่ือควบคุมการทาํ งานได้ ซ่งึ ถูกออกแบบข้ึนท่ปี ระเทศองั กฤษ และมกี ารจดั จาํ หน่ ายในหลากหลายประเทศทวั่ โลกเพื่อทจ่ี ะสนั บสนนุ ให้เด็กๆเรยี นรูก้ ารเขียนโปรแกรม อยา่ งงา่ ยดายและสนกุ สนาน แตว่ ศิ วกรของทาง Cytron ได้ยกระดับความพิเศษข้ึนอกี ขั้นดว้ ยการสรา้ งบอรด์ EDU:BIT ทจ่ี ะชว่ ยให้เพ่ือนๆ สามารถเรยี นรูก้ ารเขียนโปรแกรมไดอ้ ยา่ งเป็นระบบ ซ่งึ ในชุดอุปกรณ์น้ี เพื่อนๆจะพบกบั Music Bit ซ่งึ จะประกอบดว้ ยบซั เซอรแ์ ละพอรต์ ตอ่ สําหรบั การเชอื่ มตอ่ ลาํ โพง ภายนอก, Sound Bit ทเ่ี ป็นไมโครโฟนสําหรบั ตรวจจบั เสียง, Potentio Bit สําหรบั การควบคุม แบบอนาลอ็ ก, IR Bit สําหรบั ตรวจจบั วตั ถุ, RGB Bit สําหรบั การแสดงแสงสีตา่ งๆ, Traffic Light Bit ซ่งึ ประกอบไปด้วย LED สีแดง สีเหลือง และสีเขียว และ Button Bit ทเ่ี ป็น ป่มุ ทส่ี ามารถโปรแกรมการทาํ งานได้ เสมอื นกดปุ่มบน micro:bit ทม่ี ขี นาดใหญ่ข้ึน อีกทงั้ ภาย ในชุดน้ี เพ่ือนๆยงั จะได้รบั DC Motor และ Servo Motor ไปด้วยนะ สุดยอดไปเลยใชไ่ หมละ่ ! ดังนั้ น มาเร่มิ กนั เลยดีมยั้ ? โดยภายในหนั งสือเล่มน้ี เพ่ือนๆจะได้เรยี นรูแ้ ละสรา้ งเกม คลาสิกในวยั เด็กทค่ี ุณคุ้นเคย ยกตวั อยา่ งเชน่ เกม เป่า ย้ิง ฉบุ , เกมบันไดง,ู เกมไลจ่ บั , เกมเสียงปรบมอื ของใครดังกวา่ กนั นะ?, ทวสิ เตอร,์ ไซมอ่ นสั่งให้.... และเกมสนกุ ๆอน่ื ๆอกี มากมาย โดยเพ่ือนๆสามารถทาํ ตามขั้นตอนแบบ step-by-step เพ่ือสรา้ งเกมแสนสนกุ ไวเ้ ลน่ กบั เพ่ือนๆ อีกทงั้ ยังสามารถดัดแปลงส่วนตา่ งๆของโปรแกรมไดอ้ ย่างอสิ ระ เพ่ือสรา้ งเกมเวอรช์ นั่ อพั เกรด ดว้ ยตวั ของเพื่อนๆเองได้อกี ด้วย และท่หี น้ าสดุ ทา้ ยของทกุ ๆบท จะมแี บบทดสอบสนกุ ๆ ซ่งึ จะตอ้ งอาศัยความรูท้ ่ไี ดเ้ รยี นรูม้ า เพ่ือท่จี ะสรา้ งสรรค์นวตั กรรมใหมๆ่ สําหรบั ห้องเรยี นของเพ่ือนๆ ลองทาํ ดนู ะ หากมปี ัญหาอะไร พวกเราอยตู่ รงน้ี พรอ้ มชว่ ยเพ่ือนๆเสมอ พรอ้ มรยึ ังล่ะ? มาเร่มิ ตน้ การเดินทางอันน่ าตนื่ เตน้ น้ี กนั เถอะ ขอให้สนกุ กบั การเรยี นรูแ้ ละทดลองส่ิงใหมๆ่ นะ เชยี ร์ อดัมและแอนนา th.cytron.io www.fb.com/cytronthai [email protected]
เรยี นรู้ STEM และการเขยี นโปรแกรม ดว้ ย EDU:BIT ผา่ นแบบฝกึ หดั และชดุ โปรเจก็ ต์ เขียน Cheryl Ng, SC Lim & Adrian Teo ทดลองใช้งานและรับรอง Joshayne D. Lim (อายุ 7 ปี) ภาพประกอบโดย Suhana Oazmi พมิ พค์ รั�งท�ี � เผยแพรโ่ ดย
สารบัญ บทท่ี 1 : Hello, World! สวสั ดชี าวโลก (LED Matrix บน micro:bit) จดุ เร่มิ ตน้ ท่ไี มม่ ที ส่ี ้ินสุด บทท่ี 2 : เป่า ย๊งิ งงง ฉบุ ~ เธอออกอะไรนะ (Button Bit) ตัวแปรและการเขียนโปรแกรมเชงิ เหตุการณ บทท่ี 3 : มาฟังเพลงกนั ~ (Music Bit) การใชฟ้ งั กช์ ันในโปรแกรม บทท่ี 4 : ทายซฉิ ันวาดอะไร (Traffic Light Bit) ดิจทิ ลั เอาทพ์ ุต (Digital Output) บทท่ี 5 : ลกู เตา๋ อนิ ฟาเรดดจิ ทิ ลั (Traffic Light Bit) ดิจทิ ัลอินพตุ (Digital Input), อาเรย์ (Array) และ while loops บทท่ี 6 : มาไลจ่ บั กนั เถอะ (Potentio Bit) อนาล็อกอนิ พตุ (Analog Input), การเขียนโปรแกรมแบบมเี งอื่ นไข บทท่ี 7 : เสียงปรบมอื ของใครดงั กวา่ กนั นะ? (Sound Bit) เปล่ียนโหมดในโปรแกรม บทท่ี 8 : ทวสิ เตอรแ์ สนสนกุ (DC Motor) การควบคุมทศิ ทางการหมนุ และความเรว็ การหมนุ ของมอเตอรก์ ระแสตรง บทท่ี 9 : มายงิ ลกู โทษกนั !...เข้าไปแลว้ !!! (Servo Motor) ควบคุมตาํ แหน่ ง/มมุ การหมนุ ของเซอรโ์ วมอเตอร์ บทท่ี 10 : เกมทายใจ, เธอจะรูใ้ จเราไหมนะ (RGB Bit) การผสมสี RGB แถม บทพิเศษ : ไซมอ่ นสั่งให้..ตงั้ ใจดู LED ให้ดนี ะ การสื่อสารผา่ นสัญญาณวทิ ยุ
บทท่ี Hello, World! LED Matrix บน micro:bit สแกนเลย!
บทท่ี 1 : Hello, World! สวสั ดีชาวโลก! เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 เปดิ เวบ็ เบราเซอรข์ องคณุ ข้นึ มาแลว้ ไปท่ี https://makercode.microbit.org/ คลกิ ท่ี “New Project” ตงั้ ชอื่ โปรเจก็ ตข์ องคณุ แลว้ กด “Create” คณุ จะเหน็ หน้าตา่ ง Microsoft MakeCode Editor ซง่ึ จะชว่ ยใหค้ ณุ สามารถเขยี นโปรแกรม เพอื่ ควบคมุ การทาํ งาน EDU:BIT ของคณุ ไดอ้ ยา่ งงา่ ยดาย โดยการลากและวางบลอ็ กคาํ สั่งตามทต่ี อ้ งการ 1.) เผยแพรแ่ ละแชรโ์ ปรเจก็ ตข์ องคณุ 7.) Programming Workspace - โปรแกรม 2.) ตวั เลอื กสําหรบั รูปแบบการเขยี นโปรแกรมแบบ Block, ถกู เขยี นข้นึ โดยการนําบลอ็ กคาํ สั่งมาตอ่ เขา้ ดว้ ยกนั JavaScript หรอื Python บรเิ วณน้ี 3.) เปดิ เมนสู ําหรบั ชว่ ยเหลอื 8.) ดาวน์โหลดโปรแกรมของคณุ ลง micro:bit 4.) เปลย่ี นแปลงการตงั้ คา่ , เพ่มิ เตมิ ส่วนขยาย และจบั คอู่ ปุ กรณ์ 9.) ตงั้ ชอ่ื และบนั ทกึ โปรเจก็ ตข์ องคณุ ลงบน 5.) Simulator - จาํ ลองลกั ษณะการทาํ งานของโปรแกรมของ คอมพวิ เตอร์ คณุ บน micro:bit จาํ ลอง 10.) สรา้ ง Github repository 6.) Toolbox/Category Drawer - ส่วนทร่ี วบรวมบลอ็ กคาํ สั่ง 11.) ยกเลกิ คาํ สั่ง,ทาํ ซา� สําหรบั เขยี นโปรแกรมประเภทตา่ งๆ โดยทบ่ี ลอ็ กคาํ สั่งทเ่ี ปน็ ประเภท 12.) ซมู เขา้ /ซมู ออก เดยี วกนั จะมสี ีเหมอื นกนั
บทท่ี 1 : Hello, World! สวสั ดีชาวโลก! ขั้นตอนท่ี 2 ท่ี Toolbox ดา้ นซา้ ย คลกิ ทห่ี มวดหมู่ [Basic] และเลอื กบลอ็ กคาํ สั่ง [show string] ขั้นตอนท่ี 3 ลากบลอ็ กคาํ สั่ง [show string] แลว้ นําไปวางในบลอ็ ก [on start] ขั้นตอนท่ี 4 เชอื่ มตอ่ สาย USB ระหวา่ ง EDU:BIT กบั คอมพวิ เตอร์ ดงั ภาพ อยา่ ลมื ! เปดิ การทาํ งานของ EDU:BIT โดยการสไลดส์ วติ ซบ์ น EDU:BIT ไปทต่ี าํ แหน่ง “ON”
บทท่ี 1 : Hello, World! สวสั ดชี าวโลก! ขั้นตอนท่ี 5 กดป่มุ Download เมอื่ หน้ าตา่ ง pop-up ปรากฏข้ึนมา ทาํ การเลอื กดาวน์ โหลด ไฟล์ไวท้ ่ไี ดรฟ์ชอ่ื “MICROBIT” แล้วทาํ การปิดหน้ าตา่ งเมอื่ การดาวน์ โหลดเสรจ็ ส้ิน หมายเหตุ ขั้นตอนการอัพโหลดโปรแกรมเข้าส่อู ุปกรณ์ เรยี กวา่ “การแฟลช” โดยหลอด LED สีส้มด้านหลงั ของ micro:bit จะกระพรบิ ระหวา่ ง การอัพโหลดโปรแกรมเข้าสู่ตวั บอรด์ โดยโปรแกรมจะทาํ งาน โดยอตั โนมตั เิ มอ่ื โปรแกรมอัพโหลดเสรจ็ ส้ิน ถ้าหากหน้ าตา่ ง pop-up ไมป่ รากฏข้ึนมา หมายความวา่ ไฟลถ์ ูกดาวน์ โหลดโดยอัตโนมตั ไิ ปท่ี ตาํ แหน่ งทเ่ี บราเซอรไ์ ดต้ งั้ ค่าไว้ ทาํ การคลกิ ขวาทไ่ี ฟลโ์ ปรแกรม .hex ทเ่ี ราไดท้ าํ การดาวน์ โหลดมา ท่ดี า้ นล่างของหน้ าตา่ งเบราเซอร์ เลือก “Show in folder” คลิกและลากไฟลโ์ ปรแกรม “microbit-xxxx.hex” แลว้ นํ าไปวางทไ่ี ดรฟ์ MICROBIT เหมอื นกบั การคัดลอกไฟลล์ งแฟลชไดรฟ์ ตามปกติ
บทท่ี 1 : Hello, World! สวสั ดชี าวโลก! ขั้นตอนท่ี 6 เลือกหมวดหมู่ [Basic] ท่ี Toolbox และเลอื กบลอ็ กคําสั่ง [show icon] ทาํ ซา� จนได้จาํ นวน บล็อกคําสั่ง [show icon] ท่ตี อ้ งการแล้วจงึ นํ าไปใส่ในบล็อก [forever] ขั้นตอนท่ี 7 คลิกซา้ ยทบ่ี ลอ็ กคําสั่ง [show icon] ท่ี 2 แลว้ ทาํ การเลอื กรูป “หัวใจดวงเลก็ ” จาก หน้ าตา่ ง pop-up ทป่ี รากฏข้ึนมา หลงั จากนั้นทาํ การแฟลชโปรแกรมลง EDU:BIT ไดเ้ ลย มนั เป็นรกั แรกพบหรอื เปลา่ คุณเห็นภาพหัวใจเตน้ ไหม
ทาํ ความเขา้ ใจโค้ดโปรแกรม คุณสั งเกตเห็นไหมวา่ คําวา่ “Hello” จะปรากฏบนจอเพียงแค่ครงั้ เดียว แตภ่ าพหัวใจเตน้ จะแสดงวนไปเรอ่ื ยๆ ทาํ ไมล่ะ? บลอ็ กคําสั่งทอ่ี ยใู่ นบล็อก [on start] จะทาํ งานเพียงครงั้ แรกทบ่ี อรด์ เร่มิ ทาํ งาน และ บลอ็ กคําสั่งท่อี ยใู่ นบลอ็ ก [forever] จะทาํ งานซา� วนไปเรอ่ื ยๆ หมายเหตุ ถ้าคุณตอ้ งการทจ่ี ะเร่มิ ตน้ โปรแกรมทงั้ หมดใหม่ สามารถทาํ ไดโ้ ดยการกดป่มุ Reset หรอื ทาํ การทาํ การถอดสาย USB ออกแลว้ เสียบใหมเ่ พื่อเป็นการรเี ซต็ บอรด์
บทท่ี 1 : Hello, World! สวสั ดชี าวโลก! เคล็ดลับ #1 คุณสามารถลบบล็อกคําสั่งทไ่ี มต่ อ้ งการไดโ้ ดยการคลกิ ทบ่ี ลอ็ กทต่ี อ้ งการลบและลากไปวาง บรเิ วณ Toolbox ซ่งึ จะปรากฏไอคอนรูปถังขยะ หรอื อกี วธิ สี ามารถทาํ ไดโ้ ดยการคลิกขวา ท่บี ลอ็ กท่ตี อ้ งการลบและเลอื ก “Delete Block” เคล็ดลับ #2 ถ้าคุณไมไ่ ดใ้ ช้ micro:bit simulator ทางดา้ นซา้ ย สามารถปิด tab simulator เพื่อเพ่ิมพ้ืนท่ี ในการเขียนบลอ็ กโปรแกรมได้
บทท่ี 1 : Hello, World! สวสั ดีชาวโลก! เคล็ดลับ #3 คุณสามารถรวมกล่มุ บลอ็ กคําสั่งไดโ้ ดยการคลกิ ขวาท่กี ล่มุ บล็อกคําสั่งทต่ี อ้ งการรวมกลมุ่ และเลือก “Collapse Block” และสําหรบั การแตกกลมุ่ บล็อกคําสั่งสามารถทาํ ได้เพียงกดท่ี สัญลกั ษณ์ เคล็ดลับ #4 คุณสามารถแบ่งปันโปรแกรมของคุณกบั เพ่ือนหรอื ครูไดโ้ ดยการคลกิ [Share] จะปรากฏ หน้ าตา่ ง pop-up ข้ึนมาให้เลือก [Publish project] หลงั จากนั้ นจะปรากฏอีกหน้ าตา่ ง pop-up พรอ้ มลิงค์โปรเจก็ ตข์ องคุณ คลิก [Copy] เพ่ือคัดลอกลงิ กส์ ําหรบั แบง่ ปันได้เลย เคล็ดลับ #5 คุณครูหรอื เพ่ือนของคุณจะเห็นโปรแกรมของคุณเมอื่ เปิดลงิ ค์โปรเจก็ ตใ์ นเบราเซอรโ์ ดยท่ี จะสามารถดแู ละแกไ้ ขโปรแกรมได้โดยคลกิ ทป่ี ่มุ [Edit Code]
บทท่ี 1 : Hello, World! สวสั ดีชาวโลก! เคล็ดลับ #6 รูห้ รอื ไม่ คุณสามารถจบั คู่อุปกรณ์ได้โดยการคลกิ เพียงหน่ึ งครงั้ โดยการกดทไ่ี อคอนรูปเฟือง ทางด้านขวาบนและเลอื ก “Pair device” หมายเหตุ micro:bit ของคุณตอ้ งเป็น firmware เวอรช์ นั ล่าสดุ และตอ้ งใชเ้ บราเซอร์ Microsoft Edge หรอื Chrome เวอรช์ นั ลา่ สดุ หากคุณตอ้ งการอัพเดต firmware ของ micro:bit ของคุณให้เป็นเวอรช์ นั ลา่ สดุ สามารถ ทาํ ได้ตามขั้นตอนในเวบ็ ไซต์ https://microbit.org /get-started/user-guide/firmware/ ทาํ การเชอ่ื มตอ่ micro:bit ของคุณกบั คอมพิวเตอรแ์ ลว้ ทาํ การคลิกปุ่ม [Pair device] ในหน้ าตา่ งป๊อป-อพั ทป่ี รากฏข้ึนมา และเลอื กอุปกรณ์ทม่ี ชี อ่ื วา่ “BBC micro:bit CMSIS-DAP หรอื “DAPLink CMSIS-DAP” จากรายชอ่ื อุปกรณ์ท่ปี รากฏข้ึนมาแลว้ คลิก [Connect] หากคุณพบปัญหาในกบั การจบั คู่เชอ่ื มตอ่ กบั บอรด์ micro:bit ของคุณ สามารถดวู ธิ แี กป้ ัญหาเพ่ิมเตมิ ได้ท่ี https://makecode.microbit.org/ device/usb/webusb/troubleshoot
ลองมาดบู ล็อกคําสงั่ อ่ืนๆกันนะ! 1# คุณสามารถใชบ้ ล็อกคําสั่ง [show leds] เพื่อออกแบบไอคอนของคุณเอง และใชง้ าน บลอ็ กคําสั่ง [show number] เพื่อแสดงตวั เลข รูห้ รอื ไม?่ 1000 มลิ ลวิ นิ าที (ms) = 1 วนิ าที 2# คุณสามารถเพ่ิมบลอ็ กคําสั่ง [pause] เข้าไปในโปรแกรมเพื่อหน่ วงเวลาการทาํ งานของ โปรแกรมได้ ซ่งึ ฟังกช์ นั น้ี จะหน่ วงเวลาการทาํ งานของโปรแกรมตามทค่ี ุณตงั้ ไวใ้ นหน่ วย มลิ ลิวนิ าที (ms) 3# การทาํ ให้รูปภาพเล่ือนผา่ น LED matrix สามารถทาํ ได้โดยใชบ้ ลอ็ กคําสั่ง [scroll image _ with offset _ and interval (ms) _] รว่ มกบั บลอ็ กคําสั่ง [crete image] หรอื บลอ็ กคําสั่ง [create big image] อยา่ งใดอย่างหน่ึ ง จากหมวดหมู่ [Images ] ใน Toolbox (ถัดจาก Advanced)
พวกเราขอทา้ ให.้ .. เขียนโปรแกรมให้ EDU:BIT ทาํ งานเป็นป้ายประชาสัมพันธ์ On start แสดงภาพเคลือ่ นไหวงา่ ยๆเพ่ือดงึ ดดู ความสนใจและ แสดงชอ่ื ห้องเรยี นของคุณ Forever แสดงวนั ท่ปี ัจจบุ นั และข้อมลู สําคัญอน่ื ๆของห้องเรยี น สดุ ยอด! คุณทําได!้ ไปลยุ บทท่ี 2 กนั เลย!
บทท่ี เปา่ ย๊งิ งงง ฉบุ ~ ป่มุ กดบน micro:bit และ Button Bit
บทท่ี 2 : เป่า ย๊ิงงงง ฉบุ ~ เธอออกอะไรนะ เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 ไปท่ี https://makecode.microbit.org/ (หรอื คลกิ Home หากคณุ อยใู่ น MakeCode Editor อยแู่ ลว้ ) สรา้ งโปรเจก็ ตใ์ หม่ คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [on button _ pressed] ขั้นตอนท่ี 2 ทาํ การสรา้ งตวั แปรโดยการ คลกิ เลอื ก [Variable] ใน Toolbox และเลอื ก [Make a Variable] ตงั้ ชอ่ื ตวั แปรในหน้าตา่ ง pop-up ทป่ี รากฏข้นึ มาวา่ ‘hand’ และคลกิ OK ขั้นตอนท่ี 3 ทาํ การกาํ หนดคา่ ตวั แปรโดยการ คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [set _ to _] แลว้ นําไปใส่ในบลอ็ ก [on button A pressed]
บทท่ี 2 : เป่า ย๊ิงงงง ฉบุ ~ เธอออกอะไรนะ ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Math] ใน Toolbox และเลอื กบลอ้ กคาํ สั่ง [pick random _ to _] แลว้ ทาํ การเปลย่ี นเลขภายในบลอ็ กใหเ้ ปน็ “0 to 2” ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 5 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [if-then-else] และบลอ็ ก [ _ = _ ] โดยนําบลอ็ ก [ _ = _ ] ไปวางในบลอ็ ก “if”ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 6 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ ก [hand] แลว้ นําไปวางใน บลอ็ ก [ _ = _ ] ดงั ภาพดา้ นลา่ ง
บทท่ี 2 : เป่า ย๊ิงงงง ฉบุ ~ เธอออกอะไรนะ ขั้นตอนท่ี 7 คลกิ ทเ่ี ครอ่ื งหมาย บนบลอ็ กคาํ สั่ง [if-then-else] เพอ่ื ทาํ การเพ่มิ เงอ่ื นไข [else if] เขา้ ไปในบลอ็ กคาํ สั่ง [if-then-else] ใหม้ ากข้นึ ขั้นตอนท่ี 8 คลกิ ขวาทบ่ี ลอ็ ก [ _ = _ ] และเลอื ก “Duplicate” ขั้นตอนท่ี 9 นําบลอ็ ก [ _ = _ ] ทไ่ี ดจ้ ากการ duplicate ไปวางไวใ้ นบลอ็ กคาํ สั่ง [else if] แลว้ เปลย่ี น ตวั เลขเปน็ “0 to 1” ดงั ภาพดา้ นลา่ ง
บทท่ี 2 : เป่า ย๊งิ งงง ฉบุ ~ เธอออกอะไรนะ ขั้นตอนท่ี 10 เพ่มิ บลอ็ กคาํ สั่ง [show leds] ทอ่ี ยใู่ นหมวดหมู่ [Basic] ใน Toolbox เขา้ ไปในบลอ็ กคาํ สั่ง ‘if’, ‘else if’ และ ‘else’ เพอ่ื สรา้ งรูปดว้ ย LED โดยการกดชอ่ งส่ีเหลย่ี มในบลอ็ กคาํ สั่ง [show leds] เพอื่ สรา้ งสัญลกั ษณ์ทต่ี อ้ งการตามตวั อยา่ งดา้ นลา่ ง ลองทาํ ตามดสู ิ! ค้อน กระดาษ กรรไกร แฟลชโค้ดใส่ EDU:BIT แล้วเร่มิ เลน่ เป่า ย๊งิ ฉบุ กบั เพื่อของคุณได้เลย เมอื่ ไหร่ กต็ ามทค่ี ุณกดปุ่ม A บน micro:bit หรอื ปุ่มสีเหลือง LED matrix จะทาํ การ ส่มุ วา่ คุณจะออก “ค้อน” , “กรรไกร” หรอื “กระดาษ” เตอื นความจาํ : ถ้าคุณตอ้ งการจะบนั ทกึ โปรเจก็ ตน์ ้ี เกบ็ ไว้ อยา่ ลืม! บนั ทกึ ลงโฟลเดอรบ์ นเครอ่ื งของคุณโดยการกด ปุ่ม “Save”
เพ่ิมความทา้ ทายของเกมน้ี ข้ึนอีกโดยการกาํ หนดให้แตล่ ะคนมี 3 ชวี ติ สามารถทาํ ได้โดยการสรา้ งตวั แปรใหมท่ ม่ี ชี อื่ วา่ ‘lives’ และเพ่ิมใส่ ในบล้อกของโปรแกรม ขั้นตอนท่ี 11 คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox และเลอื ก บลอ็ กคาํ สั่ง [on button _ pressed] หลงั จากนั้นทาํ การ Duplicate บลอ็ ก และทาํ การเปลย่ี นการตงั้ คา่ เปน็ ‘button B’ และ ‘button A+B’ ตามลาํ ดบั ขั้นตอนท่ี 12 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [Make a Variable] และตงั้ ชอื่ ตวั แปรวา่ ‘lives’ ในหน้าตา่ ง pop-up ทป่ี รากฏข้นึ มา และคลกิ OK ขั้นตอนท่ี 13 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [set _ to _] แลว้ นําไป ใส่ในบลอ็ ก [Basic] : [on start] หลงั จากนั้นทาํ การเลอื กคา่ ตวั แปรเปน็ ‘lives’ และกาํ หนดคา่ ของ ตวั แปรใหเ้ ทา่ กบั 3
บทท่ี 2 : เป่า ย๊ิงงงง ฉบุ ~ เธอออกอะไรนะ ขั้นตอนท่ี 14 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [change _ by _] แลว้ นําไปไวใ้ นบลอ็ ก [on button B pressed] แลว้ ทาํ การกาํ หนดคา่ ของตวั แปร ‘lives’ ใหเ้ ทา่ กบั -1 ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 15 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [show number] ทาํ การ Duplicate แลว้ นําไปวางในบลอ็ ก [on button A+B pressed ] และบลอ็ ก [on button B pressed] ขั้นตอนท่ี 16 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [if-then] และบลอ็ ก [_ = _] แลว้ นําไปเพ่มิ ในบลอ็ ก [Basic] : [Forever] และทาํ การตงั้ คา่ เครอ่ื งหมายเปน็ ‘≤’ ดงั ภาพดา้ นลา่ ง
บทท่ี 2 : เป่า ย๊งิ งงง ฉบุ ~ เธอออกอะไรนะ ขั้นตอนท่ี 17 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ ก [lives] ทาํ การ Duplicate แลว้ นําไปไวใ้ นบลอ็ กคาํ สั่ง [show number] ทงั้ สองบลอ็ ก และบลอ็ ก [_ = _] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 18 คลกิ เลอื กหมวดหมู่ [Loop] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [while _ do] แลว้ นําไปวางในบลอ็ ก [if-then] ขั้นตอนท่ี 19 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [show icon] แลว้ นําไป วางในบลอ็ กคาํ สั่ง [while _ do] และตงั้ คา่ ไอคอนทจ่ี ะแสดงเปน็ ‘หน้าเศรา้ (sad face)’
บทท่ี 2 : เป่า ย๊งิ งงง ฉบุ ~ เธอออกอะไรนะ ขั้นตอนท่ี 20 น่ีคอื โปรแกรมแบบเสรจ็ สมบรู ณ์แลว้ ทาํ การแฟลชโปรแกรมเขา้ สู่ EDU:BIT ของคณุ แลว้ เตรยี มสนกุ กบั การแขง่ ขนั เพอื่ ตามหา ราชา/ราชนิ ี แหง่ การเปา่ ยง้ิ ฉบุ ไดเ้ ลย! เคลด็ ลบั ! ทกุ บลอ็ กคําสั่งสําหรบั เขียน โปรแกรมจะมสี ีเป็นของตนเอง คุณสามารถหาบล็อกประเภท เดียวกนั ท่คี ุณตอ้ งการได้โดย การหาบล็อกท่มี สี ีเหมอื นกนั หรอื อีกทางหน่ึ งสามารถทาํ ได้ โดยการพิมพ์คียเ์ วริ ด์ ของ บล็อกทเ่ี พื่อนๆตอ้ งการในชอ่ ง ค้นหาได้เลย
มาเล่นกันเลย! เป่า ย๊ิงงง ฉบุ ! เวอรช์ นั พิเศษ วิธกี ารเล่น : ยืนหันหน้ าเข้าหากนั เมอื่ ผเู้ ลน่ ทงั้ สองคนพรอ้ ม กดปุ่มสีเหลอื ง (ป่มุ A) เพ่ือสุ่มวา่ ออก ค้อน กระดาษ หรอื กรรไกร ตรวจสอบวา่ ผเู้ ล่นคนใดชนะ ผเู้ ลน่ คนใดแพ้ หากคุณเป็นผแู้ พ้ ให้ทาํ การกดป่มุ สีน� าเงนิ (ป่มุ B ) บน EDU:BIT ของคุณ 1 ครงั้ เพ่ือ -1 แตม้ ชวี ติ ของคุณ สามารถเชค็ แตม้ ชวี ติ ท่เี หลืออย่ขู องคุณได้โดยการกดป่มุ สีเหลือง (ป่มุ A) และสีน� าเงนิ (ป่มุ B) พรอ้ มกนั หากผเู้ ลน่ คนไหนแพ้ครบ 3 ครงั้ จนแตม้ ชวี ติ หมด EDU:BIT ของผเู้ ล่นคนนั้นจะแสดง หน้ าเศรา้ (sad face) หมายเหตุ หากตอ้ งการเล่นอกี ครงั้ คุณจาํ เป็นท่จี ะตอ้ งรเี ซต็ บอรด์ EDU:BIT ของคุณเพ่ือเร่มิ เกมใหม่ หากอย่คู นเดียวไมม่ เี พ่ือนเลน่ คุณสามารถเลน่ ั บ Simulator ใน MakeCode Editor ได้
ทาํ ความเขา้ ใจโค้ดโปรแกรม ในการเขียนโปรแกรมคอมพิวเตอร์ เราจะใช้ ตวั แปร (variables) เพื่อเกบ็ ข้อมลู หรอื ค่าตา่ งๆท่ี สามารถเปล่ียนแปลงได้ขณะ runtime (ขณะทโ่ี ปรแกรมทาํ งานอย)ู่ เหมอื นกบั ซองจดหมายท่ภี ายใน มกี ระดาษทเ่ี ขียนตวั เลขหรอื ข้อมลู อยหู่ น่ึ งแผน่ ซ่งึ กระดาษแผน่ นั้นสามารถหยิบออกมาและใส่แผน่ ใหมท่ ม่ี ตี วั เลขหรอื ข้อมลู ใหมเ่ ข้าไปแทนได้ ในโค้ดท่ผี า่ นมา เราสรา้ งตวั แปรทม่ี ชี อื่ วา่ “lives” และกาํ หนดค่าให้เทา่ กบั 3 เลข 3 ทถ่ี ูกเขียนบนกระดาษคือข้อมลู จา่ หน้ าซองดว้ ยชอ่ื วา่ “Lives” โดยกาํ หนด ให้เป็นตวั แปร หลงั จากนั้ น เมอื่ ป่มุ B ถูกกด ตวั เลขในกระดาษจะถูกลบด้วย 1 เมอื่ ป่มุ B ถูกกด กระดาษท่เี ขียนเลข 3 ไว้ จะถูกนํ าออกจากซองจดหมายและแทนท่ี ดว้ ยกระดาษแผน่ ใหมท่ เ่ี ขียนเลข 2 (เน่ื องจาก 3 - 1 = 2) เมอ่ื กด ป่มุ A+B พรอ้ มๆกนั จะทาํ ให้ LED matrix แสดงค่าในตวั แปร “lives” ทเ่ี หลืออยู่ เมอ่ื ป่มุ A และ B ถูกกดพรอ้ มๆกนั กเ็ หมอื น กบั การหยบิ กระดาษท่มี ตี วั เลขในซอง จดหมายออกมาเพ่ืออ่านข้อมลู บนกระดาษ ใบนั้ น
ลองมาดบู ล็อกคําสงั่ อ่ืนๆกันนะ! นอกเหนื อจากบลอ็ กคําสั่ง [on button _ pressed] คุณยังสามารถใชบ้ ล็อกคําสั่งอื่นๆใน หมวดหมู่ [Input] Toolbox สําหรบั การเขียนโปรแกรมเชงิ เหตกุ ารณ์ (event-based programming) ซ่งึ ส่ิงท่จี ะเกดิ ข้ึนเกดิ จากการท่ผี ใู้ ชท้ าํ อะไรซกั อยา่ ง เชน่ การกดปุ่ม หรอื การสั่นบอรด์ ซ่งึ เราจะเรยี กวา่ ‘event’ ยกตวั อยา่ งโค้ดจากภาพ โค้ดน้ี จะทาํ ให้ LED matrix ตดิ เป็นเวลา 1 วนิ าทเี มอ่ื ไหร่ กต็ ามท่บี อรด์ มกี ารสั่น ไมเ่ ชอ่ื กล็ องดูสิ! ผลลพั ธ์ 1 วนิ าที การกระตนุ้ หรอื เหตกุ ารณ์ ถ้าคุณกดป่มุ [shake] บนบลอ็ กจะปรากฏหน้ าตา่ ง pop-up ข้ึนมาแสดงถึงการกระตนุ้ หรอื เหตกุ ารณ์ประเภทตา่ งๆ ลองเขียนโปรแกรมให้ EDU:BIT แสดงไอคอนรูปแบบทแ่ี ตกตา่ ง กนั สําหรบั การกระตนุ้ หรอื เหตกุ ารณ์ทแ่ี ตกตา่ งกนั ดสู ิ ขอให้สนกุ นะ! EDU:BIT สามารถตรวจจบั การสั่นและ ความเอยี งของตวั เองไดเ้ พราะวา่ มเี ซนเซอร์ ตรวจจบั การเคลอื่ นไหว (motion sensor) อยบู่ น micro:bit
สาระน่ ารู ้ ป่มุ กด เป็นอุปกรณ์รบั input โดยมี 2 รูปแบบ คือ “ถูกกด” และ “ไมถ่ ูกกด” ไมก่ ด กด แผน่ โลหะ แทง่ โลหะ หน้ าสั มผสั ตอ้ งการ เมอื่ ป่มุ ถูกกด วงจรในภาพจะครบ ความช่วยเหลอื วงจรทาํ ให้หลอด LED ตดิ ! เดาซวิ า่ จะเกดิ อะไรข้ึนเมอ่ื เลกิ กดป่มุ ? ป่มุ ฉกุ เฉิน ปุ่มสีดาํ สีเขียว สีเทา และสีขาวใชส้ ําหรบั การเปิด-ปิดตามปกติ แตป่ ุ่มสีแดงใชส้ ําหรบั เหตฉุ กุ เฉินหรอื หยดุ การทาํ งานของเครอื่ งจกั ร กดป่มุ น้ีเมอื่ เกดิ เหตฉุ กุ เฉินเทา่ นั้น!
พวกเราขอทา้ ให.้ .. เขียนโปรแกรมให้ EDU:BIT ทาํ หน้ าท่เี ป็นเครอ่ื งนั บจาํ นวนนั กเรยี น โดยเด็กผหู้ ญิงตอ้ งกดป่มุ A และผชู้ ายตอ้ งกดป่มุ B เมอื่ เข้าห้องเรยี น แสดงหน้ าย้ิมบน LED matrix กาํ หนด ให้ตวั แปร Girl = 0 และ Boys = 0 บวกค่าในตวั แปร Girl ทลี ะ 1 On Button B pressed บวกค่าในตวั แปร Boy ทลี ะ 1 (ปุ่มสีน� าเงนิ ) On Button A+B pressed แสดงข้อมลู เลอ่ื นผา่ นจอ LED matrix (ปุ่มสีเหลือง +ปุ่มสีน� าเงนิ ) ซ่งึ ได้แก่ Total = (Girl+Boy) ; Girl = (Girl) ; Boy = (Boy)
บทท่ี มาฟังเพลงกนั ~ Music Bit (Piezo buzzer + Auidio Jack) สแกนเลย!
บทท่ี 3 : มาฟังเพลงกนั ~ เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 สรา้ งโปรเจก็ ตข์ องคณุ ใหมบ่ น MakeCode Editor คลกิ หมวดหมู่ [Input] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [on button _ pressed] ขั้นตอนท่ี 2 คลกิ เลอื กหมวดหมู่ [Music] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [start melody _ repeating] ขั้นตอนท่ี 3 คลกิ ท่ี [dadadum] ในบลอ็ กคาํ สั่ง [start melody _ repeating] และเลอื กเพลง ‘birthday’ จากตวั เลอื ก ลองคลิกทป่ี ่มุ A บน micro:bit simulator คุณจะไดย้ นิ เสียง เพลง ลองเลอื กเพลงอ่นื ดูสิ *อย่าลืมเปิดเสียงของลาํ โพงคอมพิวเตอรด์ ว้ ยนะ
นอกเหนื อจากเพลงใน List คุณสามารถโปรแกรม EDU:BIT ให้เลน่ เพลงท่คี ุณตอ้ งการได้ ไมเ่ ชอ่ื ลองเลน่ เพลงน้ี ดู ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [on button _ pressed] และเลอื กปมุ่ “B” ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Music] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [play tone _ for _ beat] ขั้นตอนท่ี 5 บน Workspace คลกิ ขวาทบ่ี ลอ็ กคาํ สั่ง [play tone _ for _ beat] และ ทาํ ซา� ใหม้ บี ลอ็ กคาํ สั่ง [play tone _ for _ beat] ครบ 5 บลอ็ กแลว้ วางบลอ็ กคาํ สั่งทงั้ หมดในบลอ็ ก [on button B pressed] ดงั ภาพดา้ นลา่ ง
บทท่ี 3 : มาฟังเพลงกนั ~ ขั้นตอนท่ี 7 เลอื ก ‘tone’ และ ‘beat’ ในบลอ็ กคาํ สั่ง [play tone_for_beat] ดงั ภาพตวั อยา่ งดา้ นลา่ ง หมายเหตุ บลอ็ กคําสั่งสีมว่ งน้ี มาจากหมวดหมู่ [Math] ใน Toolbox ลองกดป่มุ “B” บน micro:bit simulator ดสู ิ ลองฟังดสู ิ! ให้ทายวา่ เพลงอะไร? ขณะท่เี รากําลงั เขียนโปรแกรม ผมแนะนํ าวา่ ควรตรวจสอบเป็น ระยะๆวา่ โค้ดของเราทํางานถูกตอ้ งหรอื ไม่ โดยการใช้ simulator ในการตรวจสอบการทาํ งาน ขั้นตอนท่ี 8 เขยี นโคด้ เพอ่ื เลน่ เพลงทงั้ เพลงโดยการใชบ้ ลอ็ กคาํ สั่ง [play tone _ for _ beat] โดยเปลย่ี น ‘tone’ และ ‘beat’ ใหต้ รงกบั เพลงทจ่ี ะเลน่ โดยคณุ สามารถดู tones และ beats ของเพลงไดท้ ห่ี น้าถดั ไป
บทท่ี 3 : มาฟังเพลงกนั ~
บทท่ี 3 : มาฟังเพลงกนั ~ ขั้นตอนท่ี 9 แฟลชโคด้ ทเ่ี สรจ็ สมบรู ณ์ลง EDU:BIT EDU:BIT จะเลน่ เพลง “I Will Follow You” เมอ่ื คุณกดปุ่มสีน� าเงนิ (ป่มุ B) บน EDU:BIT ของคุณ อย่าลืม! เปิด EDU:BIT ของคุณและ เปิด piezo buzzer โดยการสไลด์สวติ ซไ์ ปท่ี “INT” (internal) Piezo Buzzer คุณสามารถตอ่ ลาํ โพงภายนอกหรอื หูฟังกบั ชอ่ งตอ่ ลาํ โพงบน EDU:BIT และสไลด์สวติ ซไ์ ปท่ี “EXT” (external) ลาํ โพง ชอ่ งเชอ่ื มตอ่ ลาํ โพงหรอื หูฟัง
เสียงเพลงเบาไปหรอื ดงั ไปรเึ ปลา่ ? คุณสามารถใช้ บลอ็ กคําสั่ง [set volume _] เพ่ือเพ่ิม-ลดเสียง ซ่งึ มชี ว่ งอยทู่ ่ี 0 (เบาท่สี ดุ ) ถึง 255 (ดงั ท่สี ดุ ) ขั้นตอนท่ี 10 คลกิ เลอื กหมวดหมู่ [Music] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [set volume _] โดย นําไปใส่ในบลอ็ ก [on start] และตงั้ คา่ บลอ็ กคาํ สั่ง [set volume _] ไวท้ ค่ี า่ เทา่ กบั 200 หมายเหตุ เราสามารถสรา้ งบล็อกคําสั่งท่ที าํ งานเฉพาะทางดว้ ยการสรา้ ง function ยกตวั อยา่ งเชน่ คุณตอ้ งการให้โค้ดของคุณเล่นเพลง “I Will Follow You” ในการ เขียนโปรแกรม ฟังกช์ นั คืองานหรอื กล่มุ ของขั้นตอนการทาํ งาน เมอื่ ฟังกช์ นั ถูก กาํ หนดข้ึนในโปรแกรม จะสามารถถูกเรยี กใชไ้ ด้หลายๆตาํ แหน่ งภายในโปรแกรม โดยท่คี ุณไมต่ อ้ งสรา้ งบล็อกคําสั่งนั้ นซา� ๆ ขั้นตอนท่ี 11 คลกิ เลอื กหมวดหมู่ [Advanced] ใน Toolbox และเลอื กหมวดหมยู่ อ่ ย [Functions] คลกิ ปมุ่ [Make a Function] และตงั้ ชอ่ื เปน็ ‘I Will Follow You’ บนหน้าตา่ ง pop-up ท่ี ปรากฏข้นึ และคลกิ ‘Done’
บทท่ี 3 : มาฟังเพลงกนั ~ ขั้นตอนท่ี 12 บลอ็ กคาํ สั่ง [function I Will Follow You] จะปรากฏข้นึ บนหน้าจอของคณุ คลกิ ทบ่ี ลอ็ ก [play tone] ทอ่ี ยดู่ า้ นบนสดุ ในบลอ็ กคาํ สั่ง [on Button B pressed] ใหท้ าํ การลากไปวางใน บลอ็ กคาํ สั่ง [function I Will Follow You] แทน ขั้นตอนท่ี 13 คลกิ เลอื กหมวดหมู่ [Functions] ใน Toolbox และเลอื กบลอ็ ก [call I Will Follow You] ทาํ การทาํ ซา� บลอ็ กดงั กลา่ วแลว้ นําไปวางทใ่ี นบลอ็ ก [on start] และบลอ็ ก [on button B pressed] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 14 แฟลชโคด้ ทเ่ี สรจ็ สมบรู ณ์ลงใน EDU:BIT แลว้ เตรยี มสนกุ กบั เพลงทเ่ี พอ่ื นๆสรา้ งข้นึ มาไดเ้ ลย!
ทาํ ความเขา้ ใจโค้ดโปรแกรม คุณสามารถโปรแกรม EDU:BIT ให้เลน่ เพลงอะไรกไ็ ด้ หากคุณ รูว้ ธิ กี ารอา่ นโน๊ตเพลง น่ีคือหลกั การงา่ ยๆในการ “แกะเพลง (decode)” จากตวั โน๊ต ตาํ แหน่ งของโน็ ตเพลงบนบรรทดั 5 เส้น บ่งบอกถึง tone ของเสียง หากตาํ แหน่ ง ของโน๊ ตบนบรรทดั 5 เส้นอยสู่ งู เสียงท่ี เลน่ จะเป็นเสียงสงู และในทางกลับกนั หากตาํ แหน่ งของโน๊ ตบนบรรทดั 5 เส้น อย่ตู า� เสียงท่เี ล่นจะเป็นเสียงตา� ลักษณะของตวั โน๊ ตท่แี ตกตา่ งกนั บ่งบอกถึงความยาวเสียงของโน๊ ตนั้นท่ตี อ้ งเล่น
ทาํ ความเขา้ ใจโค้ดโปรแกรม จากหลกั การในหน้าท่แี ลว้ คุณ “แกะเพลง” น้ีไดร้ เึ ปลา่ ? เลน่ ซา� 2 รอบ (บรรทดั ท่ี 2 และ 3) โปรแกรม EDU:BIT ให้เลน่ เพลง Baby Shark เมอื่ กดป่มุ สีเหลอื ง (ป่มุ A) และ ป่มุ สีน�าเงนิ (ป่มุ B) พรอ้ มๆกนั หมายเหตุ ใชบ้ ลอ็ กคําสั่ง [set volume _] สําหรบั เพ่ิม - ลด ความดงั ของเสียง
ลองมาดบู ล็อกคําสงั่ อื่นๆกันนะ! #1 คุณสามารถตงั้ ค่า “tempo” (จงั หวะความเรว็ ของเพลง) โดยใชบ้ ล็อกคําสั่ง [set tempo to (bpm) _] ย่งิ bpm (beats per minute) สูงเทา่ ไหร่ เพลงกจ็ ะย่ิงเรว็ ข้ึนเทา่ นั้ น และคุณ ยังสามารถใชบ้ ลอ็ กคําสั่ง [change tempo by (bpm) _] ในการเปล่ียน tempo ได้ดว้ ย #2 คุณสามารถใชบ้ ลอ็ กคําสั่ง [stop melody _] ในการหยดุ เพลงขณะท่เี พลงกาํ ลงั เล่นอยไู่ ด้ #3 คุณสามารถใชบ้ ลอ็ กคําสั่ง [music on _] และเงอื่ นไขภายในบล็อกท่คี ุณเลือกไว้ เชน่ เมอื่ เพลงเร่มิ หรอื เมอ่ื เพลงจบเป็นตวั กระตนุ้ (trigger) ในโค้ดของคุณได้ ตวั อยา่ งโค้ด ในโปรแกรมน้ี tempo ปกตขิ องเพลงถูกตงั้ ไวท้ ่ี 120 bpm เมอื่ เพลงเร่มิ ข้ึน LED matrix จะแสดงสัญลักษณ์รูปโน๊ ตดนตรี เมอ่ื เพลงจบ LED matrix ทกุ ดวงจะดบั ลง เมอื่ ไหรก่ ต็ ามทป่ี ่มุ A ถูกกดLotempo ของเพลงจะถูกเพ่ิมข้ึนครงั้ ละ 50 bpm เพลงชอื่ “entertainer” จะถูกเลน่ เมอ่ื ไหรก่ ต็ ามทป่ี ุ่ม B ถูกกด เพลงจะหยดุ เมอ่ื ป่มุ A+B ถูกกดพรอ้ มๆกนั
สาระน่ ารู ้ piezo buzzer โดยปกตแิ ลว้ จะใชใ้ นการสรา้ งเสียงดว้ ยการสั่นของแผน่ piezo เมอื่ ได้ รบั สัญญาณไฟฟ้า ชอ่ งเสียงผา่ น แผน่ piezo ขั้วจา่ ย Piezo ไฟฟ้า Buzzer โดยการเปล่ียนความถ่ีของสัญญาณไฟฟ้า ความเรว็ ของการสั่นจะเปล่ยี นไป และดว้ ย เหตนุ ้ี piezo buzzer จงึ สามารถสรา้ งเสียงไดอ้ ยา่ งหลากหลาย แผน่ Piezo หูของมนษุ ย์มชี ว่ งการได้ยนิ อยทู่ ่ี 20Hz ถึง 20,000Hz โดยเสียงอะไรก็ ตามทต่ี า� กวา่ 20Hz เราจะเรยี กวา่ อนิ ฟราโซนิค (infrasonic) และ เสียงอะไรกต็ ามทส่ี ูงกวา่ 20,000Hz เราจะเรยี กวา่ อลั ตรา้ โซนิค (Ultrasonic) ข้อมลู เพ่ิมเตมิ สแกนเลย!
พวกเราขอทา้ ให.้ .. โปรแกรม EDU:BIT ใฟ้ทาํ งานเป็น Buzzer ใน Game Show เพ่ือ ส่งสัญญาณวา่ ถูกหรอื ผดิ On start แสดงหน้ าย้ิม เมอ่ื ป่มุ A ถูกกด แสดงเครอื่ งหมาย และเล่นเพลง (ปุ่มสี เหลือง) “power up” 1 ครงั้ แสดงเครอื่ งหมาย และเลน่ เพลง เมอ่ื ป่มุ B ถูกกด “wawawawaa” 1 ครงั้ (ปุ่มสีน� าเงนิ ) เคลียรห์ น้ าจอ เมอ่ื ป่มุ A+B ถูกกด (ปุ่มสีเหลือง+ป่มุ สีน� าเงนิ )
บทท่ี ทายซฉิ ันวาดอะไร Traffic Light Bit ไก่งวง! สแกนเลย!
เพื่อนๆเคยสังเกตเุ ห็น LED สีแดง สีเหลอื งและสีเขียวบน EDU:BIT ไหม มนั คือ Traffic Light Bit โดย เพื่อนๆจะตอ้ งเพ่ิมส่วนขยาย (EDU:BIT extension) ใน MakeCode Editor กอ่ นเพ่ือท่จี ะโปรแกรมการ ทาํ งานช้นิ ส่วนนั้นได้ โดยส่วนขยาย (extensions) คือ กลมุ่ ของบลอ็ กคําสั่งเฉพาะท่เี พ่ิม เข้ามาใน editor เพ่ืองา่ ยตอ่ การเขียนโปรแกรมสําหรบั ควบคุมการทาํ งานของอปุ กรณ์ เสรมิ ตา่ งๆของ micro:bit อยา่ งเชน่ บอรด์ EDU:BIT เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 สรา้ งโปรเจก็ ตใ์ หมใ่ น MakeCode Editor โดยคลกิ ทไ่ี อคอน ดา้ นขวาบน แลว้ เลอื ก ‘Extensions’ (จาํ เปน็ จะตอ้ งมอี นิ เตอรเ์ น็ตสําหรบั การตดิ ตงั้ extensions) ขั้นตอนท่ี 2 พมิ พค์ าํ วา่ “edubit” ในชอ่ งคน้ หาแลว้ กด Enter ขั้นตอนท่ี 3 คลกิ ทส่ี ่วนขยาย ‘edubit’ รอจนกระทงั่ ดาวน์ โหลดและตดิ ตงั้ เสรจ็ ส้ิน และคณุ จะสังเกตุ เหน็ หมวดหมใู่ หมป่ รากฏข้นึ ท่ี Toolbox ใน MakeCode Editor ของคณุ
บทท่ี 4 : ทายซฉิ ันวาดอะไร ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [on button _ pressed] ขั้นตอนท่ี 5 คลกิ เลอื กหมวดหมู่ [Traffic Light Bit] ใน Toolbox แลว้ เลอื กบลอ็ กคาํ สั่ง [set LED _ to _] และใน Workspace คลกิ ขวาทบ่ี ลอ็ กคาํ สั่ง [set LED _ to _] และเลอื ก ‘Duplicate’ จนไดบ้ ลอ็ กคาํ สั่ง [set LED _ to _] จาํ นวน 3 blocks แลว้ นําทงั้ 3 บลอ็ กเขา้ ไปวางไวใ้ นบลอ็ ก [on button A pressed] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 6 คลกิ ทต่ี วั เลอื กสีในบลอ็ กคาํ สั่ง [set LED _ to _] ของบลอ็ กท่ี 2 และ 3 แลว้ เปลย่ี นเปน็ “Yellow” และ “Green” ตามลาํ ดบั
บทท่ี 4 : ทายซฉิ ันวาดอะไร ขั้นตอนท่ี 7 คลกิ ขวาทบ่ี ลอ็ กคาํ สั่ง [on button _ pressed] และเลอื ก ‘Duplicate’ จนไดก้ ลมุ่ บลอ็ ก ทเ่ี หมอื นกนั จาํ นวน 3 บลอ็ ก **กลมุ่ บลอ็ กทไ่ี ดจ้ ากการ ‘Duplicate’ ทงั้ 2 บลอ็ กจะไมท่ าํ งานเพราะวา่ เปน็ เงอ่ื นไขทเ่ี ปน็ การกดปมุ่ A เหมอื นกลมุ่ บลอ็ กแรก ขั้นตอนท่ี 8 เปลย่ี นเงอื่ นไขของกลมุ่ บลอ็ กท่ี 2 และ 3 ทบ่ี ลอ็ กคาํ สั่ง [on button _ pressed] จาก “A” เปน็ “B” และ “A+B” ตามลาํ ดบั ขั้นตอนท่ี 9 เปลย่ี นสถานะการ เปดิ - ปดิ ของหลอดไฟ ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 9 แฟลชโคด้ ลง EDU:BIT ของเพอ่ื นๆ และสังเกตวุ า่ เกดิ อะไรข้นึ เมอ่ื กดปมุ่ A, ปมุ่ B และปมุ่ A+B พรอ้ มกนั
บทท่ี 4 : ทายซฉิ ันวาดอะไร ตอนน้ีเพอื่ นๆสามารถทาํ ให้ EDU:BIT ระบสุ ถานะจากสีของ LED ได้ เพอ่ื นๆคดิ วา่ จะเอาไป ทาํ อะไรไดบ้ า้ งนะ? สดุ ยอด! กาํ ลงั อดั เสียง รอสั กครู ่ เข้ามาไดเ้ ลย “ผมกาํ ลงั มปี ญั หา ชว่ ยดว้ ย!” “กาํ ลงั ทาํ งานอย”ู่ “เข้าใจแลว้ !” LED หรอื light emitting diode เปน็ ตวั อยา่ งของอปุ กรณ์ Digital Output โดยมแี ค่ 2 สถานะ คอื เปดิ และ ปดิ โดยท่ี Output แบบ Digital เปดิ เทา่ กบั 1 และ ปดิ เทา่ กบั 0
บทท่ี 4 : ทายซฉิ ันวาดอะไร คุณสามารถโปรแกรม EDU:BIT ของคุณเป็นนาฬิกานับถอยหลงั ได้ ไดโ้ ดยมตี วั อยา่ งโค้ด ดงั น้ี timer ถกู กระตนุ้ ให้นับถอยหลงั โดยการสั่งของ EDU:BIT เลน่ เพลงเพอ่ื เปน็ สัญญาณวา่ เรม่ิ นับถอยหลงั แลว้ LED สีเขียวสวา่ งข้ึน ในโคด้ ตวั อยา่ งน้ี LED แตล่ ะดวงจะตดิ ดวงละ 2000ms (2วนิ าท)ี LED สีเหลอื งสวา่ งข้ึน หากคณุ ตอ้ งการให้ LED แตล่ ะดวง ตดิ LED สีแดงสวา่ งข้ึน หลอดละ 1 นาที ควรกาํ หนดคา่ ใน บลอ็ กคาํ สั่ง [pause _] ให้มคี า่ เทา่ ไหร่ เลน่ เพลง “wawawawaa” เพอื่ เปน็ สัญญาณวา่ หมดเวลาแลว้ 1 นาที = 60 วนิ าที LED สีแดงกระพรบิ ข้ึน 10 ครงั้ “Toggle” คอื การเปลย่ี นแปลงสถานะหน่ึงเปน็ อกี สถานะหน่ึง ยกตวั อยา่ ง เชน่ ถา้ สถานะปจั จบุ นั คอื ON เมอ่ื toggle สถานะกจ็ ะกลายเปน็ OFF ในทาง กลบั กนั หากเรา toggle สถานะ LED อยา่ งรวดเรว็ กจ็ ะปรากฏลกั ษณะ LED ทก่ี ระพรบิ อยา่ งรวดเรว็
สาระน่ ารู ้ light-emitting diode (LED) คอื อปุ กรณ์กง่ึ ตวั นําทส่ี ามารถสรา้ งแสงสวา่ ง ไดจ้ ากไฟฟา้ โดยประกอบไปดว้ ย 2 ขวั้ คอื ขวั้ บวก และ ขวั้ ลบ โดยเมอื่ ตอ่ LED กบั แบตเตอรถ่ี กู ขวั้ จะเกดิ กระแสไหลผา่ น LED จนเกดิ แสงสวา่ งข้นึ ไฟตดิ ไฟไมต่ ดิ LEDs ทใ่ี ชบ้ น microbit เปน็ ประเภท surface-mount technology (SMT) จงึ มี ขนาดทเ่ี ลก็ มากๆ นอกเหนือจาก LED พวกน้ีแลว้ ยงั มี SMT LEDs อกี 41 หลอด บน EDU:BIT อกี นะ ลองหาดสู ิ!
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132