ลงมือเขียนโค้ด ทดสอบกับอีมูเลเตอร์จากนั้นเขียนคำ สั่งที่ใช้ลงในกรอบ
การพัฒนาต่อยอดโปรแกรมเข็มทิศ (Digial Compass Enhanced) จากกิจกรรมที่ 13 ที่เราเรียรีนรู้เรื่อรื่งการใช้งานเข็มทิศดิจิทัลกันแล้ว เรามาทำ กิจกรรมกันต่อเพื่อให้โปรแกรมมีลูกเล่นมากขึ้นจากความรู้ สำ คัญที่เราเรียรีนเพิ่มเติมในกิจกรรมที่ 15 และ 16 และหวังวัเป็นอย่างยิ่ง ว่าว่กิจกรรมนี้จะเป็นตัวอย่างของการประยุกต์ใช้ไมโครบิตให้นักเรียรีน เห็นภาพตั้งแต่เริ่มริ่ต้นจนขยายลูกเล่นของโปรแกรมขึ้นไปได้อีกมากมาย เพื่อที่นักเรียรีนจะสามารถคิดทำ โครงงานตามที่นักเรียรีน ต้องการได้ด้วย ตัวเอง หรือรือาจจะมีคุณครูช่วยเพียงเล็กน้อยเท่านั้น หมายเหตุ: ในแต่ละขั้นตอน หากการใช้งานจริงริของเข็มทิศถูก รบกวนจากสนามแม่เหล็ก หรือรืสิ่ง อื่น ๆ อาจจะทำ ให้มีปัญหาเวลา นักเรียรีนคิดได้ เนื่องจากนักเรียรีนอาจจะไม่ทราบว่าว่ ปัญหานั้นมาจาก โปรแกรมที่นักเรียรีนเขียนเองหรือรืมาจากปัญหาอื่น คุณครูอาจจะแนะนำ ให้นักเรียรีนพยายามเขียนโปรแกรมโดยดูจากอีมูเลเตอร์เป็นหลักให้ได้ ก่อน การใช้อีมูเลเตอร์จะช่วยทำ ให้นักเรียรีนเขียนโปรแกรมในแต่ละขั้นได้ อย่างรวดเร็ว เมื่อเขียนและทดสอบในอีมูเลเตอร์เสร็จเรียรีบร้อยแล้วค่อย ทำ การอัปโหลดลงในไมโครบิตเพื่อทดสอบเป็นขั้นสุดท้าย
การพัฒนาต่อยอดโปรแกรมเข็มทิศ (Digital Compass Enhanced) จุดประสงค์การเรียรีนรู้: เรียรีนรู้การพัฒนาต่อยอดโปรแกรมเข็มทิศให้ ถูกใจผู้ใช้มากยิ่งขึ้น กิจกรรมที่ 19.1 เข็มทิศ version 1 ทดสอบความรู้จากกิจกรรมที่13 เขียนโปรแกรมเพื่อดึงค่าของทิศทางออกมาแสดงผล โดยใช้คำ สั่ง จากนั้นวาดภาพคำ สั่งที่ใช้ทั้งหมดลงในกรอบ
บันทึกค่าที่ได้จากการอ่าน ค่าที่มากที่สุด ค่าที่น้อยที่สุด หน่วย ทดสอบการใช้งานอีมูเลเตอร์ โดยการหมุนโลโก้ไมโครบิต ทดสอบการใช้งานโดยการอัปโหลดลงในไมโครบิต การใช้งาน Digital Compass ครั้งแรก ไมโครบิตจะทำ การ calibrate ทิศทางต่าง ๆ ของตัวเองโดยให้เราทำ การค่อย ๆ เอียง ไมโครบิตเพื่อให้ไฟ LED ติดครบทั้ง 25 ดวงไมโครบิตจะทำ การร้องขอ ให้ calibrate เป็นระยะเหมือนกับ Digital Compass ในโทรศัพท์มือ ถือหากนักเรียรีนมีโทรศัพท์มือถืออยู่ใกล้ตัว ลองเปิดโปรแกรมเข็มทิศดูว่าว่ มีหน้าจอแบบนี้หรือรืไม่
กิจกรรมที่ 19.2 เข็มทิศ version 2 ออกแบบโปรแกรมที่สามารถบอกตัวอักษรแสดงทิศทาง N S E W แทนตัวเลข วางแผนเกี่ยวกับมุมต่าง ๆ ที่สำ คัญ 360,0 N E S W 45 90 135 180 225 270 315 N = North ทิศเหนือ E = East ทิศตะวัน วั ออก S = South ทิศใต้ W = West ทิศตะวัน วั ตก
เขียน fow chart แสดงขั้น ตอนการทำ งานของ โปรแกรมเข็มทิศ ลงมือเขียนโค้ด ทดสอบกับ อีมูเลเตอร์จากนั้นเขียนคำ สั่ง ลงในกรอบ
ทดสอบการใช้งานจากอีมูเลเตอร์ โดยการหมุนโลโก้ไมโครบิต ผลการทดสอบ ทดลองโหลดลงไมโครบิต ผลการทดสอบ ความแม่นยำ ของทิศทางขีนอยู่กับ การcalibrate และสภาพแวดล้อม ในการใช้งานถ้ามีสนามแม่เหล็ก ภายนอกรบกวนอาจจะทำ ให้เข็มทิศ รวนได้ กิจกรรมที่ 19.3 เข็มทิศ version 3 จากกิจกรรมที่ 19.2 ให้นักเรียรีนบอกตัวอักษรแสดงทิศทาง 8 ทิศ โดยเพิ่ม NE SE NW SW NE = North East ทิศตะวันออกเฉียงเหนือ SE = South East ทิศตะวันออกเฉียงใต้ NW = North West ทิศตะวันตกเฉียงเหนือ SW = South West ทิศตะวันตกเฉียงใต้
วางแผนมุมต่าง ๆ ที่สำ คัญ N E S W เขียน fow chart แสดงขั้นตอนการทำ งานของโปรแกรมเข็มทิศ
ลงมือเขียนโค้ด ทดสอบกับอีมูเลเตอร์จากนั้นเขียนคำ สั่งที่ใช้ลงใน กรอบ
ทดสอบการใช้งานจากอีมูเลเตอร์ โดยการหมุนโลโก้ไมโครบิต ผลการทดสอบ ทดลองโหลดลงไมโครบิต ผลการทดสอบ สรุปสิ่งที่ได้เรีย รี นรู้
บทที่ 5 ตรวจจับความเร่งและ อากัปกิริย ริ า
ในบทนี้จะลองมาใช้เซ็นเซอร์บน micro:bit เพื่อตรวจจับความเร่ง ขณะที่ บอร์กำ ลังเคลื่อนที่ หรือรืวางบอร์ดเอียงในทิศทางต่างๆ บอร์ด micro:bit มี เซ็นเซอร์สำ หรับวัดวัค่าต่างๆ เช่น วัดวัความเร่ง ความสว่าว่งแสง อุณหภูมิและ ความเข้มของสนามแม่เหล็ก ซึ่งในบทนี้ เราจะมาเรียรีนรู้เพื่อใช้งานเซ็นเซอร์ วัดวัความเร่ง หรือรื accelerometer กัน บทเรีย รี นที่ 5 การอ่านค่าเซนเซอร์ ชิปที่ใช้วัดวัความเร่งบนบอร์ดmicro:bit คือ FreescaleMMA8653Fc ซึ่งสามารถวัดวัความเร่งได้ 3 แกน คือ แกน X, Y และ Z (แนวดิ่ง) ภาพ ข้างบน แสดงความเร่งตามแนวแกนทั้งสามและค่าจะเป็นบวกหรือรืลบขึ้นกับ ทิศทางที่เคลื่อนที่ เช่น หากบอร์ดเคลื่อนที่ไปทางตามแกน X แต่ทิศทางมุ่ง ไปทางปุ่ม ปุ่ A ค่าความเร่งตามแกน X ก็จะมีค่าติดลบ เป็นต้น เพราะความเร่งจากแรงดึงดูดของโลกนี่เองหากเราอ่านค่าความเร่งของ แต่ละแกน ก็จะทำ ให้ทราบว่าว่กำ ลังวางบอร์ดในลักษณะใด เช่น ความเร่งแกน Y ประมาณ -1000mg แสดงว่าว่ตั้งบอร์ดให้โลโก้อยู่ข้างบน ความเร่งแกน Z ประมาณ แสดงว่าว่วางบอร์ดให้LED คว่ำ ลง
เพื่อความสะดวกในการใช้งาน ใน Makecode ได้เตรียรีมบล็อกอีเวนต์ สำ หรับตรวจจับการวางบอร์ดไว้ใว้ห้แล้ว ซึ่งเราจะลองเขียนโค้ดง่ายๆ เพื่อ เรียรีนรู้การใช้งานกัน 1. คลิกเลือกที่กลุ่ม input (อินพุต) จากนั้นลากอีเวนต์ on shake มาวาง ในพื้นที่เขียนโค้ด 2. คลิกที่ shake แล้วเปลี่ยนเป็นอีเวนต์ logo up
3. คลิกที่ Basic และ More เลือก คำ สั่ง show arrow จากนั้นลากมาวาง ไว้ใว้น logo up คำ สั่ง show arrow ใช้แสดงภาพลูกศรในทิศทางต่างๆ ซึ่งมีให้เลือก 8 ทิศด้วยกัน คือ North, North East, East, South East, South, South West, West และ North West ก๊อปปี้โค้ดของอีเวนต์ logo up มาอีก 4 ชุดแล้วเปลี่ยนให้เป็นอีเวนต์ logo down, tilt left และ tilt right ส่วน show arrow ก็เปลี่ยนทิศลูกศร ตามตัวอย่าง
สำ หรับอีเวนต์ Screen up และ Screen down นั้น ให้ใส่ Show icon แล้วกำ หนดภาพ ไอคอนตามชอบ บนบอร์ดจำ ลอง เราสามารถเลื่อนเมาส์ไปชี้ที่ด้านทั้งสี่ของบอร์ด (ไม่ต้อง คลิก) เพื่อทดสอบ การทำ งานของโค้ดว่าว่แสดงภาพถูกต้องหรือรืไม่ เกมโยนเหรีย รี ญ หลังจากที่เราได้ทดลองใช้อีเวนต์ทั้ง 6 อย่างไปแล้ว ในอีเวนต์ที่เหลือในอีเวนต์ on shake ซึ่งเป็นอีเวนต์ที่เกิดขึ้นเมื่อทำ การเขย่าบอร์ด micro:bit โดยจะ นำ อีเวนต์มาสร้างเป็นเกมง่ายๆ อย่างการโยนเหรียรีญให้ออกหัวหรือรืก้อย และ เกมทอดลูกเต๋า เรามาเริ่มริ่ที่เกมโยนเหรียรีญก่อนเลยหลักการก็ไม่ยาก คือ เมื่อ เราเขย่าบอร์ด ก็จะมีการสุ่มค่า (random) ขึ้นมาจาก 2 ค่า คือ หัวหรือรืก้อย แล้วแสดงผลเป็น H หากออกหัว และ T หากออก ก้อย
1. นำ show icon มาใส่ในอีเวนต์ on start เลือกรูปไอคอนรูปอะไรก็ได้ จากนั้นคลิกกลุ่ม Input หน้าอีเวนต์ on shake มาวาง 2. ในกลุ่ม Logic เลือกคำ สั่ง if then else นำ มาใส่ในอีเวนต์ on shake
3. คลิกกลุ่ม Math เลือกคำ สั่ง pick random true or false มาต่อกับ คำ สั่ง if 4. แล้วนำ show string “H” ใส่ในช่อง then และ show string “T” ใส่ในช่อง else บล็อกนี้จะสุ่มหรือรื random เพียง 2 ค่า คือ True และ False เท่านั้น
เมื่อใส่โค้ดเสร็จเรียรีบร้อยแล้ว สามารถทดสอบการทำ งานของโค้ด โดยใช้ เมาส์คลิกที่ SHAKE บนบอร์ดจำ ลอง การคลิกแต่ละครั้งก็จะแสดง H หรือรื T แบบสุ่มเสร็จแล้วนำ ไปทดลองบนบอร์ดจริงริแล้วลองเขย่าดู เกมทอยลูกเต๋า ลูกเต๋าเป็นอุปกรณ์ที่มักใช้ร่วมกับเกมต่างๆ ลองสร้างลูกเต๋าบน micro:bit แล้วนำ ไปใช้เล่น เกมต่างๆ 1. นำ Show icon มาใส่ในอีเวนต์ on start เลือกรูปไอคอนรูปไหนก็ได้
2. คลิกที่กลุ่ม Variables (ตัวแปร) คลิกเลือก Make a Variable ตั้งชื่อ ตัวแปรใหม่ ชื่อว่าว่ item แล้วคลิกที่ปุ่ม ปุ่ OK 3. นำ มาต่อจาก show icon 4. คลิกชื่อตัวแปร แล้วเลือก Rename variable แล้วท าการเปลี่ยนชื่อ ตัวแปรเป็น Dice
ก็จะได้คำ สั่ง 5. คลิกที่ Input เลือกอีเวนต์ on shake ลางมาวาง แล้วคลิกเลือก กลุ่ม variable น า set Dice to มาวางในอีเวนต์ on shake 6. คลิกที่กลุ่ม Math เลือกอี เวนต์มาวางในset Dice ต่อจาก to แล้วเปลี่ยนค่าให้ตัวแปร Dice เป็น 0 to 5
ขั้นต่อไป จะเขียนโค้ดเพื่อแสดงหน้าลูกเต๋า ตามค่าในตัวแปร Dice โดยใช้ บล็อก if then else ใน การตรวจสอบตัวเลขที่สุ่มได 7. คลิกกลุ่ม Logic นำ if then else มาต่อ และนำ เครื่อรื่งหมาย = มาสร้าง เงื่อนไข
8. นำ show leds มาใส่ในช่อง then วางลูกเต๋าหน้า 1 ความหมายของโค้ดนี้ คือ หากค่าที่ สุ่มได้ มีคาเป็น 0 ให้ ่แสดงลูกเต๋า หน้า 1 ดังนั้น เราจะต้องสร้างเงื่อน ไขเพิมเพื่อตรวจสอบค่าในตัวแปร Diceและแสดงลูกเต๋าหน้าอื่นๆ 9. คลิกที่ปุ่ม ปุ่ ในบล็อก if จะเพิ่มคำ สั่ง else if เข้ามาในบล็อกให้ ทำ การเพิ่มอีก 4 บล็อก เพื่อเพิ่มช่องเงื่อนไข
10.คัดลอกเงื่อนไขมาต่อในช่อง else if โดยเปลี่ยนให้เปรียรีบเทียบกับ ตัวเลข 1 , 2 , 3 และ 4 ในการตรวจสอบเงื่อนไขของ if แบบ else if และ else นี้ จะเริ่มริ่ตรวจสอบเงื่อนไขแรก ก่อน หากเป็นเท็จ ก็จะตรวจสอบ เงื่อนไขถัดลงมา จนถึงเงื่อนไขสุดท้าย หากเป็นเท็จ ทั้งหมดก็จะทำ ตามคำ สั่งในช่อง else ทันที
11.นำ show leds อีก 5 บล็อกมาใส่ในช่อง then และ else จากนั้น กำ หนดหน้าลูกเต๋าของ บล็อก show leds จากนั้นกำ หนดหน้าลูกเต๋าของ บล็อก show leds แต่ละบล็อก เท่านี้โค้ดของเราก็เรียรีบร้อยแล้วเรา สามารถทดสอบ การทำ งานของโค้ดโดย ใช้เมาส์คลิกที่ SHAKE บนบอร์ดจำ ลง หน้าลูกเต๋าที่เปลี่ยนไปแบบสุ่มนี้ทำ ให้ เราสามารถนำ ไปใช้เล่นเกมส์ หรือรืใช้ เรียรีนเรื่อรื่งความน่าจะเป็นก็ได้
บทที่ 6 การวัด วั อุณหภูมิและความสว่าว่งของแสง นอกจาเราใช้ micro:bit วัดวัความเร่งและความแรงสนามแม่เหล็กได้แล้ว เรายังสามารถวัดวัอุณหภูมิ และความสว่าว่งของแสงได้ด้วย เซ็นเซอร์วัดวัอุณหภูมิ บนบอร์ด micro:bit จะมีเซ็นเซอร์วัดวัอุณหภูมิของซีพียู ผู้ออกแบบจังใช้ เซ็นเซอร์นี้วัดวัอุณหภูมิภายนอกด้วย การอ่านค่าอุณหภูมินั้น เราจะใช้บล็อก temperature ในกลุ่ม input ซึ่ง ค่าที่อ่านได้นั้นจะเป็น องศาเซลเซียส โดยเราจะใช้ WhaleySans Font มาใช้เพื่อแสดงเลข 2 หลัก 1. นำ on start จากชุดคำ สั่ง basic ออกมา
2. จากนั้นสร้างตัวแปรโดยให้ตัวแปรมีชื่อว่าว่mode แล้วดึงบล็อกคำ สั่ง set mode to … มาใช้ พร้อมกำ หนดค่าเริ่มริ่ต้นเป็น
3. กำ หนดค่าเริ่มริ่ต้นเป็น true โดยใช้บล็อกคำ สั่งจากชุดคำ สั่ง Logic เรา จะใช้ตัวแปรนี้ในการ กำ หนดว่าว่จะแสดงผลเป็นตัวเลขหรือรืเป็นกราฟ **True = ตัวเลข, false = กราฟ** 4. จะใช้ปุ่ม ปุ่ A ในการสลับโหมด ดังนั้นเราจะใช้บล็อกคำ สั่ง on button A pressed จากชุดคำ สั่ง Input
5. นำ บล็อกคำ สั่ง set mode to … ที่เราสร้างไว้ตว้อนแรกมาต่อแล้วใช้ บล็อกคำ สั่ง not มาช่วยเพื่อทำ ให้ค่าตรรกะเปลี่ยนไปเปลี่ยนมา 6. นำ บล็อกคำ สั่ง stop animation มา เพื่อใช้หยุดการแสดงผลต่างๆ บนบอร์ด
7. สร้างตัวแปรใหม่ให้ชื่อชื่อว่าว่ temp เพื่อเก็บค่าอุณหภูม 8. ใช้บล็อกคำ สั่ง forever ในชุดคำ สั่ง basic เพื่อให้ทำ งานวนซ้ำ ไป ตลอด แล้วนำ ตัวแปร temp ที่สร้างขึ้นมาใส่นำ บล็อก temperature มา ใช้เพื่ออ่านค่าอุณหภูมิ