Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore EDUBIT (TH) V2

EDUBIT (TH) V2

Published by TH Support Cytron, 2022-07-07 10:10:30

Description: คู่มือพร้อมบทเรียนการใช้งานฉบับภาษาไทย แปลครั้งที่ 2 สำหรับบอร์ด EDU:BIT ผลิตภัณฑ์จากทาง Cytron Technologies

Keywords: EDU:BIT,Cytron

Search

Read the Text Version

พวกเราขอทา้ ให.้ .. โปรแกรม EDU:BIT ใหท้ าํ งานเปน็ เครอื่ งนับคะแนนและเครอ่ื งจบั เวลา ไปพรอ้ มๆกนั เพอ่ื ใชใ้ นการเลน่ เกม “ทายซฉิ ันวาดอะไร” หรอื เกม “ใบค้ าํ ” On start กาํ หนดตวั แปร Team A = 0 กาํ หนดตวั แปร Team B = 0 เมอื่ ป่มุ A ถูกกด บวกคะแนน Team A คะแนนและ (ป่มุ สีเหลือง) แสดงคะแนนปัจจบุ นั ของ Team A เมอ่ื ปุ่ม B ถูกกด บวกคะแนน Team B คะแนนและ (ป่มุ สีน� าเงนิ ) แสดงคะแนนปัจจบุ ันของ Team B เมอื่ ปุ่ม A+B ถูกกด แสดงคะแนนปัจจบุ นั ของ Team A (ป่มุ สีเหลอื ง+ป่มุ สีน� าเงนิ ) และ Team B On shake เร่มิ นั บถอยหลัง 1 นาที โดยเมอื่ เหลอื 30 วนิ าที LED สีเขียวจะตดิ ,เหลือ 20 วนิ าที LED สีเหลอื งจะตดิ และ สดุ ทา้ ย เหลอื 10 วนิ าทสี ดุ ทา้ ย LED สีแดงจะตดิ และจะเล่นเพลง “wawawawaa” เมอ่ื เวลาหมดลงพรอ้ มกบั LED สีแดง กระพรบิ อกี 10 ครงั้ เคลด็ ลบั ! คุณตอ้ งสรา้ งตวั แปรข้ึนมาใหม่ 2 ตวั แปร โดยตงั้ ชอ่ื วา่ Team A และ Team B ตามลําดับ

มาเล่นกันเลย! ลองทายดูซิ ฉันวาดอะไร ไก่งวง! วิธกี ารเล่น : แบง่ ทมี ออกเป็น 2 ทมี คือ Team A และ Team B สมาชกิ จากทมี A 1 คนจะออกมาส่มุ หยิบการด์ ทม่ี ชี อื่ ของส่ิงท่จี ะวาดเขียนอยู่ ให้อา่ น จนเข้าใจวา่ ตอ้ งวาดอะไร แลว้ ทาํ การเขยา่ EDU:BIT เพ่ือเร่มิ จบั เวลา (นั บถอยหลงั 1 นาท)ี เร่มิ วาดรูปบนกระดานเพ่ือให้สมาชกิ ในทมี ทายได้เลย โดยห้ามพดู หรอื บอกใบ้โดยใช้ ทา่ ทางตา่ งๆ หากมสี มาชกิ ใน Team A สามารถทายไดถ้ ูกวา่ วาดรูปอะไรกอ่ นหมดเวลา Team A ก็ จะไดร้ บั คะแนน 1 คะแนน (โดยการกดป่มุ A หรอื ป่มุ สีเหลอื ง) แตห่ าก Team A ไมม่ คี นตอบได้ในระยะเวลาทก่ี าํ หนด Team B สามารถ “steal” เพ่ือตอบ ได้โดยหากตอบถูกกจ็ ะไดร้ บั คะแนน 1 คะแนน ทงั้ สองทมี สลบั กนั เล่นจนกระทงั่ จบเกม ทมี ทไ่ี ด้คะแนนมากท่สี ุดเป็นฝ่ายชนะ หมายเหตุ สแกนท่ี QR Code เพื่อดาวน์ โหลดการด์ คําศัพทท์ ่ใี ชใ้ นเกม หรอื หากคุณไมอ่ ยาก วาดรูป ลองเปล่ียนเป็นเกมใบ้คําดูสิ กฏกตกิ าเหมอื นกบั เกมทายรูปเลยนะ!

บทท่ี ลกู เตา๋ อนิ ฟาเรดดจิ ติ อล IR Bit สแกนเลย!

บทท่ี 5 : ลกู เตา๋ อนิ ฟาเรดดิจติ อล เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 สรา้ งโปรเจก็ ตใ์ หมใ่ น MakeCode Editor ของคณุ และเพ่มิ ส่วนขยาย EDU:BIT (ทาํ ตามขนั้ ตอนในหน้าท่ี 40) คลกิ ทห่ี มวดหมู่ [Loops] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [while _ do] แลว้ นําไปวางในบลอ็ ก [forever] ขั้นตอนท่ี 2 เลอื กหมวดหมู่ [IR Bit] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [IR sensor triggered] แลว้ นําไปวางในบลอ็ กเงอ่ื นไขของ [while _ do] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 3 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [show icon] ออกมา 2 บลอ็ ก แลว้ เปลย่ี นรูปไอคอนทจ่ี ะแสดงของบลอ็ กคาํ สั่ง [show icon] บลอ็ กท่ี 2 ใหเ้ ปน็ รูปหวั ใจดวงเลก็ และ ดวงใหญ่ แลว้ นําไปวางในบลอ็ ก [while _ do ] ดงั ภาพดา้ นลา่ ง

บทท่ี 5 : ลกู เตา๋ อนิ ฟาเรดดิจติ อล ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Music] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [start melody _ repeating _] แลว้ เปลย่ี นเพลงจาก “dadadum” ใหเ้ ปน็ เพลง “ba ding” ขั้นตอนท่ี 5 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [show number] ขั้นตอนท่ี 6 คลกิ เลอื กหมวดหมู่ [Math] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [pick random _ to _] แลว้ ตงั้ คา่ ตวั เลขใหเ้ ปน็ “1” ถงึ “6” ดงั ภาพดา้ นลา่ ง

บทท่ี 5 : ลกู เตา๋ อนิ ฟาเรดดิจติ อล ขั้นตอนท่ี 7 คลกิ เลอื กหมวดหมู่ [Loops] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [while _ do _] ขั้นตอนท่ี 8 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox และเลอื กบลอ็ ก Boolean [not] แลว้ นําไปวางใน บลอ็ กเงอื่ นไขของ [while _ do] ขั้นตอนท่ี 9 คลกิ เลอื กหมวดหมู่ [IR Bit] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [IR sensor triggered] แลว้ นําไปวางในบลอ็ ก Boolean [not] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 10 แฟลชโคด้ ลง EDU:BIT ของเพอ่ื นๆไดเ้ ลย!

มาเล่นกันเลย! ลองทายดูซิ ฉันวาดอะไร วิธกี ารเล่น : ผเู้ ล่นแตล่ ะคนเลือกหมากตวั ละครแลว้ นํ าหมากวางไวท้ ่จี ดุ เร่มิ ตน้ ผเู้ ลน่ แตล่ ะคนเร่มิ ทอยลกู เตา๋ โดยการวางฝ่ามอื ไวด้ า้ นบนเหนื อ IR Bit จนกระทงั่ เห็นไอคอนรูป หัวใจเตน้ ให้นํ ามอื ออก เดนิ หมากของคุณตามตวั เลขท่ปี รากฏบน LED matrix (ระหวา่ ง 1 ถึง 6) ถ้าตวั หมากของคุณเพื่อนๆไปหยดุ บรเิ วณชอ่ งทเ่ี ป็นดา้ นล่างของบรรได ให้ทาํ การ เดินหมากของเพื่อนๆข้ามไปยงั บรเิ วณดา้ นบนของบรรไดได้ทนั ที แตห่ ากหมากของ เพื่อนๆเดนิ ไปบรเิ วณชอ่ งทเ่ี ป็นหัวของงู เพื่อนๆจะตอ้ งเดนิ หมากของคุณลงมา บรเิ วณหางของงทู นั ที ผเู้ ล่นคนแรกท่เี ดินหมากถึงชอ่ งท่ี 100 กอ่ นเป็นผชู้ นะ หมายเหตุ กระดานและหมากตวั ละครของเกมบรรไดงมู ใี ห้อยใู่ นกลอ่ ง โดยแกะตวั ละครและ แทน่ ออกจากแผน่ แลว้ นํามาประกอบกนั ให้เป็นหมากตวั ละครดงั ภาพ

ทาํ ความเขา้ ใจโค้ดโปรแกรม เราใชบ้ ลอ็ กคําสั่ง [while _ do] จากหมวดหมู่ [Loops] Toolbox ในโค้ด กอ่ นหน้ าน้ี คุณรูร้ เึ ปลา่ วา่ while loop ทาํ งานอยา่ งไร? เมอ่ื โปรแกรมทาํ งานถงึ บลอ็ กคาํ สั่ง [while _ do] โปรแกรมจะทาํ การตรวจสอบเงอื่ นไขใน บลอ็ กคาํ สั่ง [while _ do] (เงอ่ื นไขตอ้ งเปน็ TRUE) โปรแกรมถงึ จะทาํ งานในส่วนบลอ็ กคาํ สั่ง ทอ่ี ยใู่ นบลอ็ กเงอื่ นไข [while _ do] โดยจะทาํ งานวนซา� ไปเรอ่ื ยๆ จนกระทงั่ เมอ่ื เงอื่ นไขทต่ี รวจ สอบนั้นกลายเปน็ เทจ็ (FALSE) โปรแกรมจะออกจากการทาํ งานของบลอ็ กคาํ สั่งทอ่ี ยใู่ นบลอ็ ก เงอ่ื นไข [while _ do] และทาํ งานในส่วนบลอ็ กคาํ สั่งถดั ไป เมอื่ เงอื่ นไขน้ีเปน็ true จะทาํ งานคาํ สั่ง ดา้ นในบลอ็ กเงอ่ื นไข [while _ do] (แสดงรูปหวั ใจเตน้ ) เมอื่ เงอื่ นไขเปน็ false จะออกจากการ ทาํ งานในบลอ็ กเงอ่ื นไข [while _ do] ดา้ นบนและทาํ งานในบลอ็ กคาํ สั่งทถ่ี ดั ลงมาแทน (เลน่ เพลง, ส่มุ ตวั เลขและ แสดงตวั เลข และเชค็ IR sensor)

