สารบัญ:

[2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC: 6 ขั้นตอน (พร้อมรูปภาพ)
[2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: [2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: [2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ทำไมเเม่ไม่บอกกันเลย😂 #แป้งวิงค์ไวท์ 2024, ธันวาคม
Anonim
[2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC
[2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC

หากคุณมี 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

การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง Micro:Bits
การคัดลอกไฟล์ตัวอย่างไปยัง 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

การตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
การตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
การตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
การตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
การตรวจสอบไฟล์ตัวอย่าง Transmitter.hex
การตรวจสอบไฟล์ตัวอย่าง 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)

การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 1)
การตรวจสอบไฟล์ตัวอย่าง 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)

การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 2)
การตรวจสอบไฟล์ตัวอย่าง 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)

การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 3)
การตรวจสอบไฟล์ตัวอย่าง Receiver.hex (ตอนที่ 3)

ตัวรับ.ฐานสิบหก (ต่อ)

เมื่อใดก็ตามที่ "ตัวรับ" micro:bit จับสายสัญญาณวิทยุที่ส่งจาก "เครื่องส่งสัญญาณ" micro:bit ผ่านอากาศ ไฟล์ตัวอย่าง Receiver.hex จะจัดเรียงและเรียกใช้ฟังก์ชันที่เกี่ยวข้องเพื่อควบคุมรถได้อย่างไร

ทางวิทยุที่ได้รับสตริงบล็อก

นำบล็อกนี้จากส่วนขยาย Radio และมันจะทริกเกอร์การกระทำที่กำหนดไว้ภายในบล็อกนี้เมื่อใดก็ตามที่สตริงวิทยุใหม่มาถึง micro:bit "ตัวรับ"

ถ้างั้นก็บล็อค

นำบล็อกนี้จากส่วนขยายลอจิกและจะเรียงลำดับการดำเนินการตามสตริงที่ได้รับ

หากสตริงที่ได้รับคือ "goForward" บล็อกจะเรียกใช้ฟังก์ชัน goForward

หากสตริงที่ได้รับคือ "goBackward" บล็อกจะเรียกใช้ฟังก์ชัน goBackward

หากสตริงที่ได้รับคือ "goRight" ให้ตั้งค่ามุมของเซอร์โวพวงมาลัยเป็น -10 องศาทางด้านขวา และบล็อกจะเรียกใช้ฟังก์ชัน goForward

หากสตริงที่ได้รับคือ "goLeft" ให้ตั้งค่ามุมของเซอร์โวพวงมาลัยเป็น +10 องศาไปทางซ้าย และบล็อกจะเรียกใช้ฟังก์ชัน goForward

ไฟล์ตัวอย่างที่อธิบายในบทช่วยสอนนี้เป็นแบบพื้นฐาน และคุณสามารถปรับแต่งโค้ดให้เป็นของคุณเองได้ มีความสุข!

แนะนำ: