สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
นี่เป็นแนวทางที่สี่ของฉันเกี่ยวกับวิชันเซนเซอร์ MU สำหรับ micro:bit ฉันจะอธิบายวิธีการติดตามวัตถุด้วย micro:bit และเขียนพิกัดไปยังหน้าจอ OLED ฉันมีคำแนะนำอื่นๆ เกี่ยวกับวิธีเชื่อมต่อ micro:bit กับเซ็นเซอร์วิชัน MU และ OLED และวิธีรับส่วนขยายที่เหมาะสมเพื่อตั้งโปรแกรม ฉันจะยังคงอธิบายสิ่งนั้นในคู่มือนี้ แต่ให้เร็วกว่านี้เล็กน้อย
เสบียง
1 x BBC micro:บิต
1 x Morpx Mu Vision เซนเซอร์ 3
1 x Micro:bit breakout board - ต้องมีการเข้าถึงพิน 19&20 ซึ่งไม่มีบอร์ด breakout ทั้งหมด ฉันใช้ elecfreaks motorbit เพราะฉันชอบบอร์ดนั้น
8 x สายจัมเปอร์ (หญิง-หญิง)
1 x หน้าจอ OLED
ขั้นตอนที่ 1: ขั้นตอนที่ 1: การตั้งค่าเซนเซอร์
ก่อนที่เราจะเริ่มต้นการเชื่อมต่อสิ่งใด ๆ เราต้องการตั้งค่าเซ็นเซอร์อย่างถูกต้อง
เซ็นเซอร์ Mu Vision มีสวิตช์ 4 ตัว สองคนทางซ้ายกำหนดโหมดเอาท์พุต และสองคนทางขวากำหนดที่อยู่ เนื่องจากเราต้องการให้ที่อยู่เป็น 00 จึงควรปิดสวิตช์ทั้งสองทางด้านขวา โหมดการส่งออกที่แตกต่างกันคือ:
00 UART
01 I2C
10 การถ่ายโอนข้อมูล Wifi
11 การส่งภาพ Wifi
เราต้องการใช้การเชื่อมต่อแบบอนุกรม เนื่องจากหน้าจอ OLED ต้องการหมุด I2C แบบ micro:bits เท่านั้น ดังนั้นเราจึงจะทำงานในโหมด UART นั่นหมายความว่าสวิตช์ทั้งสองควรอยู่ที่ 00 ดังนั้นควรปิดทั้งคู่
ขั้นตอนที่ 2: ขั้นตอนที่ 2: การเดินสายไฟ
การเดินสายไฟค่อนข้างง่าย เพียงใช้สายจัมเปอร์สี่เส้นเพื่อเชื่อมต่อเซ็นเซอร์ Mu กับบอร์ดฝ่าวงล้อมของเรา ดูภาพในขั้นตอนที่ 1 เพื่อขอความช่วยเหลือ
เซ็นเซอร์ Mu -> กระดานฝ่าวงล้อม
RX-> พิน 13
TX -> พิน14
G -> กราวด์
วี -> 3.3-5V
จากนั้นเราใช้สายจัมเปอร์สี่เส้นเพื่อเชื่อมต่อ OLED กับบอร์ดฝ่าวงล้อมของเรา
OLED -> กระดานฝ่าวงล้อม
วิน -> 3.3 v
GND -> GND
SCL -> Pin19
SCD -> Pin20
ขั้นตอนที่ 3: รับส่วนขยาย
ขั้นแรกเราไปที่เครื่องมือแก้ไข Makecode และเริ่มโครงการใหม่ จากนั้นไปที่ "ขั้นสูง" และเลือก "ส่วนขยาย" โปรดทราบว่าเนื่องจากฉันเป็นคนเดนมาร์ก ปุ่มเหล่านี้จึงมีชื่อต่างกันเล็กน้อยในภาพ ในส่วนขยาย เราค้นหา "Muvision" และเลือกผลลัพธ์เดียวที่เราได้รับ จากนั้นเรากลับไปที่ส่วนขยายและค้นหา oled12864 และเลือกส่วนขยาย OLED12864_I2C
ขั้นตอนที่ 4: การเข้ารหัส- เมื่อเริ่ม
บล็อกแรกในโปรแกรมนี้จะบอก micro:bit ว่าควรใช้พินใดในการเชื่อมต่อแบบอนุกรม หากคุณใช้หมุดเดียวกันกับ I เมื่อคุณเชื่อมต่อเซ็นเซอร์วิชันเซนเซอร์ MU คุณต้องตั้งค่า TX เป็นพิน 13 และ RX เป็นพิน 14 Baudrate ซึ่งเป็นความเร็วที่ไมโคร:บิตและเซ็นเซอร์วิชัน MU จะพูด ควรตั้งไว้ที่ 9600
บล็อกถัดไปเริ่มต้นการเชื่อมต่อ I2C ระหว่างหน้าจอ OLED และ Micro:bit ที่อยู่ขึ้นอยู่กับฮาร์ดแวร์ OLED ส่วนใหญ่มักจะเป็น 60 แต่สำหรับหน้าจอ OLED บางรุ่นอาจเป็น 61 หรือตัวเลขอื่นๆ
ฉันรวมบล็อกตัวเลขที่แสดงไว้สามช่องเพื่อช่วยในการแก้ปัญหา ตัวอย่างเช่น หาก micro:bit นับถึง 2 เท่านั้นเมื่อเริ่มทำงาน ฉันรู้ว่ามีปัญหาในการเปิดใช้อัลกอริธึมการ์ดรูปร่าง คุณสามารถรวมบล็อกหมายเลขการแสดงที่สี่ระหว่างบล็อกแรกและบล็อกที่สองในโปรแกรมปัจจุบัน
บล็อกถัดไป บล็อกสีส้มชุดแรก เริ่มต้นการเชื่อมต่อแบบอนุกรมระหว่างวิชันเซนเซอร์ MU และ micro:bit
บล็อกถัดไปคือบล็อกหมายเลขแสดงสำหรับการแก้ไขปัญหา
บล็อกถัดไป ซึ่งควรเป็นบล็อกสีส้มที่สอง บอกให้เซ็นเซอร์ MU เปิดใช้งานอัลกอริธึม Shape Card
บล็อกสุดท้ายเป็นบล็อกแสดงหมายเลขสำหรับการแก้ไขปัญหา
ขั้นตอนที่ 5: การเข้ารหัส - Forever Loop
เราเริ่มโปรแกรมด้วยบล็อก if-else พร้อมบล็อกการ์ดรูปร่างตรวจสอบ
การ์ดตรวจจับรูปร่างให้ 0 หรือ 1 หากตรวจพบการ์ดรูปร่าง เราจะได้ 1 (จริง) และ 0 (เท็จ) หากตรวจไม่พบการ์ดตัวเลข เราต้องรวมไว้ด้วย เพราะด้วยอัลกอริธึมการ์ดรูปร่างของเรา จะทำงานบนการ์ดรูปร่างที่ตรวจพบล่าสุดเสมอ ดังนั้นหากเราไม่เคยตรวจพบเชปการ์ด เราก็ไม่สามารถรันอัลกอริธึมได้จริงๆ
บล็อกแรกในข้อความความจริงบอกให้หน้าจอ OLED เขียน W (สำหรับความกว้าง) ที่มุมซ้ายบนของหน้าจอ ตำแหน่ง (0, 0)
บล็อกถัดไปบอกให้หน้าจอ OLED เขียนตัวเลขที่ได้รับจากอัลกอริธึมการ์ดรูปร่างทางด้านขวาของตำแหน่ง W (2, 0) ตัวเลขนี้บอกเราว่าการ์ดรูปทรงกว้างแค่ไหน
โปรแกรมดำเนินต่อไปเช่นนี้
บล็อกแรกที่บอกให้หน้าจอ OLED เขียนจดหมาย H สำหรับความสูงที่ (5, 0) X สำหรับค่าตำแหน่ง X ที่ (0, 2) Y สำหรับค่าตำแหน่ง Y ที่ (5, 2)
จากนั้นบล็อกที่สองที่บอกหน้าจอ OLED ให้เขียนตัวเลขที่ได้รับจากอัลกอริธึมการ์ดรูปร่าง ความสูงของการ์ดที่ (7, 0) ไพ่ตำแหน่ง X ที่ (2, 2) ไพ่ตำแหน่ง Y ที่ (7, 2).
ดังนั้นเมื่อเรารันโปรแกรมและเซ็นเซอร์ MU Vision ตรวจพบรูปร่างการ์ด มันจะให้ความกว้าง ความสูง และตำแหน่งของการ์ดแก่เรา
โปรแกรมเต็มสามารถพบได้ที่นี่
ขั้นตอนที่ 6: การทดสอบ
อาจมองเห็นได้ยากในวิดีโอ แต่เมื่อฉันย้ายการ์ดจากด้านหนึ่งไปอีกด้านหนึ่ง ค่า X จะเปลี่ยนไป การเลื่อนการ์ดขึ้นและลงจะเปลี่ยนค่า Y การย้ายการ์ดเข้าไปใกล้และออกจากวิชันเซนเซอร์ MU จะเปลี่ยนค่าความสูงและความกว้าง
มันค่อนข้างง่ายที่จะใช้โปรแกรมนี้เพื่อตรวจจับสิ่งอื่น เพียงแค่เปลี่ยน "การ์ดรูปร่าง" เป็นสิ่งที่คุณต้องการตรวจจับ ควรทำงานกับบล็อคสี ลูกบอล ร่างกาย การ์ดตัวเลข และการ์ดจราจร