นอกจากการใช้ EDU:BIT เป็นลกู เตา๋ ดจิ ติ อลแลว้ คุณสามารถปรบั แตง่ โค้ดกอ่ นหน้าน้ีเพื่อให้ EDU:BIT ชว่ ยคุณตดั สินใจตวั เลอื กท่ี ตดั สินใจไดย้ าก ยกตวั อยา่ งเชน่ กลางวนั น้ีจะกนิ อะไรดนี ้า? ขั้นตอนท่ี 11 คลกิ เลอื กหมวดหมู่ [Advance] : [Arrays] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [set text list to array of _ _ _] แลว้ นําไปวางในบลอ็ ก [Basic] : [on start] ขั้นตอนท่ี 12 คลกิ ท่ี [text list] และเลอื ก “Rename Variable” และตงั้ ชอ่ื ใหมใ่ นหน้าตา่ ง pop-up ทป่ี รากฏข้นึ มาวา่ ‘Lunch options’ แลว้ คลกิ OK ขั้นตอนท่ี 13 คลกิ บนบลอ็ กคาํ สั่ง [array of _ _ _] ทลี ะชอ่ ง แลว้ ใส่เมนทู ต่ี อ้ งการใหเ้ ลอื กในแต่ ละบลอ็ ก คลกิ ทป่ี มุ่ น้ีเพอื่ เพ่มิ ตวั เลอื ก

บทท่ี 5 : ลกู เตา๋ อินฟาเรดดิจติ อล ขั้นตอนท่ี 14 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และทาํ การสรา้ งตวั แปรใหมข่ ้นึ มาโดย ใหม้ ชี อ่ื วา่ ‘Choice’ ขั้นตอนท่ี 15 คลกิ ขวาทบ่ี ลอ็ กคาํ สั่ง [show number [pick random _ to _]] และเลอื ก ‘Delete Blocks’ ขั้นตอนท่ี 16 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [set _ to _] แลว้ นํา ไปวางไวร้ ะหวา่ งบลอ็ กคาํ สั่ง [start melody _ repeating _] และบลอ้ กเงอ่ื นไข [while _ do] แลว้ ทาํ การเปลย่ี นตวั แปรเปน็ ‘Choice’

บทท่ี 5 : ลกู เตา๋ อนิ ฟาเรดดจิ ติ อล ขั้นตอนท่ี 17 คลกิ เลอื กหมวดหมู่ [Math] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [pick random _ to _] และบลอ็ ก [_ - _] แลว้ นําไปวางในบลอ็ กคาํ สั่ง [set _ to _] แลว้ ทาํ การเปลย่ี นคา่ สดุ ทา้ ยใหเ้ ปน็ 1 ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 18 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [show string] แลว้ นํา ไปวางระหวา่ งบลอ็ กคาํ สั่ง [set _ to _] และบลอ็ กเงอื่ นไข [while _ do] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 19 คลกิ เลอื กหมวดหมู่ [Advanced] : [Arrays] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [length of array_] นําไปใส่ในบลอ็ ก [pick random _ to _] และบลอ็ กคาํ สั่ง [_ get value at _] นําไปใส่ในบลอ็ กคาํ สั่ง [show string] ดงั ภาพดา้ นลา่ ง

บทท่ี 5 : ลกู เตา๋ อินฟาเรดดิจติ อล ขั้นตอนท่ี 20 คลกิ [list] และเลอื กตวั แปรทจ่ี ะแสดงเปน็ ‘Lunch options’ สําหรบั ทงั้ สองบลอ็ ก และสดุ ทา้ ย คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [Choice] แลว้ นําไปวางในบลอ็ กทว่ี า่ งของบลอ็ กคาํ สั่ง [_ get value at _] น่ีคอื โคด้ โปรแกรม “กลางวนั น้ีจะกนิ อะไรดนี ะ?” ทเ่ี สรจ็ สมบรู ณ์แลว้ ! ตรงชอ่ื เมนอู าหารสามารถ เปลย่ี นแปลงหรอื เพ่มิ เมนู ไดต้ ามใจชอบ ตอ่ ไปหากเพื่อนๆไมแ่ น่ใจวา่ จะกนิ อะไรดี ปลอ่ ยให้ EDU:BIT ตดั สินใจให้ดสู ิ! โดย การนํามอื ไปวางเหนือ IR Bit แลว้ นํามอื ออก นอกจากน้ีเพ่ือนๆยงั สามารถดดั แปลง โค้ดน้ีให้ชว่ ยตดั สินใจวา่ เพ่ือนๆจะเลน่ เกมอะไรกนั ดี รูม้ ยั้ วา่ ตอ้ งเปล่ยี นส่วนไหนของโค้ด เพ่ือทาํ แบบนั้นกนั นะ??

ทาํ ความเขา้ ใจโค้ดโปรแกรม อาเรย์ (array) คือ list หรอื คอลเลคชนั่ กลมุ่ ของตวั แปรทเ่ี ก่ยี วข้องกนั เปรยี บได้กบั แฟ้ม เอกสารทแ่ี บ่งออกเป็นส่วนตา่ งๆ และแตล่ ะส่วนจะมขี ้อมลู อยู่ เหตผุ ลของการใชอ้ าเรยก์ ็ เพราะวา่ เราสามารถแกไ้ ขโค้ดของเราได้งา่ ยเมอ่ื เราตอ้ งการท่จี ะเพ่ิมหรอื ลดองค์ประกอบ ภายใน list ดงั โค้ดดา้ นล่าง ยกตวั อย่าง เราสรา้ งอาเรยข์ ้ึนมาพรอ้ ม ข้าวผดั สปาเกต็ ต้ี ไข่ดาว กบั 3 element ข้างใน และตงั้ ชอ่ื อาเรยน์ ั้ นวา่ “Lunch options” เราสามารถแกไ้ ขรายชอ่ื อาหารได้โดย การบง่ ชต้ี าํ แหน่ งของแตล่ ะ element อีกทงั้ ยงั สามารถ เพ่ิม หรอื ลด จาํ นวนของ element ใน list ไดโ้ ดยการ กดทป่ี ุ่ม หรอื เมนวู นั น้ี Fried rice Spaghetti Fried egg เมอื่ เงอ่ื นไขผดิ (FALSE) EDU:BIT จะไมท่ าํ งาบล็อก คําสั่งในบล็อกเงอื่ นไข [while _ do] แตจ่ ะข้ามไปแทน (i)เล่นเพลง ‘ba ding’ หน่ึ งรอบ (ii) ส่มุ เลอื กเมนอู าหาร จาก list ตวั เลือก (ii) แสดงชอ่ื เมนอู าหาร บนหน้ าจอ LED ในการเขียนโปรแกรม เราจะเร่มิ นับเลขจาก 0 ไมใ่ ชจ่ าก 1 จาก ตวั อยา่ ง “Fried rice” มเี ลข index เทา่ กบั 0 ใน list และ “Fried egg” ท่เี ป็นเมนู สดุ ทา้ ยใน list มเี ลข index เทา่ กบั 2 ถึงแมว้ า่ จะเป็นเมนทู ่ี 3 ใน list กต็ าม

สาระน่ ารู ้ infrared (IR) sensor เป็นอุปกรณ์อิเล็กทรอนิ กส์ท่ใี ชใ้ นการตรวจจบั ส่ิงกดี ขวางโดย IR sensor จะมสี ่วนประกอบแบง่ ออกเป็น 2 ส่วน ได้แก่ ส่วน emitter (IR LED) และ ส่วน receiver (photodiode) LED บอกสถานะการทาํ งาน หมนุ ตวั ตา้ นทานปรบั คา่ ได้ Receiver (photodiode) สีน�าเงนิ เพอ่ื ปรบั ความไว หรอื เกณฑก์ ารตรวจจบั ของ IR sensor Emitter (IR LED) หลกั การทาํ งาน IR LED จะเปลง่ แสงอนิ ฟาเรดซง่ึ จะไปสะทอ้ นกบั วตั ถแุ ลว้ กลบั มายงั receiver หากมวี ตั ถอุ ยู่ ดา้ นหน้าเซน็ เซอร์ IR Bit จะถกู “triggered” โดยปรมิ าณแสงทส่ี ะทอ้ นกลบั มามคี า่ เกนิ เกณฑ์ ทไ่ี ดท้ าํ การตงั้ ไว้ โดยเมอ่ื triggered แลว้ LED บอกสถานะบน IR Bit จะสวา่ งข้นึ ถา้ ไมม่ วี ตั ถอุ ยดู่ า้ นหน้าเซน็ เซอรห์ รอื อยหู่ า่ งออกไปมาก แสงอนิ ฟาเรดทส่ี ะทอ้ นกลบั มาสู่ receiver กจ็ ะน้อยมากหรอื ไมม่ เี ลย ดว้ ยเหตนุ ้ี IR Bit กจ็ ะไมถ่ กู triggered อยา่ งไรกต็ าม IR sensor อาจทาํ งานไมป่ กตหิ รอื ไมท่ าํ งานหากอยใู่ นสภาพแวดลอ้ ม ดงั ตอ่ ไปน้ี วตั ถทุ จ่ี ะสะทอ้ น วตั ถทุ จ่ี ะสะทอ้ น บรเิ วณทม่ี แี สงรบกวนมาก มขี นาดเลก็ เกนิ ไป มลี กั ษณะเปน็ สีดาํ รูห้ รอื ไม?่ หรอื มดื แสงอินฟาเรดเป็นแสงท่ไี มส่ ามารถมองเห็น ไดด้ ว้ ยตาเปล่า อยา่ งไรกต็ ามคุณสามารถมอง เห็นแสงอนิ ฟาเรดได้งา่ ยๆดว้ ยการ ใชก้ ลอ้ งของ โทรศัพทถ์ ่ายบรเิ วณ IR LED

