สารบัญ:
- ขั้นตอนที่ 1: คัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
- ขั้นตอนที่ 2: ตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
- ขั้นตอนที่ 3: การเพิ่มส่วนขยายของเซอร์โว
- ขั้นตอนที่ 4: การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
- ขั้นตอนที่ 5: การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 2)
- ขั้นตอนที่ 6: การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 3)
วีดีโอ: [2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
หากคุณมี micro:bits (x2) สองตัว คุณคิดจะใช้พวกมันเพื่อควบคุมรถ RC จากระยะไกลหรือไม่? คุณสามารถควบคุมรถ RC ได้โดยใช้ micro:bit ตัวหนึ่งเป็นตัวส่งสัญญาณ และอีกตัวหนึ่งเป็นตัวรับ
เมื่อคุณใช้เครื่องมือแก้ไข MakeCode เพื่อเข้ารหัส micro:bit คุณจะพบส่วนขยายชื่อ Radio ซึ่งอนุญาตให้หนึ่งใน micro:bit ของคุณออกอากาศข้อมูลทางอากาศไปยัง micro:bit อื่นในกลุ่มเดียวกัน คุณสามารถส่งและรับข้อมูลโดยใช้ส่วนขยายวิทยุสำหรับหลายโครงการได้อย่างง่ายดาย
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ micro:bits สองตัว (x2) เพื่อควบคุมรถ RC จากระยะไกล เราจะตรวจสอบขั้นตอนในการตั้งค่า micro:bits สองตัว (x2) และใช้เครื่องมือแก้ไข MakeCode เพื่ออธิบายว่าไฟล์ตัวอย่างถูกเข้ารหัสอย่างไร คุณสามารถดาวน์โหลดโค้ดตัวอย่างที่พร้อมเล่นในโปรเจ็กต์นี้ และคุณไม่จำเป็นต้องกังวลเกี่ยวกับการเข้ารหัสทุกอย่างตั้งแต่เริ่มต้น คุณสามารถปรับแต่งโค้ดตัวอย่างในภายหลังได้เสมอเพื่อจุดประสงค์ในการเรียนรู้ของคุณเอง
เสบียง:
มาเริ่มกันเลย! สำหรับตัวส่งและตัวรับ เราจะใช้ micro:bits (x2) สองตัว สำหรับแบตเตอรี่ เราขอแนะนำให้ใช้แบตเตอรี่ AA และ AAA 1.5V แบบใช้ครั้งเดียวและใหม่
- ไมโคร:บิต x2
- กล่องแบตเตอรี่ x1
- แบตเตอรี่ AAA 1.5V x2 (สำหรับเคสแบตเตอรี่)
สำหรับรถของเล่นในโครงการนี้ เราจะใช้รถ Valenta Off-Roader RC Valenta Off-Roader เป็นรถ RC ที่ขับเคลื่อนด้วยไมโครบิต เข้ากันได้กับ Lego Technic และติดตั้งมอเตอร์เกียร์ขนาดเล็กสองตัว (x2) ที่ล้อหลังและเซอร์โวบังคับเลี้ยวในตัวหนึ่งตัว (x1) ตามกลไกแขนสมดุลของ Roberval
- รถออฟโรด Valenta x1
- แบตเตอรี่ AA 1.5V x4 (สำหรับรถยนต์)
คุณยังสามารถดูคำแนะนำในการประกอบรถได้อีกด้วย
ขั้นตอนที่ 1: คัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
สำหรับโครงการนี้ เราได้เตรียมไฟล์ตัวอย่าง MakeCode ที่คุณสามารถดาวน์โหลดลงในคอมพิวเตอร์ของคุณได้ เนื่องจากไฟล์ตัวอย่างเหล่านี้พร้อมที่จะเล่น คุณจึงสามารถเริ่มเล่นได้ทันที
ในขั้นตอนนี้ โปรดดาวน์โหลดไฟล์ Transmitter.hex และไฟล์ Receiver.hex เชื่อมต่อคอมพิวเตอร์และ micro:bit ผ่านสาย USB แล้วคัดลอกแต่ละไฟล์ไปยัง micro:bit ทีละไฟล์
ขั้นแรก ให้ลากและวางไฟล์ Transmitter.hex ลงใน micro:bit แล้วใช้เป็น "transmitter" micro:bit
ประการที่สอง ลากและวางไฟล์ Receiver.hex ไปที่ micro:bit อื่นแล้วใช้เป็น "receiver" micro:bit
เมื่อคุณคัดลอกไฟล์ตัวอย่างไปยัง micro:bit แล้ว ให้ยกเลิกการเชื่อมต่อจากคอมพิวเตอร์ของคุณ
เชื่อมต่อกล่องใส่แบตเตอรี่กับ micro:bit "ส่งสัญญาณ" แล้วเปิดเครื่อง (หรือคุณยังสามารถจ่ายไฟให้ "ส่งสัญญาณ" micro:bit ได้โดยเชื่อมต่อกับคอมพิวเตอร์ผ่านสาย USB)
ติดตั้งไมโคร "เครื่องรับ": บิตบนรถของคุณและเปิดสวิตช์ไฟบนตัวควบคุมมอเตอร์
ขั้นตอนที่ 2: ตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
เครื่องส่งสัญญาณ.hex
ตอนนี้เราจะตรวจสอบไฟล์ตัวอย่าง Transmitter.hex เปิดตัวแก้ไข MakeCode แล้วคลิกปุ่มนำเข้า เปิดไฟล์ Transmitter.hex ที่คุณได้คัดลอกไปยัง "transmitter" micro:bit
เมื่อเริ่มต้นบล็อก
บล็อกนี้จะถูกเรียกในตอนแรกเมื่อเปิด "เครื่องส่งสัญญาณ" micro:bit ในส่วนขยายวิทยุ คุณสามารถค้นหากลุ่มชุดวิทยุบล็อกและตั้งค่า 1 ไว้ ตัวเลขนี้ต้องเหมือนกันสำหรับ micro:bit "transmitter" และ "receiver" micro:bit เพื่อให้สามารถจับคู่กันเพื่อการสื่อสารได้
ไฟล์นี้ใช้คุณสมบัติมาตรความเร่ง การเอียง micro:bit "เครื่องส่งสัญญาณ" ของคุณลง ขึ้น ขวา หรือซ้าย จะเป็นการส่งสตริงวิทยุของสตริง "goForward" "goBackward" "goRight" หรือ "goLeft" ไปยัง micro:bit "เครื่องรับ" ของคุณ
บนโลโก้ลงบล็อก
ในฟังก์ชันป้อนข้อมูล คุณจะพบบล็อกบนโลโก้ด้านล่าง บล็อกนี้จะดำเนินการเมื่อใดก็ตามที่คุณเอียง "ตัวส่งสัญญาณ" micro:bit ลงหรือไปข้างหน้า ในบล็อกนี้ คุณยังสามารถค้นหาสตริงการส่งวิทยุ "goForward" ที่จะส่งสตริงวิทยุ "goForward" ไปในอากาศเมื่อ "ตัวส่งสัญญาณ" micro:bit เอียงลง เมื่อ "receiver" micro:bit ได้รับสตริงนี้ รถก็จะวิ่งไปข้างหน้า
บนโลโก้ขึ้นบล็อก
ในฟังก์ชันอินพุต คุณจะพบบล็อกบนโลโก้ได้ บล็อกนี้จะดำเนินการเมื่อใดก็ตามที่คุณเอียง "ตัวส่งสัญญาณ" micro:bit ขึ้นหรือลง ในบล็อกนี้ คุณยังสามารถค้นหาสตริงการส่งวิทยุ "goBackward" ที่จะส่งสตริงวิทยุ "goBackward" ไปในอากาศเมื่อ "ตัวส่งสัญญาณ" micro:bit เอียงขึ้น เมื่อ "receiver" micro:bit ได้รับสตริงนี้ รถจะถอยหลัง
บนบล็อกเอียงขวา
ในฟังก์ชันอินพุต คุณจะพบบล็อกที่มุมเอียงขวา บล็อกนี้จะดำเนินการทุกครั้งที่คุณเอียง "ตัวส่งสัญญาณ" micro:bit ไปทางขวา ในบล็อกนี้ คุณยังสามารถค้นหาสตริงการส่งวิทยุ "goRight" ที่จะส่งสตริงวิทยุ "goRight" ไปในอากาศเมื่อ "ตัวส่งสัญญาณ" micro:bit เอียงไปทางขวา เมื่อ "receiver" micro:bit ได้รับสายนี้ รถจะเลี้ยวขวา
บนบล็อกเอียงซ้าย
ในฟังก์ชันอินพุต คุณจะพบบล็อกที่เอียงซ้าย บล็อกนี้จะดำเนินการทุกครั้งที่คุณเอียง "ตัวส่งสัญญาณ" micro:bit ไปทางซ้าย ในบล็อกนี้ คุณยังสามารถค้นหาสตริงการส่งวิทยุ "goLeft" ที่จะส่งสตริงวิทยุ "goLeft" ไปในอากาศเมื่อ "ตัวส่งสัญญาณ" micro:bit เอียงไปทางซ้าย เมื่อ "receiver" micro:bit ได้รับสตริงนี้ รถจะเลี้ยวซ้าย
ขั้นตอนที่ 3: การเพิ่มส่วนขยายของเซอร์โว
ส่วนขยายของเซอร์โว
โปรแกรมแก้ไข MakeCode ของคุณมีส่วนขยายของเซอร์โวหรือไม่ โปรดเปิดตัวแก้ไขและตรวจสอบว่ามีส่วนขยายของเซอร์โวในเมนูด้านซ้ายหรือไม่ เราจะใช้ในไฟล์ตัวอย่าง Receiver.hex ส่วนขยายของเซอร์โวนี้จะใช้สำหรับการปรับเทียบมุมบังคับเลี้ยว หากคุณไม่พบส่วนขยายของ Servos ให้คลิกส่วนขยายที่ด้านล่างของเมนู คลิกส่วนขยายของเซอร์โวและเพิ่มลงในเมนู
ขั้นตอนที่ 4: การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
ตัวรับ.hex
ตอนนี้เราจะตรวจสอบไฟล์ตัวอย่าง Receiver.hex เปิดตัวแก้ไข MakeCode แล้วคลิกปุ่มนำเข้า เปิดไฟล์ Receiver.hex ที่คุณได้คัดลอกไปที่ "receiver" micro:bit
เมื่อเริ่มต้นบล็อก
บล็อกนี้จะถูกเรียกในตอนแรกเมื่อเปิด "เครื่องรับ" micro:bit ในฟังก์ชันวิทยุ คุณสามารถค้นหากลุ่มชุดวิทยุบล็อกและตั้งค่า 1 ไว้ ตัวเลขนี้ต้องเหมือนกันสำหรับ micro:bit "transmitter" และ "receiver" micro:bit เพื่อให้สามารถจับคู่กันเพื่อการสื่อสารได้
จากส่วนขยายของฟังก์ชัน จะมีการสร้างบล็อกควบคุมฟังก์ชัน ลากและวางบล็อกควบคุมการโทรภายในบล็อกเริ่มต้น มันจะเรียกฟังก์ชั่นพวงมาลัยเพื่อปรับพวงมาลัยรถของคุณให้ตรง
บล็อกควบคุมการทำงาน
ตามค่าเริ่มต้น การบังคับเลี้ยวของรถจะไม่ตรงเสมอไปเนื่องจากเซอร์โว หากคุณมองรถจากด้านบน พวงมาลัยอาจจะเลี้ยวขวาหรือซ้ายเล็กน้อย บล็อกบังคับเลี้ยวของฟังก์ชันนี้ใช้สำหรับปรับมุมเซอร์โวให้อยู่ที่ตำแหน่งตรงกลาง เพื่อให้พวงมาลัยของรถปรับให้ตรง
สมมติว่าเซอร์โวติดอยู่กับพิน P2 บนตัวควบคุมมอเตอร์ มากำหนดค่าให้เซอร์โวแกว่งจาก 0 ถึง 180 องศาและมุมศูนย์กลางของมันคือ 90 องศา
ในส่วนขยายของฟังก์ชัน มีการสร้างบล็อกควบคุมฟังก์ชันแล้ว ในส่วนขยาย Variables ให้สร้างศูนย์ตัวแปรใหม่สำหรับการปรับเทียบเซอร์โวพวงมาลัย ใช้ฟังก์ชันคณิตศาสตร์เพื่อสร้างวงเล็บ 90 + 0 ลากและวางตั้งศูนย์ไว้ที่ 90 + 0 บล็อกภายในบล็อกควบคุมฟังก์ชัน
จากส่วนขยายของเซอร์โว ลากและวางชุดเซอร์โว P2 มีช่วงตั้งแต่ 0 ถึง 180 ตรวจสอบให้แน่ใจว่าได้เลือกพิน P2 และช่วงการหมุนตั้งแต่ 0 ถึง 180 องศา
จากส่วนขยายของเซอร์โว ให้ลากและวาง ตั้งค่ามุมเซอร์โว P2 ไปที่กึ่งกลาง ตรวจสอบให้แน่ใจว่าได้ตั้งมุมไว้ที่ศูนย์กลางตัวแปร
ดูรถของคุณจากด้านบน มันดูยังไง?
หากพวงมาลัยซ้ายเล็กน้อย ให้ตั้งศูนย์ไว้ที่ 90-5 เพื่อออฟเซ็ต -5 องศาไปทางขวา
หากบังคับเลี้ยวขวาเล็กน้อย ให้ตั้งศูนย์ไว้ที่ 90 + 5 เพื่อชดเชย +5 องศาไปทางซ้าย
(ดำเนินการในขั้นตอนต่อไป)
ขั้นตอนที่ 5: การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 2)
ตัวรับ.ฐานสิบหก (ต่อ)
เราจะกำหนดทิศทางและความเร็วได้อย่างไร? รถมีมอเตอร์เกียร์ขนาดเล็ก M1 ที่ล้อหลังด้านซ้ายและ M2 ที่ล้อหลังด้านขวา
ฟังก์ชั่น goForward block
มอเตอร์ M1 ล้อหลังซ้าย
พิน P13 ใช้สำหรับบอกทิศทาง จากส่วนขยายพิน ให้ลากและวางพินการเขียนดิจิทัล P13 ไปที่ 0 ดังนั้น M1 จึงเดินหน้าต่อไป
พิน P12 ใช้สำหรับความเร็ว (ความเร็วสูงสุดคือ 1023) จากส่วนขยายพิน ให้ลากและวางพินการเขียนอนาล็อก P12 ถึง 1023 เพื่อให้ M1 ทำงานด้วยความเร็วสูงสุด
มอเตอร์ M2 ล้อหลังขวา
พิน P15 ใช้สำหรับทิศทาง จากส่วนขยายพิน ให้ลากและวางพินการเขียนดิจิทัล P15 ไปที่ 0 ดังนั้น M2 จึงเดินหน้าต่อไป
พิน P14 ใช้สำหรับความเร็ว (ความเร็วสูงสุดคือ 1023) จากส่วนขยายพิน ให้ลากและวางพินการเขียนอนาล็อก P14 ถึง 1023 เพื่อให้ M2 ทำงานด้วยความเร็วสูงสุด
จากส่วนขยายพื้นฐาน ให้ลากและวางหยุดชั่วคราว (ms) 1,000 บล็อกเพื่อให้รถเดินหน้าต่อไปเป็นเวลา 1,000 มิลลิวินาที (1 วินาที) และเรียกใช้ฟังก์ชันหยุดการโทรเพื่อหยุดรถอย่างปลอดภัย
ฟังก์ชัน goBackward block
มอเตอร์ M1 ล้อหลังซ้าย
พิน P12 ใช้สำหรับทิศทาง จากส่วนขยายพิน ให้ลากและวางพินการเขียนดิจิทัล P12 ไปที่ 0 ดังนั้น M1 จะย้อนกลับ
พิน P13 ใช้สำหรับความเร็ว (ความเร็วสูงสุดคือ 1023) จากส่วนขยายพิน ให้ลากและวางพินการเขียนอนาล็อก P13 ถึง 1023 เพื่อให้ M1 ทำงานด้วยความเร็วสูงสุด
มอเตอร์ M2 ล้อหลังขวา
พิน P14 ใช้สำหรับทิศทาง จากส่วนขยายพิน ให้ลากและวางพินการเขียนดิจิทัล P14 ไปที่ 0 เพื่อให้ M2 ถอยหลัง
พิน P15 ใช้สำหรับความเร็ว (ความเร็วสูงสุดคือ 1023) จากส่วนขยายพิน ให้ลากและวางพินการเขียนอนาล็อก P15 ถึง 1023 เพื่อให้ M2 ทำงานด้วยความเร็วสูงสุด
จากส่วนขยายพื้นฐาน ให้ลากและวางหยุดชั่วคราว (ms) 1,000 บล็อกเพื่อให้รถถอยหลังเป็นเวลา 1,000 มิลลิวินาที (1 วินาที) และเรียกใช้ฟังก์ชันหยุดการโทรเพื่อหยุดรถอย่างปลอดภัย
ฟังก์ชั่นหยุดบล็อก
มอเตอร์ M1 ล้อหลังซ้าย
พิน P13 ใช้สำหรับทิศทาง จากส่วนขยายพิน ให้ลากและวางพินการเขียนดิจิทัล P13 ไปที่ 0 ดังนั้น M1 จะถูกตั้งค่าเป็นทิศทางไปข้างหน้า
พิน P12 ใช้สำหรับความเร็ว (0 หมายถึงไม่มีความเร็ว) จากส่วนขยายพิน ให้ลากและวางพินการเขียนอนาล็อก P12 ถึง 0 ดังนั้น M1 จะหยุด
มอเตอร์ M2 ล้อหลังขวา
พิน P15 ใช้สำหรับทิศทาง จากส่วนขยายพิน ให้ลากและวางพินการเขียนดิจิทัล P15 ไปที่ 0 ดังนั้น M2 จะถูกตั้งค่าเป็นทิศทางไปข้างหน้า
พิน P14 ใช้สำหรับความเร็ว (0 หมายถึงไม่มีความเร็ว) จากส่วนขยายพิน ให้ลากและวางพินการเขียนอนาล็อก P14 ไปที่ 0 ดังนั้น M2 จะหยุด
จากส่วนขยายฟังก์ชัน ให้ลากและวางบล็อกควบคุมการโทรเพื่อปรับพวงมาลัยรถให้ตรง
(ดำเนินการในขั้นตอนต่อไป)
ขั้นตอนที่ 6: การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 3)
ตัวรับ.ฐานสิบหก (ต่อ)
เมื่อใดก็ตามที่ "ตัวรับ" micro:bit จับสายสัญญาณวิทยุที่ส่งจาก "เครื่องส่งสัญญาณ" micro:bit ผ่านอากาศ ไฟล์ตัวอย่าง Receiver.hex จะจัดเรียงและเรียกใช้ฟังก์ชันที่เกี่ยวข้องเพื่อควบคุมรถได้อย่างไร
ทางวิทยุที่ได้รับสตริงบล็อก
นำบล็อกนี้จากส่วนขยาย Radio และมันจะทริกเกอร์การกระทำที่กำหนดไว้ภายในบล็อกนี้เมื่อใดก็ตามที่สตริงวิทยุใหม่มาถึง micro:bit "ตัวรับ"
ถ้างั้นก็บล็อค
นำบล็อกนี้จากส่วนขยายลอจิกและจะเรียงลำดับการดำเนินการตามสตริงที่ได้รับ
หากสตริงที่ได้รับคือ "goForward" บล็อกจะเรียกใช้ฟังก์ชัน goForward
หากสตริงที่ได้รับคือ "goBackward" บล็อกจะเรียกใช้ฟังก์ชัน goBackward
หากสตริงที่ได้รับคือ "goRight" ให้ตั้งค่ามุมของเซอร์โวพวงมาลัยเป็น -10 องศาทางด้านขวา และบล็อกจะเรียกใช้ฟังก์ชัน goForward
หากสตริงที่ได้รับคือ "goLeft" ให้ตั้งค่ามุมของเซอร์โวพวงมาลัยเป็น +10 องศาไปทางซ้าย และบล็อกจะเรียกใช้ฟังก์ชัน goForward
ไฟล์ตัวอย่างที่อธิบายในบทช่วยสอนนี้เป็นแบบพื้นฐาน และคุณสามารถปรับแต่งโค้ดให้เป็นของคุณเองได้ มีความสุข!
แนะนำ:
[2020] การใช้ IPhone หรือ IPad และ Micro:bit Game Pad App เพื่อควบคุมรถ RC: 23 ขั้นตอน
[2020] การใช้ IPhone หรือ IPad และแอพเกมแพด Micro:bit เพื่อควบคุมรถ RC: คุณเคยคิดหรือไม่ว่าจะใช้ iPhone หรือ iPad เพื่อควบคุม micro:bit ของคุณ คุณรู้หรือไม่ว่า Micro:bit Educational Foundation มีแอพ iOS ใน แอพสโตร์? ค้นหา "micro:bit" ใน App Store และคุณสามารถดาวน์โหลดแอปได้ฟรี NS
เกม DIY Steampunk Operation ของฉัน ใช้ Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)
เกม DIY Steampunk Operation ของฉันที่ใช้ Arduino: โครงการนี้ค่อนข้างกว้างขวางในขอบเขต ไม่ต้องใช้เครื่องมือหรือความรู้เดิมมากนัก แต่จะสอนใครก็ได้ (รวมถึงฉันด้วย) ในแผนกต่างๆ มากมาย เช่น Captive-sensing กับ Arduino การทำงานหลายอย่างพร้อมกันกับ Arduino
IoT Smart Clock Dot Matrix ใช้ Wemos ESP8266 - ESP Matrix: 12 ขั้นตอน (พร้อมรูปภาพ)
IoT Smart Clock Dot Matrix ใช้ Wemos ESP8266 - ESP Matrix: สร้าง IoT Smart Clock ของคุณเองที่สามารถ: แสดงนาฬิกาพร้อมไอคอนแอนิเมชั่นที่สวยงาม Display Reminder-1 to Reminder-5 แสดงปฏิทิน แสดงเวลาละหมาดของชาวมุสลิม แสดงข้อมูลสภาพอากาศ แสดงข่าว แสดงคำแนะนำ อัตรา Bitcoin แสดง
Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): 7 ขั้นตอน (พร้อมรูปภาพ)
Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): เกม Guitar Hero เป็นเกมที่คลั่งไคล้เมื่อหลายสิบปีก่อน ดังนั้นจึงต้องมีอุปกรณ์ควบคุมกีตาร์รุ่นเก่าจำนวนมากวางอยู่รอบๆ ฝุ่น พวกมันมีปุ่ม ลูกบิด และคันโยกมากมาย ทำไมไม่ลองใช้มันให้เป็นประโยชน์อีกล่ะ? คอนโทรลกีต้าร์
ใช้ Arduino เพื่อแสดง Engine RPM: 10 ขั้นตอน (พร้อมรูปภาพ)
ใช้ Arduino เพื่อแสดง RPM ของเครื่องยนต์: คู่มือนี้จะสรุปวิธีที่ฉันใช้ Arduino UNO R3, จอแสดงผล LCD ขนาด 16x2 พร้อม I2C และแถบ LED เพื่อใช้เป็นมาตรวัดความเร็วเครื่องยนต์และไฟเปลี่ยนเกียร์ในรถแทร็ก Acura Integra ของฉัน มันเขียนในแง่ของคนที่มีประสบการณ์หรือเปิดเผย