หมายเหตุ: วิธีการติดตั้งที่แตกต่างกันอาจส่งผลให้มุมเริ่มต้นของเซอร์โวแตกต่างกัน เราอาจจะยังไม่ติดตั้งถังยกของ และทดสอบโค้ดกับมอเตอร์เปล่าๆ ก่อน จนเข้าใจหลักการแล้ว จึงค่อยประกอบถังตักเข้ากับมอเตอร์ก็ได้
สกรูขนาด 2.5*5 mm 2 ตัว
ลองต่อ servo เข้ากับพอร์ต S1 ที่รถ maqueen
แล้วเขียนโค้ดดังนี้
โหลดใส่ microbits
จากนั้นเสียบ microbits ไปที่รถ
เปิดสวิทช์ และทดสอบกดปุ่ม A บน microbits จะทำให้ servo หันไปที่ 90 องศา
จากนั้นจึงค่อยประกอบขั้นที่ 2
สกรูขนาด 3*5 mm 3 ตัว
ใน microbit make code ให้โหลด extension โดยเลือกคำสั่ง extension
2. แล้วคัดลอกลิ้งค์นี้ ลงไปวางในช่องค้นหา
https://github.com/DFRobot/pxt-maqueen
3. คลิกเลือก maqueen เพื่อติดตั้ง extension
4. กลับไปหน้าหลัก จะปรากฎกลุ่มคำสั่ง IR และ Maqueen ขึ้น
สร้างตัวแปร (variable) ตั้งชื่อว่า angle
หยิบคำสั่ง set จากกลุ่ม variable มาใส่ใน on start
ใส่ค่า 90 ในคำสั่ง set angle
หยิบคำสั่ง servo จากกลุ่ม Maqueen มาใส่
หยิบแคปซูลชื่อ angle จากกลุ่ม variable มาใส่ในบล๊อก servo S1 angle
6. จากกลุ่ม IR หยิบ on IR received message มาวาง
เป็นคำสั่งควบคุมว่า เมื่อได้รับข้อความผ่านสัญญาณอินฟาเรด คำสั่งที่ใส่อยู่ภายในบล๊อกนี้ จะทำงาน
(เมื่อหยิบบล๊อก on IR received มาวาง จะเกิดตัวแปรใหม่ชื่อ message ขึ้นมาให้โดยอัตโนมัติ)
7. สร้างตัวแปรใหม่ ชื่อ IR
8. หยิบคำสั่ง set จากกลุ่ม variable มาใส่ใน on IR received
9. นำตัวแปร message มาใส่ในบล๊อก set IR to เพื่อกำหนดให้ตัวแปร IR มีค่าเท่ากับตัวแปร message (ค่าที่ได้รับจากรีโมทอินฟาเรด)
"วิ่งไปข้างหน้า"
10. ต่อจากนั้น เขียนคำสั่งตรวจสอบ ด้วย if ว่าถ้าค่าที่ตัวแปร IR ได้รับมาจากรีโมทอินฟาเรด เท่ากับ 17 จะให้รถเดินหน้า (มอเตอร์ล้อทั้งสองข้าง หมุนไปข้างหน้า ความเร็ว 200)
"หมุนไปทางซ้าย"
11. ตามด้วยคำสั่งตรวจสอบค่าในตัวแปร IR หากเท่ากับ 20 จะให้รถหมุนไปทางซ้าย (มอเตอร์ซ้ายไม่ต้องหมุน มอเตอร์ขวาหมุนเดินหน้า ความเร็ว 100)
"หมุนไปทางขวา"
12. ตามด้วยคำสั่งตรวจสอบค่าในตัวแปร IR หากเท่ากับ 22 จะให้รถหมุนไปทางซ้าย (มอเตอร์ขวาไม่ต้องหมุน มอเตอร์ซ้ายหมุนเดินหน้า ความเร็ว 100)
"วิ่งถอยหลัง"
12. ตามด้วยคำสั่งตรวจสอบค่าในตัวแปร IR หากเท่ากับ 25 จะให้รถเดินถอยหลัง (มอเตอร์ทั้งสองข้าง หมุนถอยหลัง ความเร็ว 200)
"หยุดการเคลื่อนที่"
13. ตามด้วยคำสั่งตรวจสอบค่าในตัวแปร IR หากเท่ากับ 12 จะให้รถหยุดอยู่กับที่ (มอเตอร์ทั้งสองข้าง หยุดหมุน)
"ยกถังตักขึ้น"
13. ตามด้วยคำสั่งตรวจสอบค่าในตัวแปร IR หากเท่ากับ 10 (มีการกดปุ่มลูกศรขึ้น บนรีโมทอินฟาเรด)
ก็จะตรวจสอบต่อไปว่า ถ้าตัวแปร angle มีค่ามากกว่า 10
กำหนดให้ servo มอเตอร์ ซึ่งเสียบที่พอร์ท S1 ปรับไปที่มุมเท่ากับค่าตัวแปร angle
จากนั้น ลดค่าในตัวแปร angle ลง 1 หน่วย
และพอซ เป็นเวลา 100 millisecond ทำให้มอเตอร์ทำงาน 100 เสี้ยววินาทีแล้วหยุด
(ทุกครั้งที่กดรีโมทปุ่มลูกศรขึ้น ถ้ามอเตอร์ยังมีองศามากกว่า 10 ก็จะยกขึ้น)
"ลดถังตักลง"
13. ตามด้วยคำสั่งตรวจสอบค่าในตัวแปร IR หากเท่ากับ 8 (มีการกดปุ่มลูกศรขึ้น ลงรีโมทอินฟาเรด)
ก็จะตรวจสอบต่อไปว่า ถ้าตัวแปร angle มีค่าน้อยกว่า 170
กำหนดให้ servo มอเตอร์ ซึ่งเสียบที่พอร์ท S1 ปรับไปที่มุมเท่ากับค่าตัวแปร angle
จากนั้น เพิ่มค่าในตัวแปร angle อีก 1 หน่วย
และพอซ (หยุดทำงาน) เป็นเวลา 100 millisecond
(ทุกครั้งที่กดรีโมทปุ่มลูกศรลง ถ้ามอเตอร์ยังมีองศาน้อยกว่า 170 ก็จะยกลง)
ลิ้งอ้างอิง https://edu.dfrobot.com/makelog-308457.html