พวกเราขอทา้ ให.้ .. โปรแกรม EDU:BIT ให้ทาํ หน้ าทเ่ี ป็นอุปกรณ์แจง้ เตอื นการนั่งทา่ ทาง ทไ่ี มถ่ ูกตอ้ ง On start แสดงคําวา่ “Mind your posture” เมอื่ IR ถกู triggered แสดงหน้ าย้มิ บน LED matrix และเปิด LED สีเขียว เมอื่ IR ไมถ่ กู triggered เล่นเพลง ‘ba ding’ และแสดงหน้ าเศรา้ บน LED matrix และกระพรบิ LED สีแดง หลกั การทาํ งาน ตดิ ตงั้ EDU:BIT ไวบ้ รเิ วณพนั กพิงเกา้ อ้ี ดงั ภาพ นั่งบนเกา้ อ้ีด้วยทา่ ทางท่ถี ูกตอ้ ง ปรบั ตวั ตา้ นทานปรบั ค่าไดส้ ีน� าเงนิ บน IR Bit จนกวา่ LED แสดงสถานะจะตดิ (IR Bit ตรวจพบหลงั ของคนนั่งเกา้ อ้ีแลว้ ) ขั้นตอนน้ี เรยี กวา่ การ Calibration คุณตอ้ งทาํ การ calibrate ใหมท่ กุ ครงั้ ท่คี ุณใส่เส้ือสีตา่ งๆกนั รูไ้ หมวา่ เพราะอะไร?

บทท่ี มาไลจ่ บั กนั เถอะ Potentio Bit มาเลย!! จบั ให้ไดส้ ิ! สแกนเลย!

บทท่ี 6 : มาไลจ่ บั กนั เถอะ เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 สรา้ งโปรเจก็ ตใ์ หมใ่ น MakeCode Editor ของคณุ และเพ่มิ ส่วนขยาย EDU:BIT (ทาํ ตอนขนั้ ตอนในหน้าท่ี 40) คลกิ เลอื กหมวดหมู่ [Advance] : [Game] ใน Toolbox เลอื กบลอ็ ก คาํ สั่ง [start countdown (ms) _] แลว้ นําไปวางในบลอ็ ก [on start] และเปลย่ี นคา่ ใหเ้ ปน็ 30000 ms ขั้นตอนท่ี 2 คลกิ เลอื กหมวดหมู่ [Variables] ใน Toolbox และคลกิ เลอื กบลอ็ กคาํ สั่ง [Make a Variable] ตงั้ ชอื่ วา่ ‘Player’ ในหน้าตา่ ง pop-up ทป่ี รากฏข้นึ แลว้ คลกิ OK และทาํ การสรา้ งอกี ตวั แปรหน่ึงตาม ขนั้ ตอนกอ่ นหน้า โดยใหม้ ชี อ่ื วา่ ‘Chaser’ ขั้นตอนท่ี 3 คลกิ เลอื กหมวดหมู่ [Variables] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [set _ to _] หลงั จาก นั้นทาํ การ Duplicate บลอ็ กดงั กลา่ ว แลว้ นําไปวางในบลอ็ ก [on start] แลว้ จงึ ทาํ การตงั้ คา่ ตวั แปรใน บลอ็ กคาํ สั่ง [set _ to _] ใหเ้ ปน็ ‘Chaser’ และ ‘Player’ ตามลาํ ดบั

บทท่ี 6 : มาไลจ่ บั กนั เถอะ ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Advance] ใน Toolbox แลว้ เลอื กหมวดหมู่ [Game] เลอื กบลอ็ กคาํ สั่ง [create sprite at x: _ y: _] ทาํ การ Duplicate แลว้ นําไปวางในบลอ็ ก [set _ to _] เปลย่ี นคา่ ภายใน บลอ็ กคาํ สั่ง [create sprite at x: _ y: _] ใหเ้ ปน็ x: 0 และ y: 5 สําหรบั ตวั แปรชอื่ ‘Chaser’ และ x: 2 และ y: 0 สําหรบั ตวั แปรชอื่ ‘Player’ ขั้นตอนท่ี 5 คลกิ เลอื กหมวดหมู่ [Advanced] : [Game] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [_ turn _ by(°) _] แลว้ นําไปวางในบลอ็ ก [on start] หลงั จากนั้นทาํ การตงั้ คา่ ตวั แปรใหม้ ชี อ่ื เปน็ ‘Player’ และ ตงั้ คา่ มมุ ใหเ้ ปน็ 90° ขั้นตอนท่ี 6 คลกิ เลอื กหมวดหมู่ [Advanced] : [Game] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [_ set _ to _] เลอื กตวั แปร ‘Player’ และตงั้ คา่ ภายในบลอ็ กโดยเปลย่ี นตวั แปร ‘x’ เปน็ ‘brightness’ และตงั้ คา่ ตวั แปร ‘brightness’ ใหม้ คี า่ เทา่ กบั 50

บทท่ี 6 : มาไล่จบั กนั เถอะ ขั้นตอนท่ี 7 คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [on button _ pressed] ทาํ การ Duplicate บลอ็ กและเลอื กปมุ่ ‘B’ บนบลอ็ ก [on button _ pressed] บลอ็ กท่ี 2 ขั้นตอนท่ี 8 คลกิ เลอื กหมวดหมู่ [Game] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [_ move by _] ทาํ การ Duplicate แลว้ นําไปวางในบลอ็ ก [on button _ pressed] เลอื กตวั แปร ‘Player’ ใหก้ บั บลอ็ กทงั้ สอง และเปลย่ี นตงั้ คา่ ตวั แปรเปน็ 1 (เมอื่ ปมุ่ A ถกู กด) และ -1 (เมอื่ ปมุ่ B ถกู กด) ตวั ผเู้ ลน่ แฟลชโค้ดลงสู่ EDU:BIT ของเพ่ือนๆไดเ้ ลย ตวั ไลจ่ บั โดยเมอื่ เพ่ือนๆกดป่มุ สีน�าเงนิ (ป่มุ B) เพ่ือนๆจะสังเกตเห็นหรอื วา่ LED จะสวา่ งข้ึน และเลอ่ื นลงมา ซ่งึ นั่นคือตวั ละครท่เี พ่ือนๆ กําลงั บงั คับนั่นเอง แลว้ เกดิ อะไรข้ึนตอนท่เี พื่อนๆ ลองกดป่มุ สีเหลอื งดลู ะ่ ?

บทท่ี 6 : มาไล่จบั กนั เถอะ ขั้นตอนท่ี 9 คลกิ เลอื กหมวดหมู่ [Advanced] ใน Toolbox และเลอื กหมวดหมู่ [Functions] คลกิ ปมุ่ [Make a Function…] โดยในหน้าตา่ ง Edit Function ทาํ การเปลย่ี นชอ่ื ‘doSomething’ ใหเ้ ปน็ ‘Game’ ตอ่ มา คลกิ ปมุ่ [Number] เพอื่ ทาํ การเพ่มิ พารามเิ ตอรแ์ ละตงั้ ชอ่ื ใหมจ่ าก ‘num’ ใหเ้ ปน็ ‘speed’ ในบลอ็ ก function และคลกิ ‘Done’ ขั้นตอนท่ี 10 เขยี นโคด้ ตอ่ โดยการเพ่มิ บลอ็ กจากหมวดหมู่ [Advances] : [Game] และหมวดหมู่ [Math] ใน Toolbox ดงั ภาพดา้ นลา่ ง โดยอยา่ ลมื เปลย่ี นตวั แปรใหเ้ ปน็ ‘Chaser’ และกาํ หนดคา่ ใหเ้ ปน็ 90

บทท่ี 6 : มาไลจ่ บั กนั เถอะ ขั้นตอนท่ี 11 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [if-then] จาํ นวน 2 บลอ็ ก ลงในโคด้ ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 12 เขยี นโคด้ ตอ่ โดยการเพ่มิ บลอ็ กจากหมวดหมู่ [Advances] : [Game] และหมวดหมู่ [Math] ใน Toolbox ดงั ภาพดา้ นลา่ ง ส้ๆู นะ!

บทท่ี 6 : มาไล่จบั กนั เถอะ ขั้นตอนท่ี 13 เปลย่ี นตวั แปรในบลอ็ กจาก ‘Sprite’ เปน็ ‘Chaser’ โดยการคลกิ ทต่ี วั แปรในบลอ็ ก แลว้ เลอื กตวั แปรทช่ี อ่ื ‘Chaser’ แทน คลกิ เลอื กหมวดหมู่ [Variables] ใน Toolbox แลว้ เลอื กบลอ็ ก [Player] แลว้ นําไปวางในบลอ็ กทว่ี า่ งของบลอ็ กคาํ สั่ง [is_touching_] ขั้นตอนท่ี 14 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [pause(ms)_] แลว้ นําไปวาง ในโคด้ ดงั ภาพดา้ นลา่ ง คลกิ บลอ็ ก [speed] บนบลอ็ ก function ทาํ การลากนํามาวางใน บลอ็ กของ [pause(ms)_] เพ่ือนๆสามารถเพ่ิมความสนกุ ตนื่ เตน้ ของเกมโดยการเลน่ เพลงเมอ่ื Chaser จบั Player ได้ เพ่ือนๆรูไ้ หมวา่ ตอ้ งใชบ้ ลอ็ กไหน แลว้ นํ าไป วางตรงไหนเพ่ือทําแบบนั้ น?

มาเพ่ิมระดบั ความยาก ให้กบั เกมน้ีกนั ! ขั้นตอนท่ี 15 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox และเลอื กบลอ็ กคาํ สั่ง [if-then-else] แลว้ นําไปวาง ในบลอ็ ก [forever] โดยคลกิ เครอ่ื งหมาย (+) เพอื่ เพ่มิ เงอื่ นไขในบลอ็ กคาํ สั่ง [if-then-else] ขั้นตอนท่ี 16 คลกิ เลอื กหมวดหมู่ [Functions] ใน Toolbox และเลอื กบลอ็ ก [call Game_] ทาํ การ Duplicate แลว้ นําไปวางในบลอ็ กเงอ่ื นไข [if-then-else] แลว้ ทาํ การเปลย่ี นคา่ ในบลอ็ ก [call Game_] ใหเ้ ปน็ 250, 500 และ 750 ตามลาํ ดบั ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 17 คลกิ เลอื กหมวดหมู่ [Potentio Bit] ใน Toolbox และเลอื กบลอ็ ก [potentiometer value >_] ทาํ การ Duplicate แลว้ นําไปวางในบลอ็ กเงอื่ นไขของ [if-then-else] โดยเปลย่ี นคา่ ของ [potentiometer value >_] ใหเ้ ปน็ 800 สําหรบั บลอ็ กแรกแรก และ 400 สําหรบั บลอ็ กทส่ี อง

บทท่ี 6 : มาไลจ่ บั กนั เถอะ น่ีคอื โคด้ ทเ่ี สรจ็ สมบรู ณ์แลว้ : แสดงการนับถอยหลงั 30 วนิ าที สรา้ งตวั ไลแ่ ละตวั ละครผเู้ ลน่ ข้ึนในตาํ แหน่งทก่ี าํ หนด ตงั้ คา่ ให้ตวั ละครผเู้ ลน่ มกี ารทาํ เปน็ มมุ 90° (ข้ึน-ลง) หรแ่ี สง LED ของตวั ละครผเู้ ลน่ ลงเพอื่ ให้เกดิ ความแตกตา่ งกบั ตวั ไล่ ตงั้ คา่ ปมุ่ A และ ปมุ่ B สําหรบั ควบคมุ ตวั ละครผเู้ ลน่ ให้ขยบั โดยจะขยบั ข้ึนหรอื ลงทลี ะ 1 step เมอื่ ปมุ่ ถกู กด Game function สําหรบั ควบคมุ ตวั ไล่ ตงั้ คา่ ให้ตวั ไลม่ กี ารขยบั แบบส่มุ ไปมาในมมุ 0°-90° ทลี ะ 1 step โดยหากตวั ไลส่ ัมผสั กบั ขอบกจ็ ะกระเดง้ กลบั ทกุ ครงั้ ทต่ี วั ไลส่ ัมผสั กบั ขอบ จะทาํ การอพั เดตตวั แปรทช่ี อื่ วา่ “score” ข้ึน 1 คะแนน ถา้ ตวั ไลส่ ัมผสั กบั ตวั ละครของผเู้ ลน่ กจ็ ะเลน่ เพลง “wawawawaa” และ แสดง Game Over และคะแนนรวมบนหน้าจอ หยดุ โปรแกรมตามคา่ ตวั แปรทช่ี อ่ื วา่ “speed” ในหน่วยมลิ ลวิ นิ าที ทาํ การเชค็ การเปลย่ี นแปลงของ Potentio Bit อยตู่ ลอดเวลา โดยถา้ potentiometer มคี า่ ทอ่ี า่ นไดส้ งู กวา่ 800 ใหท้ าํ การเรยี กใชฟ้ งั กช์ นั ทม่ี ชี อ่ื วา่ “Game” แลว้ ทาํ การตงั้ คา่ ตวั แปรทช่ี อ่ื วา่ “speed” ใหม้ คี า่ เทา่ กบั 250ms หรอื ถา้ potentiometer มคี า่ สงู กวา่ 400 ใหท้ าํ การเรยี กใชฟ้ งั กช์ นั ทม่ี ชี อ่ื วา่ “Game”และตงั้ คา่ ตวั แปรทช่ี อ่ื วา่ “speed” ใหม้ คี า่ เทา่ กบั 500ms หรอื หากคา่ จาก potentiometer ไมต่ รงกบั 2 เงอื่ นไขขา้ งตน้ ใหท้ าํ การ ตงั้ คา่ ตวั แปรทช่ี อ่ื วา่ “speed” ใหม้ คี า่ เทา่ กบั 750ms ขั้นตอนท่ี 18 แฟลชโคด้ ทเ่ี สรจ็ สมบรู ณ์แลว้ เขา้ สู่ EDU:BIT ของเพอ่ื นๆ แลว้ เตรยี มตวั สนกุ ไปกบั เกม ไลจ่ บั ไดเ้ ลย!

มาเล่นกันเลย! เกมไล่จับ LED ของ Potentio Bit แสดงความยาก-งา่ ย งา่ ย ปานกลาง ยาก ตวั ละครของผเู้ ลน่ ตวั ไล่ (LED ทส่ี วา่ งน้อยกวา่ ) (LED ทส่ี วา่ งมากกวา่ ) หมนุ Potentio Bit ตามเขม็ นาฬิกาเพอื่ เพ่มิ ความ เรว็ การเคลอื่ นทข่ี องตวั ไล่ กดเพอื่ ขยบั ข้นึ กดเพอื่ ขยบั ลง วิธกี ารเล่น : เมอื่ เปิดสวติ ซ์ ตวั ไล่จะขยับไปมาแบบสุ่มทศิ ทาง ทาํ การขยับตวั ละครของผเู้ ลน่ เพื่อหลบหลกี ตวั ไล่ โดยการกดป่มุ สีเหลอื ง (ป่มุ A) สําหรบั ขยบั ข้ึน และป่มุ สีน�าเงนิ (ป่มุ B) สําหรบั ขยบั ลง เกมจะจบลงหากตวั ละครของผเู้ ล่นสัมผสั กบั ตวั ไล่ หรอื ครบเวลา 30 วนิ าที ทกุ ครงั้ ท่ตี วั ไล่สัมผสั กบั ขอบของจอ คุณจะได้ 1 คะแนน โดยผเู้ ลน่ ทม่ี คี ะแนนสงู ท่สี ุดเป็นฝ่ายชนะ เคลด็ ลบั ! #1 ในการทาํ คะแนนให้ได้สงู ท่สี ุดใน 30 วนิ าที สามารถทาํ ได้โดยการเพ่ิมความเรว็ การขยับของตวั ไล่ เพราะจะทาํ ให้ตวั ไล่สัมผสั กบั ขอบของจอได้ถ่ีกวา่ ปกติ #2 หลงั จาก Game Over คุณสามารถเร่มิ เกมใหมไ่ ดด้ ว้ ยการกดป่มุ A และ B พรอ้ มๆกนั เพ่ือเร่มิ เกม โดยจดุ น้ี ถือเป็น built-in function ของบลอ็ กในหมวดหมู่ [Game]

ทาํ ความเขา้ ใจโค้ดโปรแกรม ในการเขียนโปรแกรม เราจะใช้ เงอ่ื นไข if statements ในการตดั สินใจ ใน MakeCode Editor เราจะใชบ้ ลอ็ กเงอื่ นไข [if-then] หรอื บลอ็ กเงอื่ นไข [if-then-else] จากหมวดหมู่ [Logic] ใน Toolbox เพื่อสรา้ งเงอ่ื นไขการตดั สินใจ โดยโปรแกรมจะทาํ การเชค็ เงอ่ื นไข โดยหากเงอ่ื นไขเป็นจรงิ หรอื TRUE โปรแกรมกจ็ ะทาํ การทาํ งานคําสั่งทอ่ี ยภู่ ายในบลอ็ กเงอ่ื นไข แตห่ ากเงอ่ื นไขเป็นเทจ็ หรอื FALSE โปรแกรมกจ็ ะข้ามไปทาํ งานบล็อกทอ่ี ยถู่ ัดไปแทน ถ้า(if) เงอ่ื นไขน้ีถูกตอ้ ง (ตวั อย่าง ตวั ไล่สัมผสั กบั ตวั ละครของผเู้ ลน่ ) จะทํา (then) โค้ดกจ็ ะทาํ การเลน่ เพลง “wawawawaa” และ แสดง Game Over เมอื่ เรามเี งอื่ นไขหลายเงอื่ นไข โปรแกรมกจ็ ะทาํ การประเมนิ เงอื่ นไขตามลําดบั จากบน ลงลา่ ง และทาํ งานโค้ดทอ่ี ยใู่ นเงอื่ นไขท่ถี ูกตอ้ งเป็นอนั ดบั แรก ดว้ ยเหตนุ ้ี เงอื่ นไขท่อี ยู่ ดา้ นบนจะมคี วามสําคัญมากกวา่ เงอ่ื นไขท่อี ย่ดู า้ นลา่ ง ตวั อยา่ งเชน่ โค้ดของเกมจะทาํ การกาํ หนดความเรว็ การเคลื่อนทข่ี องตวั ไลโ่ ดยเทยี บ กบั ค่าจาก potentiometer เทยี บกบั เกณฑท์ ก่ี าํ หนดไวล้ ว่ งหน้ า เงอื่ นไข ถ้า (if) ค่าจาก potentiometer > 800 ทาํ การเรยี กใชฟ้ ังกช์ นั Game (ด้วยตวั แปร “speed” ทถ่ี ูก ตงั้ ค่าไวท้ ่ี 250 ms) หรอื ถ้า (else if) ค่าจาก potentiometer > 400 ทาํ การเรยี กใชฟ้ ังกช์ นั Game (ด้วยตวั แปร “speed” ท่ถี ูกตงั้ ค่าไวท้ ่ี 500 ms) หรอื หากนอกเหนื อจากเงอ่ื นไขข้างตน้ (else) ทาํ การเรยี กใชฟ้ ังกช์ นั Game (ด้วยตวั แปร “speed” ทถ่ี ูกตงั้ ค่าไวท้ ่ี 750 ms)

