สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: มันทำงานอย่างไร
- ขั้นตอนที่ 2: เชื่อมต่อ Micro:bit กับ Raspberry Pi ผ่าน Bluetooth
- ขั้นตอนที่ 3: การตั้งค่า Bluetooth บน Raspberry Pi
- ขั้นตอนที่ 4: เรียกใช้โค้ดบน Raspberry Pi
- ขั้นตอนที่ 5: ขอบเขตในอนาคต
วีดีโอ: เมาส์ที่ควบคุมด้วยท่าทางสัมผัสโดยใช้ Micro:bit: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
การแนะนำ
โปรเจ็กต์นี้เป็นเมาส์ที่ควบคุมด้วยท่าทาง ในรูปแบบของถุงมือที่มี micro:bit ฝังอยู่ในนั้น เป็นโครงการที่ได้รับแรงบันดาลใจจากแนวคิดแรกๆ ที่ฉันมีในฐานะวิศวกรฝังตัว ฉันต้องการเข้าถึงชุดเมาส์และคีย์บอร์ดไร้สายเสมอ สำหรับการเชื่อมต่อกับไมโครโปรเซสเซอร์ใดๆ ที่ฉันอาจต้องการใช้ เมาส์เป็นสิ่งจำเป็นในกรณีที่ฉันใช้งานระบบปฏิบัติการบนไมโครโปรเซสเซอร์ การมีเมาส์และคีย์บอร์ดไร้สายได้พิสูจน์แล้วว่าช่วยได้หลายครั้ง และในเรื่องนี้ ฉันมีความสนใจอย่างมากที่จะพัฒนาเทคโนโลยีที่สวมใส่ได้ซึ่งสามารถใช้เป็นเมาส์และเป็นไปได้ว่าจะเป็นคีย์บอร์ด
ในคำแนะนำนี้ ฉันจะแบ่งปันขั้นตอนและขั้นตอนของวิธีใช้ micro:bit กับโค้ด Python เพื่อสร้างเมาส์ที่ควบคุมด้วยท่าทางที่สวมถุงมือ
เสบียง
1 micro:bit พร้อมแบตเตอรี่
ถุงมือ 1 ชิ้นสำหรับติด micro:bit เข้ากับ
คอมพิวเตอร์ที่ใช้ Bluetooth 1 เครื่อง Linux (Raspberry Pi ใช้ที่นี่)
พีซีสำหรับการเขียนโปรแกรม micro:bit และการเปิดเซสชัน VNC ไปยัง Raspberry Pi
ขั้นตอนที่ 1: มันทำงานอย่างไร
ขั้นตอนที่ 2: เชื่อมต่อ Micro:bit กับ Raspberry Pi ผ่าน Bluetooth
1. เมื่อเริ่มต้น ฉันแสดงลำดับของไฟ LED ในรูปของ "b*" และเริ่มต้นบริการตัวตรวจวัดความเร่ง ปุ่ม LED และอุณหภูมิของบลูทูธ
2. ในกรณีของการเชื่อมต่อบลูทูธ หน้าจอ LED จะแสดง "C" แสดงว่า micro:bit ได้สร้างการเชื่อมต่อบลูทูธแล้ว
3. ในกรณีที่ขาดการเชื่อมต่อบลูทูธ หน้าจอ LED จะแสดง "D" แสดงว่า micro:bit สูญเสียการเชื่อมต่อบลูทูธ และจะต้องเชื่อมต่อใหม่
4. ในการตั้งค่าโปรเจ็กต์ เลือกโหมด "ไม่มีการจับคู่" เว็บไซต์ micro:bit แนะนำให้จับคู่ "Just Works" แต่การจับคู่มักจะล้มเหลวกับอันหลัง ด้วยเหตุผลบางอย่างที่อธิบายไม่ได้ มันใช้ได้กับอดีต
ขั้นตอนที่ 3: การตั้งค่า Bluetooth บน Raspberry Pi
1. ติดตั้งแพ็คเกจ bluezero โดยใช้ "sudo pip3 install bluezero"
2. เปิดพรอมต์คำสั่งบลูทูธโดยพิมพ์ "bluetoothctl" พรอมต์ใหม่ควรมีลักษณะดังนี้:
$ [บลูทูธ] #
3. ใส่ micro:bit เข้าสู่โหมดการสแกนโดยกดปุ่ม A และ B ค้างไว้ แล้วกดปุ่มรีเซ็ต รอจนกระทั่งสัญลักษณ์บลูทูธปรากฏขึ้นบนหน้าจอ LED จากนั้นปล่อยปุ่มทั้งหมด บนขั้วบลูทู ธ raspberry pi ให้พิมพ์ "scan on" เมื่อ micro:bit ปรากฏในรายการอุปกรณ์ใหม่ ให้พิมพ์ "scan off" และจดที่อยู่อุปกรณ์ของ micro:bit เป็น "yy:yy:yy:yy:yy:yy"
4. จับคู่และเชื่อมต่อกับ micro:bit โดยพิมพ์ "pair yy:yy:yy:yy:yy:yy"
5. ในการตรวจสอบว่าการจับคู่ทำงานหรือไม่ ให้พิมพ์ "devices" และตรวจสอบว่า micro:bit ปรากฏในรายการอุปกรณ์หรือไม่ หากการเชื่อมต่อสำเร็จ หน้าจอ LED บน micro:bit ควรเปลี่ยนเป็น "C" หากไม่เป็นเช่นนั้น ให้รีเซ็ต micro:bit และลองจับคู่อีกครั้งบนเทอร์มินัล bluetoothctl บน Raspberry pi
ขั้นตอนที่ 4: เรียกใช้โค้ดบน Raspberry Pi
1. รันโค้ดบน Raspberry Pi โดยพิมพ์ "python3 mouse_control.py" ซึ่งแนบท้ายขั้นตอนนี้:
2. ข้อความแจ้งควรปรากฏขึ้นบนเทอร์มินัลว่า "เชื่อมต่อแล้ว" กดปุ่ม A และ B ทั้งสองปุ่มเพื่อ 'เปิด' เมาส์ ข้อความแจ้งว่า "ย้ายเคอร์เซอร์ไปรอบๆ" ควรปรากฏขึ้นในขณะนี้
3. ในการ 'ปิด' เมาส์ ให้กดปุ่มทั้งสองพร้อมกันอีกครั้ง ข้อความแจ้งว่า "ไปต่อหรือออก" ปรากฏขึ้น กด c เพื่อดำเนินการต่อจากขั้นตอนที่ 2 หรือเพียงแค่เข้าสู่เพื่อออกจากโปรแกรม
4. หากเมาส์อยู่ในตำแหน่งคว่ำ (หน้าจอ LED คว่ำลง) โปรแกรมจะแสดงข้อผิดพลาดโดยขอให้ผู้ใช้จับเมาส์อย่างถูกต้อง ก่อนดำเนินการขั้นตอนที่ 2
5. สำหรับการคลิกเพียงครั้งเดียว ให้ถือเมาส์ขนานกับพื้น (เพื่อให้เคอร์เซอร์หยุดเคลื่อนที่) แล้วกดปุ่ม A เท่านั้น สำหรับการดับเบิลคลิก ให้กดปุ่ม B เท่านั้น
6. สำหรับคำแนะนำเกี่ยวกับโค้ด โปรดดูไฟล์ที่แนบมาซึ่งมีความคิดเห็นเพียงพอ
7. การเชื่อมต่อบลูทู ธ ค่อนข้างประปรายและอาจพังบ่อย โดยเฉพาะอย่างยิ่งหากมีการใช้อุปกรณ์ที่เชื่อมต่อบลูทู ธ อื่น ๆ ในบริเวณใกล้เคียง หากเกิดเหตุการณ์นี้ขึ้น การเรียกใช้โค้ดอีกครั้งน่าจะได้ผล หากไม่สำเร็จ ให้เปิดหน้าต่างคำสั่ง bluetoothctl และจับคู่กับ micro:bit อีกครั้ง
ขั้นตอนที่ 5: ขอบเขตในอนาคต
1. การควบคุมเมาส์สามารถปรับได้อย่างละเอียด หากใช้การเร่งความเร็วแบบเอ็กซ์โปเนนเชียลแทนอัลกอริธึมการเร่งเชิงเส้น อาจให้การควบคุมที่ดียิ่งขึ้น
2. เนื่องจากการเชื่อมต่อบลูทูธค่อนข้างไม่ต่อเนื่อง จึงสามารถเพิ่มเหตุการณ์สำหรับการตรวจจับความล้มเหลวในการเชื่อมต่อ ซึ่งจะมีการตอบสนองในการสร้างการเชื่อมต่อใหม่ทุกครั้งที่เกิดความล้มเหลว
3. คุณสามารถเพิ่มท่าทางแป้นพิมพ์บางอย่างได้ เช่น การกระตุกกะทันหันอาจทำให้ปิดเครื่อง หรือเมื่อตรวจพบท่าทางสัมผัสที่กำหนดไว้ล่วงหน้า อาจทำให้เกิดคำสั่ง/การกดแป้นพิมพ์ที่ใช้บ่อยอื่นๆ
แนะนำ:
Arduino Nano - MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 ขั้นตอน
Arduino Nano - MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: MMA8452Q เป็นเครื่องวัดความเร่งแบบไมโครแมชชีนแบบไมโครแมชชีนที่ชาญฉลาด ใช้พลังงานต่ำ สามแกน คาปาซิทีฟ พร้อมความละเอียด 12 บิต ตัวเลือกที่ตั้งโปรแกรมได้สำหรับผู้ใช้ที่ยืดหยุ่นนั้นมาพร้อมกับฟังก์ชั่นฝังตัวในมาตรความเร่ง ซึ่งสามารถกำหนดค่าเป็นสองอินเตอร์รัป
วิธีเรียกใช้เซอร์โวมอเตอร์โดยใช้ Moto:bit ด้วย Micro:bit: 7 ขั้นตอน (พร้อมรูปภาพ)
วิธีเรียกใช้เซอร์โวมอเตอร์โดยใช้ Moto:bit ด้วย Micro:bit: วิธีหนึ่งในการขยายฟังก์ชันการทำงานของ micro:bit คือการใช้บอร์ดชื่อ moto:bit โดย SparkFun Electronics (ประมาณ 15-20 เหรียญสหรัฐ) มันดูซับซ้อนและมีคุณสมบัติมากมาย แต่ก็ไม่ยากที่จะเรียกใช้เซอร์โวมอเตอร์จากมัน Moto:bit ช่วยให้คุณ
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 ขั้นตอน
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: MMA8452Q เป็นเครื่องวัดความเร่งแบบไมโครแมชชีนที่ชาญฉลาด ใช้พลังงานต่ำ สามแกน capacitive พร้อมความละเอียด 12 บิต ตัวเลือกที่ตั้งโปรแกรมได้สำหรับผู้ใช้ที่ยืดหยุ่นนั้นมาพร้อมกับฟังก์ชั่นฝังตัวในมาตรความเร่ง ซึ่งสามารถกำหนดค่าเป็นสองอินเตอร์รัป
การเขียนโปรแกรม Micro:Bit Robot & Joystick:Bit Controller ด้วย MicroPython: 11 ขั้นตอน
การเขียนโปรแกรม Micro:Bit Robot & Joystick:Bit Controller ด้วย MicroPython: สำหรับ Robocamp 2019 ค่ายหุ่นยนต์ภาคฤดูร้อนของเรา คนหนุ่มสาวอายุ 10-13 ปีกำลังบัดกรี ตั้งโปรแกรม และสร้าง 'หุ่นยนต์น้ำหนักเกิน' ของ BBC micro:bit ตลอดจนการเขียนโปรแกรม micro:bit เพื่อใช้เป็นรีโมตคอนโทรล หากคุณอยู่ที่ Robocamp ให้เล่นสกี
การวัดแสงและสีด้วย Pimoroni Enviro:bit สำหรับ Micro:bit: 5 ขั้นตอน
การวัดแสงและสีด้วย Pimoroni Enviro:bit สำหรับ Micro:bit: ฉันเคยทำงานกับอุปกรณ์บางตัวที่อนุญาตให้วัดแสงและสีได้ก่อนหน้านี้ และคุณอาจพบมากเกี่ยวกับทฤษฎีที่อยู่เบื้องหลังการวัดดังกล่าวในคำแนะนำต่างๆ ที่นี่และที่นี่ Pimoroni มี เพิ่งเปิดตัว enviro:bit ซึ่งเป็นส่วนเสริมสำหรับ m