สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ดังนั้นในคำแนะนำนี้ เราจะเริ่มเขียนโปรแกรม Smart Car ที่เราสร้างในคำแนะนำนี้ และเราติดตั้งเซ็นเซอร์วิชันซิสเต็ม MU ในคำแนะนำนี้
เราจะตั้งโปรแกรม micro:bit ด้วยการติดตามวัตถุง่ายๆ เพื่อให้เซ็นเซอร์ MU สามารถติดตามบัตรจราจรได้
เสบียง
วัสดุ
1 x ไมโคร:บิต
1 x เครื่องยนต์:บิต
เซ็นเซอร์วิชันซิสเต็ม 1 x MU
ขายึดกล้อง 1 x 2 แกน
4 x M3 x 30 สกรู
6 x M3 x 6 สกรู
6 x M3 สเปเซอร์
ถั่ว 10 x M3
1 x ล้อเลื่อน
2 x มอเตอร์รถยนต์อัจฉริยะ
2 x TT130 มอเตอร์
2 x ล้อสำหรับมอเตอร์ TT130
แบตเตอรี่ 1 x 9 โวลต์ + ที่ใส่แบตเตอรี่
สายไปหน่อย ในสองสีที่ต่างกันถ้าเป็นไปได้
ไม้อัด 4 มม. (ควรทำ 170 x 125 มม.)
เทปกาวสองหน้าชิ้นเล็กๆ
เทปเวลโคร (ตะขอและห่วง)
กาวร้อน
เครื่องมือ:
ไขควง
บัดกรี
เหล็ก
เครื่องตัดลวด
เครื่องตัดเลเซอร์
ปืนกาวร้อน
เจาะ
ดอกสว่าน 2.5 และ 3 มม.
ขั้นตอนที่ 1: การตั้งค่าเซ็นเซอร์ MU
ก่อนที่เราจะเริ่มต้นการเชื่อมต่อสิ่งใด ๆ เราต้องการตั้งค่าเซ็นเซอร์อย่างถูกต้อง
เซ็นเซอร์ Mu Vision มีสวิตช์ 4 ตัว สองคนทางซ้ายกำหนดโหมดเอาท์พุต และสองคนทางขวากำหนดที่อยู่
เนื่องจากเราต้องการให้ที่อยู่เป็น 00 จึงควรปิดสวิตช์ทั้งสองทางด้านขวา
โหมดการส่งออกที่แตกต่างกันคือ:
00 UART
01 I2C
10 การถ่ายโอนข้อมูล Wifi
11 การส่งภาพ Wifi
เราต้องการทำงานในโหมด I2C ดังนั้น สวิตช์ทั้งสองควรเปิด 01 ดังนั้น สวิตช์ด้านซ้ายสุดควรปิด และอีกสวิตช์ควรเปิด
ขั้นตอนที่ 2: การเดินสายไฟ MU Sensor
การเดินสายไฟค่อนข้างง่าย เพียงใช้สายจัมเปอร์สี่เส้นเพื่อเชื่อมต่อเซ็นเซอร์ Mu กับบอร์ดฝ่าวงล้อมของคุณ
เซ็นเซอร์ Mu -> กระดานฝ่าวงล้อม
SDA -> พิน 20
SCL -> พิน 19
G -> กราวด์
วี -> 3.3-5V
ขั้นตอนที่ 3: การเดินสายเมาท์กล้อง
เซอร์โวมอเตอร์ที่ควบคุมการเคลื่อนที่ในแนวนอนควรเชื่อมต่อกับพิน 13 และเซอร์โวมอเตอร์ที่ควบคุมการเคลื่อนที่ในแนวตั้งควรเชื่อมต่อกับพิน 14
ขั้นตอนที่ 4: รับส่วนขยาย
ขั้นแรกเราไปที่เครื่องมือแก้ไข Makecode และเริ่มโครงการใหม่ จากนั้นไปที่ "ขั้นสูง" และเลือก "ส่วนขยาย" โปรดทราบว่าเนื่องจากฉันเป็นคนเดนมาร์ก ปุ่มเหล่านี้จึงมีชื่อต่างกันเล็กน้อยในภาพ ในส่วนขยาย เราค้นหา "Muvision" และเลือกผลลัพธ์เดียวที่เราได้รับ
ขั้นตอนที่ 5: เริ่มต้นการเชื่อมต่อและเปิดใช้งานอัลกอริทึม
เมื่อคุณใช้ส่วนขยายนี้ คุณจะได้รับข้อผิดพลาด "ไม่สามารถอ่านคุณสมบัติที่ไม่ได้กำหนด" นั่นเป็นเพราะว่าไม่มีแอนิเมชั่น micro:bit ไม่มีผลกับการคอมไพล์และการรันโปรแกรม
ส่วนสีส้มแรกของรหัสเริ่มต้นการเชื่อมต่อ I2C
ส่วนสีส้มส่วนที่สองของรหัสเปิดใช้งานอัลกอริธึมการรู้จำบัตรเข้าชม
การแสดงตัวเลขใช้เพื่อแก้ไขปัญหา หาก micro:bit ไม่นับถึงสามเมื่อคุณเรียกใช้โปรแกรม ให้ตรวจสอบว่าสายไฟบนวิชันเซนเซอร์ MU เชื่อมต่อกับพินที่ถูกต้องหรือไม่
บล็อกสีแดงสองบล็อกกำหนดตำแหน่งเริ่มต้นสำหรับตัวยึดกล้อง
ขั้นตอนที่ 6: โปรแกรม
บล็อกสีแดงสองบล็อกแรกจะควบคุมเซอร์โวมอเตอร์ที่ควบคุมการติดตั้งกล้อง อันแรกควบคุมการเคลื่อนไหวในแนวตั้ง และอันที่สองควบคุมการเคลื่อนไหวในแนวนอน
บล็อก "IF" ด้านนอกชุดแรกจะตรวจสอบว่าเซ็นเซอร์ MU สามารถตรวจจับบัตรจราจรได้หรือไม่ ถ้าทำได้ เราก็ไปยังสองคำสั่ง "IF" ข้างใน
คำสั่ง "IF" แรกจะตรวจสอบตำแหน่งแนวตั้งของการ์ดที่ตรวจพบในช่องการมองเห็น หากวางการ์ดไว้ที่กึ่งกลางของช่องการมองเห็น เราก็จะได้ค่า 50 จากอัลกอริทึมค่าแนวตั้ง ตอนนี้การ์ดที่จะอยู่ตรงกลางนั้นหายาก เราต้องตีให้แม่นมาก ดังนั้นถ้าเราเอา 50 เป็นค่าเดียวที่กล้องควรหยุดนิ่ง มันจะเคลื่อนที่ตลอดเวลาไม่มากก็น้อย ดังนั้นเราจึงนับทุกอย่างระหว่าง 45 ถึง 55 แทนค่าตรงกลาง ดังนั้นหากตำแหน่งแนวตั้งของการ์ดต่ำกว่า 45 เราจะขยับกล้องลงเล็กน้อยโดยเปลี่ยนตัวแปรแนวตั้งโดย +1 ในทำนองเดียวกัน เราขยับกล้องขึ้นเล็กน้อยหากตำแหน่งแนวตั้งสูงกว่า 55 โดยเปลี่ยนตัวแปรแนวตั้งเป็น -1 ฉันอาจดูแปลกที่กล้องจะขึ้น เมื่อเรายกตัวแปรขึ้นและลงเมื่อตัวแปรสูงขึ้น แต่นั่นคือวิธีการวางมอเตอร์
คำสั่ง "IF" ที่สองทำเช่นเดียวกัน แต่สำหรับตำแหน่งแนวนอน ดังนั้นเมื่อป้ายจราจรอยู่ไกลไปทางขวาของช่องมองภาพ กล้องก็จะเคลื่อนไปทางขวา และเมื่อมันอยู่ไกลไปทางซ้ายของช่องมองภาพ กล้องก็จะเคลื่อนไปทางซ้าย
คุณสามารถหาโปรแกรมได้ที่นี่
ขั้นตอนที่ 7: เสร็จสิ้น
อัปโหลดโปรแกรมของคุณไปที่ Smart Car แล้วทดสอบ
คุณสามารถเพิ่มความเร็วที่กล้องตอบสนองต่อการเคลื่อนไหวโดยเพิ่มการเปลี่ยนแปลงในตัวแปรเป็น 2 หรือ 3 แทนที่จะเป็น 1 คุณยังสามารถลองลดจำนวนฟิลด์ที่พิจารณาจากตรงกลาง ลองเปลี่ยนจาก 47 เป็น 53 แทน