ลองมาดบู ล็อกคําสงั่ อ่ืนๆกันนะ! #1 ใชบ้ ลอ็ กคําสั่ง [Basic] : [show number] รว่ มกบั บลอ็ กคําสั่ง [Potentio Bit] : [potentiometer value] เพ่ืออา่ นค่าและแสดงค่าจาก potentiometer #1 potentiometer จะให้ค่าตงั้ แต่ 0 ถึง 1023 คุณสามารถใช้ [ map _ from low _ from high _ to low _ to high _ ] block จาก [ Advaced ] : [ Pins ] ใน Toolbox เพ่ือ map ค่าจากชว่ งท่มี เี ป็นชว่ งทต่ี อ้ งการ #3 mapping block จะให้ค่าออกมาเป็นเลขทม่ี ที ศนิ ยม (เชน่ 1.68, 3.998) โดยการ ทาํ ให้เลขเป็นจาํ นวนเตม็ จะใช้ [round _] จาก [Math] ใน Toolbox น่ี เป็นโค้ดตวั อย่างในการ map ค่าท่ไี ดจ้ าก Potentio Bit ให้ไดค้ ่าทอ่ี ย่ใู นชว่ ง 0 ถึง 7 โดยค่าทไ่ี ด้จะเป็นจาํ นวนเดตม็ และแสดงอย่บู น LED matrix อยา่ ลมื เปิด-จา่ ยไฟให้ บอรด์ EDU:BIT เพื่อ การอา่ นค่าท่แี มน่ ยาํ ข้ึน

สาระน่ ารู ้ Potentiometers หรอื pots หมายถึงตวั ตา้ นทานทส่ี ามารถ ปรบั ค่าความตา้ นทานได้งา่ ยโดยใช้ knob หมนุ หรอื slider เลื่อน ถ้าคุณมี potentiometer ท่มี คี วามตา้ นทาน 10,000Ω คุณสามารถ ปรบั ค่าความตา้ นทานได้ระหวา่ ง 0Ω ถึง 10,000Ω โดยการหมนุ wiper ตามตาํ แหน่ งดังภาพ ความตา้ นทานตา� ความตา้ นทานสงู หน้ าสัมผสั ภายใน แกนหมนุ ความตา้ นทาน แถบความตา้ นทาน ออก เข้า ออก เข้า ทศิ ทางการไหล ของกระแสไฟฟ้า การใช้งานทวั่ ไปในชีวติ ประจาํ วนั : การหมนุ เพ่ือปรบั เปล่ียนความดังของลาํ โพง การหมนุ เพื่อปรบั เปล่ียนความถ่ีของวทิ ยุ การหมนุ เพ่ือปรบั เปล่ียนอุณหภมู ขิ องฮีตเตอร์ potentiometer บน EDU:BIT เป็น input ประเภทอนาลอ็ กโดยหลกั การเป็นการ วดั ศักย์ไฟฟ้าและแปลงแรงดนั ไฟฟ้าทว่ี ดั ได้ (ระหวา่ ง 0V ถึง 3.3V) ให้เป็นเลข จาํ นวนเตม็ ระหวา่ ง 0 ถึง 1023 สัญญาณอนาลอ็ ก (Analog signal) สัญญาณดจิ ติ อล (Digital signal)

พวกเราขอทา้ ให.้ .. โปรแกรม EDU:BIT ให้เป็นนาฬิกาจบั เวลา โดยใช้ Potentio Bit ในการปรบั ระยะเวลา (ระหวา่ ง 0 ถึง 60 วนิ าท)ี โดยกดป่มุ A เพ่ือ เร่มิ นั บถอยหลงั และกดป่มุ B เพ่ือ reset On start ตงั้ ค่าการทาํ งานเป็น Mode 0 เมอื่ ปมุ่ A ถกู กด ตงั้ ค่าการทาํ งานเป็น Mode 1 (ปมุ่ สีเหลอื ง) ตงั้ Start time ให้เป็น running time แสดงหน้ าย้ิมบนหน้ าจอ เมอ่ื ปมุ่ B ถกู กด (ปมุ่ สีน�าเงนิ ) ตงั้ ค่าการทาํ งานเป็น Mode 0 Forever ตรวจสอบ Mode การทาํ งานตลอดเวลา ถ้า Mode = 0 ตงั้ ค่าระยะเวลานั บถอยหลัง จากค่าจาํ นวนเตม็ ท่ถี ูก map ให้อย่ใู นชว่ ง 0 ถึง 60 แล้ว และแสดงระยะเวลาทจ่ี ะนั บ ถอยหลังบนหน้ าจอ หรอื ถ้าเป็น Mode = 1 ทาํ การเชค็ วา่ (running time - Start Time) > (Duration x 10000) เป็นจรงิ หรอื ไม่ โดยหากเป็นจรงิ (TRUE) ให้ทาํ การ เลน่ เพลง wawawawaa และตงั้ ค่า การทาํ งานเป็น Mode 2 หรอื หากไมต่ รงกบั เงอ่ื นไขใดๆข้างตน้ ให้ แสดงหน้ าเศรา้ เคลด็ ลบั ! ข้อท่ี 1 คุณจําเป็นท่จี ะตอ้ งสรา้ ง 3 ตวั แปร ไดแ้ ก่ Mode, Start Time และ Duration ข้อท่ี 2 บลอ็ กคําสั่ง Running time (ms) หาไดจ้ ากหมวดหมู่ [Input] ใน Toolbox ข้อท่ี 3 ใชเ้ งอ่ื นไขดงั ภาพดา้ นลา่ งในการเชค็ วา่ หมดเวลารยึ งั

บทท่ี เสียงปรบมอื ของใคร ดงั กวา่ กนั นะ? Sound Bit สแกนเลย!

บทท่ี 7 : เสียงปรบมอื ของใครดงั กวา่ กนั นะ? เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 สรา้ งโปรเจก็ ตใ์ หมใ่ น MakeCode Editor ของคณุ และเพ่มิ ส่วนขยาย EDU:BIT (ทาํ ตอนขนั้ ตอนในหน้าท่ี 40) คลกิ เลอื กหมวดหมู่ [LED] ใน Toolbox เลอื กบลอ็ ก คาํ สั่ง [plot bar graph of _ up to _] แลว้ นําไปวางในบลอ็ ก [forever] ขั้นตอนท่ี 2 คลกิ เลอื กหมวดหมู่ [LED] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [sound level] แลว้ นําไปวางใน บลอ็ ก [plot bar graph of _ up to _] แลว้ ทาํ การเปลย่ี นคา่ ใหเ้ ทา่ กบั 1023 ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 3 ทาํ การแฟลชโคด้ ลงบอรด์ EDU:BIT เพอ่ื นๆจะสังเกตเหน็ จอ LED Matrix กระพรบิ สวา่ งข้นึ เมอื่ เพอ่ื นๆปรบมอื หรอื เคาะโตะ๊ เพื่อนๆสังเกตเห็นหลอด LED Matrix กระพรบิ หรอื เปลา่ ? เสี ยงเบา เสี ยงดงั

มาเปลย่ี น EDU:BIT ให้เปน็ เครอ่ื งวดั ความดงั เสียบปรบมอื กนั ! ขั้นตอนท่ี 4 สรา้ งโปรเจก็ ตใ์ หมใ่ น MakeCode Editor ของเพอื่ นๆอกี ครงั้ และเพ่มิ ส่วนขยาย EDU:BIT (ทาํ ตอนขนั้ ตอนในหน้าท่ี 40) คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox หลงั จากนั้นกดปมุ่ “Make a Variable” โดยใหท้ าํ การสรา้ งตวั แปรชอ่ื “loudness”, “mode” และ “highest” ตามลาํ ดบั ขั้นตอนท่ี 5 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox หลงั จากนั้นเลอื กบลอ็ กคาํ สั่ง [set _ to _] แลว้ ลากนําไปวางในบลอ็ ก [on start] แลว้ ทาํ การเปลย่ี นตวั แปรใหเ้ ปน็ “mode” ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 6 คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox หลงั จากนั้นเลอื กบลอ็ กคาํ สั่ง [on button _ pressed] แลว้ ลากนําไปวางใน Workspace

บทท่ี 7 : เสียงปรบมอื ของใครดงั กวา่ กนั นะ? ขั้นตอนท่ี 7 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [set _ to _] แลว้ นําไปวาง ในบลอ็ ก [on button A pressed] เปลย่ี นคา่ ตวั แปรแรกใหเ้ ปน็ “mode” โดยใหม้ คี า่ เทา่ กบั 1 และ เปลย่ี นคา่ ตวั แปรทส่ี องใหเ้ ปน็ “highest” โดยใหม้ คี า่ เทา่ กบั 2 ขั้นตอนท่ี 8 คลกิ เลอื กหมวดหมู่ [IR Bit] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [on IR sensor triggered] แลว้ นําไปวางใน Workspace ขั้นตอนท่ี 9 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [set _ to _] แลว้ นําไปวาง ในบลอ็ ก [on IR sensor triggered] เปลย่ี นคา่ ตวั แปรแรกใหเ้ ปน็ “mode” โดยใหม้ คี า่ เทา่ กบั 2

บทท่ี 7 : เสียงปรบมอื ของใครดังกวา่ กนั นะ? ขั้นตอนท่ี 10 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox เลอื กบลอ็ กเงอื่ นไข [if-then-else] แลว้ นําไปวาง ในบลอ็ ก [forever] หลงั จากนั้นคลกิ ทเ่ี ครอื่ งหมาย + เพอื่ เพ่มิ เงอ่ื นไข [else-if] ลงในบลอ็ กเงอ่ื นไข ขั้นตอนท่ี 11 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox เลอื กบลอ็ กเปรยี บเทยี บ [_ = _] แลว้ นําไปวาง ในบลอ็ ก [if-then-else] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 12 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox เลอื กบลอ็ กตวั แปร [mode] แลว้ นําไปวาง ในบลอ็ กเปรยี บเทยี บทางดา้ นซา้ ย แลว้ ทาํ การเปลย่ี นคา่ ดา้ นขวาใหเ้ ปน็ 1 และ 2 ดงั ภาพดา้ นลา่ ง

บทท่ี 7 : เสียงปรบมอื ของใครดงั กวา่ กนั นะ? ขั้นตอนท่ี 13 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [set _ to_] แลว้ นําไปวาง ในเงอื่ นไขแรกของบลอ็ กเงอ่ื นไข [if-then-else] หลงั จากนั้นตงั้ คา่ ตวั แปรเปน็ [loudness] แลว้ นําบลอ็ ก [sound level] จากหมวดหมู่ [Sound Bit] ลงในชอ่ งคา่ ตวั แปรทต่ี อ้ งการตงั้ ใหต้ วั แปรนั้น ขั้นตอนท่ี 14 คลกิ เลอื กหมวดหมู่ [Logic] ใน Toolbox เลอื กบลอ็ กเงอื่ นไข [if-then] และบลอ็ ก เปรยี บเทยี บ [_ = _] แลว้ นําไปวางในบลอ็ กเงอื่ นไข if แกไ้ ขเครอ่ื งหมายเปรยี บเทยี บจาก = ใหเ้ ปน็ > หลงั จากนั้นทาํ การกาํ หนดตวั แปรทจ่ี ะเปรยี บเทยี บใหเ้ ปน็ “loudness” และ “highest” ตามลาํ ดบั โดยการลากบลอ็ กตวั แปรมาจากหมวดหมู่ [Variables] ใน Toolbox ดงั ภาพดา้ นลา่ ง

บทท่ี 7 : เสียงปรบมอื ของใครดังกวา่ กนั นะ? ขั้นตอนท่ี 15 คลกิ เลอื กหมวดหมู่ [Variable] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [set _ to_] แลว้ นําไปวาง ในเงอื่ นไขแรกของบลอ็ กเงอื่ นไข [if] : [if-then] หลงั จากนั้นตงั้ คา่ ในส่วนของตวั แปรเปน็ “loudness” ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 16 คลกิ เลอื กหมวดหมู่ [LED] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [plot bar graph of _ up to _] ไปวางในบลอ็ กเงอื่ นไข [if-then] หลงั จากนั้น คลกิ เลอื กหมวดหมู่ [Variables] ใน Toolbox เลอื ก บลอ็ กตวั แปร [loudness] นําไปวางในบลอ็ ก [plot bar graph of _ up to _] และเปลย่ี นคา่ ใหเ้ ปน็ 1023 ดงั ภาพดา้ นลา่ ง

บทท่ี 7 : เสียงปรบมอื ของใครดงั กวา่ กนั นะ? ขั้นตอนท่ี 17 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [show number] แลว้ นําไปวาง ในบลอ็ กเงอ่ื นไขทส่ี องของ [if-then-else] หลงั จากนั้น เลอื กหมวดหมู่ [Variable] ใน Toolbox เลอื ก บลอ็ กตวั แปร [highest] แลว้ นําไปวางในบลอ็ กคาํ สั่ง [show number] ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 18 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [show icon] แลว้ นําไปวาง ในบลอ็ กเงอ่ื นไขสดุ ทา้ ยของ [if-then-else] ดงั ภาพดา้ นลา่ ง

บทท่ี 7 : เสียงปรบมอื ของใครดงั กวา่ กนั นะ? น่ีคอื โคด้ ในตอนเรม่ิ ตน้ mode ถกู ตงั้ คา่ ไวท้ ่ี 0 ทเ่ี สรจ็ แลว้ : เมอ่ื ปมุ่ A ถกู กด mode ถกู ตงั้ คา่ ใหเ้ ปน็ 1 และกาํ หนดใหค้ า่ ของตวั แปร “highest” มคี า่ เทา่ กบั 0 เมอื่ ปมุ่ IR Bit ถกู trigger จะมกี าร เปลย่ี น mode ใหเ้ ทา่ กบั 2 มกี ารวนเชค็ คา่ ของ mode ปจั จบุ นั ตลอดเวลา การทาํ งานของ mode = 1 (เมอ่ื ปมุ่ A ถกู กด) จะทาํ การวาด bar graph ของ ระดบั เสียงทต่ี รวจจบั ไดด้ งั ทส่ี ดุ บนจอ แสดงผล LED Matrix โดยยง่ิ เปน็ เสียงทด่ี งั มาก LED ทจ่ี ะตดิ ข้นึ บน LED Matrix กจ็ ะมจี าํ นวนมาก ข้นึ เชน่ กนั การทาํ งานของ mode = 2 (เมอื่ เซน เซอร์ IR ถกู กระตนุ้ ) จะทาํ การแสดง คา่ ปจั จบุ นั ของตวั แปร “highest” (คา่ ความดงั ของเสียงสงู สดุ ทว่ี ดั ได)้ เมอื่ ไมไ่ ดอ้ ยทู่ ่ี mode 1 หรอื 2 จะแสดง รูปหวั ใจบน LED Matrix ขั้นตอนท่ี 19 แฟลชโคด้ ทเ่ี สรจ็ สมบรู ณ์แลว้ เขา้ สู่ EDU:BIT ของเพอ่ื นๆ แลว้ เพอ่ื นๆกจ็ ะมเี ครอื่ ง วดั เสียงตบมอื ไวใ้ ชต้ อนแสดงโชวแ์ ลว้ !

มาเล่นกันเลย! เสียงปรบมอื ของใคร ดังกว่ากนั นะ? วิธกี ารเล่น : “ผเู้ ข้าแข่งขัน” จะไดเ้ วลาเตรยี มตวั สําหรบั การแสดงสั้นๆ โดยจะเปน็ การแสดงเดย่ี ว, คู่ หรอื กลมุ่ กไ็ ด้ โดยแตล่ ะทมี สามารถเลอื กไดว้ า่ จะทาํ การแสดงแบบใด ไมว่ า่ จะเปน็ รอ้ งเพลง, เตน้ หรอื เลา่ เรอ่ื งตลก โดยเมอ่ื ทกุ คนพรอ้ มแลว้ ใหแ้ ตล่ ะทมี เรม่ิ ทาํ การแสดงของตนเอง โดยหลงั จากแตล่ ะการแสดงเสรจ็ ส้ิน “ผชู้ ม”จะทาํ การปรบมอื ให้ ซง่ึ ยง่ิ เสียงปรบมอื ดงั เทา่ ไหร่ กแ็ ปลวา่ “ผชู้ ม”ชอบการแสดงนั้นมากเทา่ นั้น เมอื่ เสียงปรบมอื เงยี บลง ใหก้ ระตนุ้ เซนเซอร์ IR ทต่ี วั บอรด์ โดยการใชม้ อื เลอื่ นผา่ นหน้าตวั เซนเซอร์ เพอื่ ใหห้ น้าจอแสดงคา่ ระดบั เสียงสงู สดุ ทต่ี รวจจบั ไดแ้ ละไดบ้ นั ทกึ ไว้ อยา่ ลมื กดปมุ่ A เพอื่ รเี ซต็ คะแนนบนตวั บอรด์ กอ่ นเรม่ิ การแสดงถดั ไป ผชู้ นะคอื ผทู้ ไ่ี ดค้ ะแนนสงู ทส่ี ดุ !

ทาํ ความเขา้ ใจโค้ดโปรแกรม เมอื่ เพอื่ นๆมโี คด้ หลายส่วนในโปรแกรม เพอ่ื นๆสามารถทจ่ี ะใชบ้ ลอ็ กเหตกุ ารณ์เพอ่ื นเปลย่ี น การทาํ งานของโคด้ ได้ และเพอื่ การทาํ งานทร่ี าบลนื่ และตอ่ เนื่องของโปรแกรม เราสามารถใช้ forever loop ในการตรวจสอบการเปลย่ี นแปลงของ mode ปจั จบุ นั และทาํ งานตามบลอ็ ก เงอื่ นไขทไ่ี ดก้ าํ หนดไว้ ทาํ การตรวจสอบคา่ ของ mode ปจั จบุ นั อยเู่ สมอ และทาํ งานตามเงอ่ื นไขทไ่ี ดก้ าํ หนดไวเ้ มอ่ื มกี ารเปลย่ี นแปลง mode ตงั้ คา่ mode ให้เทา่ กบั 0 (standby mode เมอื่ เรม่ิ ตน้ ทาํ งาน) บลอ็ กเหตกุ ารณ์ทเ่ี กดิ ข้ึนทจ่ี ะ ใชใ้ นการสลบั mode หากเพอื่ นๆมี คาํ สั่งหรอื mode อน่ื ๆทต่ี อ้ งการเพ่มิ เพอ่ื นๆสามารถทจ่ี ะ เพ่มิ บลอ็ กเหตกุ ารณ์ทจ่ี ะชว่ ยในการสลบั mode การทาํ งานได้ เชน่ [on shake] (เมอ่ื บอรด์ ถกู เขยา่ ), [on sound level > _] (เมอ่ื เสียงดงั มากกวา่ ) โดยการกดเครอ่ื งหมาย (+) ในบลอ็ กเงอื่ นไข [if-then-else] จะทาํ ให้ สามารถเพ่มิ เงอ่ื นไขเขา้ ไปไดม้ ากข้นึ

สาระน่ ารู ้ เสียงถกู สรา้ งข้นึ มาเมอ่ื วตั ถมุ กี ารสั่นสะเทอื น เชน่ เมอื่ กลองถกู ตี ซง่ึ จะทาํ ใหโ้ มเลกลุ ของ อากาศบรเิ วณรอบๆกลองเกดิ การสั่นสะเทอื น และนั่นจงึ ทาํ ใหเ้ สียงเกดิ ข้นึ โดยเซนเซอรต์ รวจจบั เสียงนั้น ทาํ งานโดยอาศัยการตรวจจบั ความเขม้ ขน้ ของคลนื่ เสียง (ความดงั ของเสียง) แลว้ ทาํ การเปลย่ี นใหอ้ ยใู่ นรูปแบบของสัญญาณทางไฟฟา้ แอมพลิ ูจด เวลา เวลา แอมพลิ ูจด เสี ยงดงั เสี ยงเบา และเชน่ เดยี วกนั กบั หูของมนษุ ยท์ ม่ี กี ารทาํ งานใกลเ้ คยี งกบั เซนเซอรเ์ สียง โดยอาศัยการแปลงการสั่นสะเทอื นของอากาศใหก้ ลายเปน็ สัญญาณ ทางไฟฟา้ เคมที ส่ี มองของเราสามารถแปลงเปน็ เสียงใหเ้ รา ตรวจพบ สามารถรบั รูไ้ ด้ เสียงแลว้ ! ใครน่ ะ? เราสามารถนําไปประยกุ ตใ์ ชง้ านทาํ อะไรไดบ้ า้ งละ่ ? เซนเซอรต์ รวจจบั ผบู้ กุ รุกจากเสียง เปดิ -ปดิ ไฟดว้ ยเสียง เครอ่ื งตรวจจบั เสียงรอ้ งเดก็ เพอื่ นๆคดิ วา่ เซนเซอรต์ รวจจบั เสียง สามารถตรวจจบั เสียงในอวกาศไดห้ รอื เปลา่ นะ ได้ หรอื ไมไ่ ด?้

พวกเราขอทา้ ให.้ .. โปรแกรม EDU:BIT ให้ทาํ หน้ าทเ่ี ป็นเครอ่ื งตรวจวดั เสียงรบกวนภายในห้องเรยี น โดยแสดงสถานะความดังของเสียงผา่ น LED บน Traffic Light Bit เพ่ือแสดงความดัง ของเสียงในห้องเรยี น ณ ปัจจบุ นั ระดบั เสียงรบกวน ชว่ งความดงั LED บน ของเสี ยง Traffic Light Bit เสียงดงั มากเกนิ ไป กรุณา ( ) ถงึ 1023 ทจ่ี ะตดิ ข้ึน ลดเสียงลง ( ) ถงึ ( ) LED สีแดง เสียงเรม่ิ ดงั ระวงั LED สีเหลอื ง การใชเ้ สียงดว้ ย LED สีเขยี ว เสียงในระดบั ปกติ 0 ถงึ ( ) เคลด็ ลบั สําหรบั เพอื่ นๆ! ขอ้ ท่ี 1: เพอ่ื นๆจาํ เปน็ ทจ่ี ะตอ้ งกาํ หนดชว่ งความดงั ของเสียงแตล่ ะระดบั กอ่ นเรม่ิ เขยี นโคด้ ขอ้ ท่ี 2 : สําหรบั การตรวจวดั ทแ่ี มน่ ยาํ มากข้นึ เพอื่ นๆสามารถนําคา่ ทว่ี ดั ไดม้ าหาคา่ เฉลย่ี ไดน้ ะ งา่ ยไปหรอื เปลา่ ? ลองดโู จทยน์ ้ีดู ใหช้ ว่ งความดงั สามารถปรบั แตง่ ไดโ้ ดยการ หมนุ ตวั ตา้ นทานปรบั คา่ ได้ ลองดสู ิ ทาํ ไดห้ รอื เปลา่ ?

บทท่ี ทวสิ เตอรแ์ สนสนกุ DC Motor

บทท่ี 8 : ทวสิ เตอรแ์ สนสนกุ เร่มิ เขียนโปรแกรม ขั้นตอนท่ี 1 สรา้ งโปรเจก็ ตใ์ หมใ่ น MakeCode Editor ของคณุ และเพ่มิ ส่วนขยาย EDU:BIT (ทาํ ตอนขนั้ ตอนในหน้าท่ี 40) คลกิ เลอื กหมวดหมู่ [Input] ใน Toolbox เลอื กบลอ็ ก คาํ สั่ง [on button _ pressed] แลว้ นําไปวางใน Workspace ขั้นตอนท่ี 2 คลกิ เลอื กหมวดหมู่ [Motor&Servos] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [Run motor _ _ at speed _] และบลอ็ กคาํ สั่ง [Brake motor _] แลว้ นําไปวางภาพ แกไ้ ขคา่ “speed” ใหเ้ ทา่ กบั 80 ขั้นตอนท่ี 3 คลกิ เลอื กหมวดหมู่ [Basic] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [pause _] แลว้ นําไปวางระหวา่ ง บลอ็ กคาํ สั่ง [Run motor _ _ at speed _] และบลอ็ กคาํ สั่ง [Brake motor _] ดงั ภาพดา้ นลา่ ง

บทท่ี 8 : ทวสิ เตอรแ์ สนสนกุ ขั้นตอนท่ี 4 คลกิ เลอื กหมวดหมู่ [Math] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [pick random _ to _] แลว้ นําไปวางในบลอ็ กคาํ สั่ง [pause _] แลว้ แกไ้ ขคา่ ใหเ้ ทา่ กบั 200 และ 1000 ตามลาํ ดบั ดงั ภาพ ขั้นตอนท่ี 5 คลกิ เลอื กหมวดหมู่ [Music] ใน Toolbox เลอื กบลอ็ กคาํ สั่ง [start melody _ repeating _] ทาํ การเปลย่ี นเพลงทเ่ี ลน่ เปน็ เพลงชอื่ “ba ding” (หรอื เพลงใดๆกไ็ ดต้ ามตอ้ งการ) ขั้นตอนท่ี 6 แฟลชโคด้ โปรแกรมทเ่ี สรจ็ ส้ินลง EDU:BIT ของเพอื่ นๆไดเ้ ลย เราสามารถทจ่ี ะใชโ้ คด้ น้ีสําหรบั การสรา้ งเกมแบบใดกไ็ ดท้ ต่ี อ้ งอาศัยการส่มุ โดยการหมนุ วงลอ้ ซง่ึ โดยพน้ื ฐานแลว้ มอเตอรจ์ ะเรม่ิ หมนุ เมอื่ ถกู กระตนุ้ (trigger) และหยดุ เมอ่ื ผา่ นไปชว่ งเวลาหน่ึง (ระยะเวลาการหมนุ ทส่ี ่มุ ได)้

บทท่ี 8 : ทวสิ เตอรแ์ สนสนกุ ขั้นตอนท่ี 7 ทาํ การเชอ่ื มตอ่ มอเตอร์ DC เขา้ กบั เทอรม์ นิ ัล Motor 1 โดยนําสายไฟทไ่ี ดป้ ลอกปลายสาย แลว้ เสียบเขา้ ไป แลว้ ทาํ การขนั สกรูใหแ้ น่น จนมนั่ ใจวา่ สายไฟจะไมห่ ลดุ ออกมาได้ ลองกดปมุ่ สีเหลอื ง (ปมุ่ A) เพอื่ ทดสอบดวู า่ มอเตอรห์ มนุ ทาํ งานหรอื ไม่ ถา้ มอเตอรไ์ มห่ มนุ ลองดวู า่ สายเชอ่ื มตอ่ แน่นหรอื ไม่ หรอื ไดจ้ า่ ยไฟให้ กบั บอรด์ EDU:BIT หรอื ยงั ขั้นตอนท่ี 8 ใชก้ าวแรงสงู หรอื ปนื กาวในการยดึ ตวั มอเตอรเ์ ขา้ กบั ตรงกลางของวงลอ้ ทวสิ เตอร์ ดงั ภาพดา้ นลา่ ง ขั้นตอนท่ี 9 นําลกู ศรตดิ เขา้ กบั แผน่ พลาสตกิ วงกลมแลว้ นํา วงลอ้ ทวสิ เตอร,์ ลกู ศร และ แผน่ พลาสตกิ นั้นตดิ เขา้ กบั แกนของมอเตอรเ์ พอ่ื ใชใ้ นการ แผนทข่ี องเกมมใี ห้ในชดุ นะ ชไ้ี ปทส่ี ีบนวงลอ้

มาเล่นกันเลย! ทวิสเตอรแ์ สนสนกุ เตรยี มตวั ก่อนเล่น นําแผนทข่ี องเกมข้นึ มากางบนโตะ๊ ผเู้ ลน่ ทงั้ สองนั่งหนั หน้าเขา้ หากนั จาก คนละฝ่ งั ของโตะ๊ หากมผี เู้ ลน่ มากกวา่ น้ี ใหน้ ั่งทฝ่ี ่ งั ทเ่ี หลอื (ผเู้ ลน่ สงู สดุ 4 คน) กรรมการนั่งอยใู่ กลๆ้ พรอ้ มดว้ ยวงลอ้ ทวสิ เตอรท์ ส่ี รา้ งข้นึ มา วธิ กี ารเลน่ : ในเกมน้ี ผเู้ ลน่ ตอ้ งวางน้ิวของตนเองบนวงกลมสีในแผนทข่ี องเกมตามทก่ี รรมการกาํ หนด กรรมการทาํ หน้าทใ่ี นการกดปมุ่ สีเหลอื ง (ปมุ่ A) เพอ่ื ทาํ การหมนุ ลกู ศรเพอื่ ส่มุ สี แลว้ แจง้ สีท่ี ผเู้ ลน่ ตอ้ งเคลอ่ื นน้ิวไปวาง ยกตวั อยา่ ง: “น้ิวช้ี สีแดง” เมอ่ื ถงึ รอบของผเู้ ลน่ คนใด ใหท้ าํ ตามคาํ แนะนําของกรรมการ โดยการเคลอื่ นน้ิวไปวางบนวงกลม ตามสีทก่ี รรมการแจง้ และหากในกรณีทน่ี ้ิวนั้นๆของเพอ่ื นๆอยใู่ นวงกลมสีทก่ี รรมการแจง้ พอดี กต็ อ้ งทาํ การยา้ ยไปวงกลมอนื่ ทเ่ี ปน็ สีเดมิ ตามทก่ี รรมการแจง้ หากเพอ่ื นๆไมส่ ามารถทจ่ี ะเคลอ่ื นน้ิวไปวางทว่ี งกลมสีตามทก่ี รรมการแจง้ ได้ เพอ่ื นๆจะแพท้ นั ที ผเู้ ลน่ คนสดุ ทา้ ยทอ่ี ยใู่ นเกมน้ีเปน็ ฝา่ ยชนะ

ลองมาดบู ล็อกคําสงั่ อื่นๆกันนะ! เพอ่ื นๆสามารถใชบ้ ลอ็ กคาํ สั่ง [Math] ในการคาํ นวณทางคณิตศาสตร์ กบั ตวั แปรทต่ี อ้ งการ #1 ใชบ้ ลอ็ กดงั ภาพดา้ นลา่ งในการ บวก, ลบ, คณู หรอื หาร #2 เพอ่ื นๆสามารถใชบ้ ลอ็ ก [remainder of _ ÷ _] สําหรบั การหาวา่ เหลอื เศษเทา่ ไหร่ เมอื่ นําตวั เลขสองตวั ในบลอ็ กมาหารกนั ดงั ภาพ ยกตวั อยา่ ง เศษทเ่ี หลอื จากการหาร #2 เพอ่ื นๆยงั สามารถใชบ้ ลอ็ ก [remainder of _ ÷ _] สําหรบั การตรวจสอบวา่ ตวั เลขใด เปน็ “เลขค”ู่ หรอื “เลขค”่ี ได้ โดยการนําตวั เลขทต่ี อ้ งการตรวจสอบหารดว้ ย 2 โดยหาก เหลอื เศษเทา่ กบั 1 แปลวา่ เปน็ “เลขค”่ี แตห่ ากเหลอื เศษเทา่ กบั 0 แปลวา่ เปน็ “เลขค”ู่ เพ่ือนๆสังเกตหรอื ไมว่ า่ EDU:BIT จะแสดงคําวา่ “odd” เมอื่ เพื่อนๆ กดป่มุ A เป็นครงั้ แรก (1 = เลขค่ี) และแสดงคําวา่ “even” เมอื่ เพ่ือนๆกดป่มุ เป็นครงั้ ท่ี 2 (2 = เลขคู่) ดงั นั้น EDU:BIT จะแสดงคําวา่ อะไรหากเพื่อนๆกดป่มุ A ทงั้ หมด 99 ครงั้ ?

สาระน่ ารู ้ มอเตอรก์ ระแสตรงหรอื ท่รี ูจ้ กั กนั ในชอ่ื มอเตอร์ DC (DC motor) เป็นอุปกรณ์ทางไฟฟ้าท่หี มนุ โดย อาศั ยการแปลงพลังงานไฟฟ้าให้กลายเป็นพลังงานกล ในการใชง้ านนั้น เราตอ้ งจา่ ยแรงดันไฟฟ้าเข้าไปเพ่ือให้มอเตอรเ์ ร่มิ ทาํ งาน โดยเราสามารถ ควบคุมความเรว็ การหมนุ ของมอเตอรไ์ ดโ้ ดยการปรบั เปล่ยี นแรงดนั ไฟฟ้าท่จี า่ ยให้กบั มอเตอร์ โดยย่ิงแรงดนั ไฟฟ้าสูงเทา่ ไหร่ มอเตอรก์ จ็ ะย่งิ หมนุ เรว็ มากข้ึน โดยแรงดนั ไฟฟ้าทแ่ี นะนําสําหรบั มอเตอร์ DC ในชุด EDU:BIT นั้นอย่ทู ่ี 3.6V - 6V ข้อควรระวงั ! การจา่ ยแรงดนั ไฟฟ้าให้กบั มอเตอร์ (สงู กวา่ ระดบั แรงดนั ไฟฟ้าท่แี นะนํา) จะทําให้อายกุ ารใชง้ านของมอเตอร์ สั้ นลงได้ ไฟเตอื นแรงดนั ไฟฟ้าสงู เกนิ ไป เพ่ือนๆสามารถควบคุมทศิ ทางและความเรว็ การหมนุ ของมอเตอร์ DC ไดโ้ ดยอาศัย บล็อกโปรแกรมด้านลา่ งน้ี ทศิ ทางการหมนุ ค่าทบ่ี ่งบอกถึงความเรว็ การหมนุ ของ มอเตอร์ โดยเร่มิ ตงั้ แต่ 0 ถึง 255 มเี ทอรม์ นิ ัลเชอ่ื มตอ่ มอเตอรบ์ น โดยย่งิ มคี ่ามากเทา่ ไหร่ มอเตอรก์ ็ EDU:BIT 2 ตาํ แหน่ง โดยเลอื ก จะย่ิงหมนุ เรว็ ข้ึนมากเทา่ นั้น ตาํ แหน่งมอเตอรท์ ต่ี อ้ งการควบคุม ไดท้ นี ่ี เพ่ือนๆรูห้ รอื เปลา่ นะ EDU:BIT มปี ่มุ สําหรบั กดทดสอบการทํางานของ มอเตอรด์ ว้ ยนะ! กดป่มุ สีขาว (ท่เี ขียนวา่ M1A,M1B,M2A และ M2B) เพ่ือ ตรวจสอบการเชอื่ มตอ่ สายไฟและการทํางานของมอเตอรว์ า่ สามารถทํางาน ไดต้ ามปกติ

พวกเราขอทา้ ให.้ .. โปรแกรม EDU:BIT ให้ทาํ หน้ าท่เี ป็นพัดลมทส่ี ามารถสั่ง เปิด-ปิดดว้ ยเสียงได้ และสามารถควบคุมความเรว็ การหมนุ ไดด้ ว้ ย Potentio Bit On start แสดงไอคอนรูปหัวใจ (หรอื ไอคอนใดๆกไ็ ด้) ตงั้ ค่าตวั แปรโหมด เทา่ กบั 0 On sound level > _ ตงั้ ค่าตวั แปรโหมด เทา่ กบั 1 (ค่าท่กี าํ หนดไว)้ Forever ตงั้ ค่าตวั แปร ‘Speed’ ให้สัมพันธก์ บั ค่าทอ่ี ่านไดจ้ าก potentiometer ซ่งึ คือค่าในชว่ ง 0 ถึง 1023 ให้เป็น ค่าทอ่ี ยใู่ นชว่ ง 0 ถึง 255 ทาํ การตรวจสอบโหมดปัจจบุ ันตลอดเวลา ถ้าตวั แปร Mode มคี ่าเป็นเลขคู่ ทาํ การหยดุ การ ทาํ งานของมอเตอร์ M1 ถ้าตวั แปร Mode มคี ่าเป็นเลขค่ี เร่มิ สั่งการให้ มอเตอร์ M1 ทาํ งาน โดยความเรว็ การหมนุ จะ ข้ึนอย่กู บั ค่าตวั แปร ‘Speed’ (ซ่งึ มคี วามสัมพันธ์ กบั ค่าทอ่ี ่านไดจ้ าก potentiometer) เคลด็ ลบั สําหรบั เพื่อนๆ ข้อท่ี 1 : เพ่ือนๆตอ้ งกําหนดระดบั เสียงท่ตี อ้ งการให้มอเตอร์ เร่มิ ทาํ งาน (ค่าของตวั แปร thershold) ข้อท่ี 2 : เพื่อนๆตอ้ งสรา้ งตวั แปร 2 ตวั คือ Mode และ Speed ข้อท่ี 3 : เมอ่ื เชอื่ มตอ่ ใบพัดของพัดลมเข้ากบั แกนของมอเตอร์ แลว้ สั่งให้มอเตอรห์ มนุ แลว้ พบวา่ ไมม่ ลี มออกมาทางดา้ นหน้าของ พัดลม ให้เพื่อนๆทาํ การสั่งให้มอเตอรห์ มนุ ในทศิ ทางตรงกนั ข้ามแทน


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook