สารบัญ:

[เมาส์ที่สวมใส่ได้] ตัวควบคุมเมาส์ที่สวมใส่ได้ที่ใช้ Bluetooth สำหรับ Windows 10 และ Linux: 5 ขั้นตอน
[เมาส์ที่สวมใส่ได้] ตัวควบคุมเมาส์ที่สวมใส่ได้ที่ใช้ Bluetooth สำหรับ Windows 10 และ Linux: 5 ขั้นตอน

วีดีโอ: [เมาส์ที่สวมใส่ได้] ตัวควบคุมเมาส์ที่สวมใส่ได้ที่ใช้ Bluetooth สำหรับ Windows 10 และ Linux: 5 ขั้นตอน

วีดีโอ: [เมาส์ที่สวมใส่ได้] ตัวควบคุมเมาส์ที่สวมใส่ได้ที่ใช้ Bluetooth สำหรับ Windows 10 และ Linux: 5 ขั้นตอน
วีดีโอ: #69 Alternative Arduino IDE - Sublime Text Editor 2024, พฤศจิกายน
Anonim
Image
Image
เชื่อมต่อมาตรความเร่งกับ Raspberry Pi
เชื่อมต่อมาตรความเร่งกับ Raspberry Pi

ฉันสร้างตัวควบคุมเมาส์ที่ใช้ Bluetooth ซึ่งสามารถใช้ควบคุมตัวชี้เมาส์และดำเนินการเกี่ยวกับเมาส์พีซีได้ทันที โดยไม่ต้องสัมผัสพื้นผิวใดๆ วงจรอิเล็กทรอนิกส์ที่ฝังอยู่บนถุงมือ สามารถใช้เพื่อติดตามท่าทางของมือผ่านมาตรความเร่ง และสามารถแปลเป็นการเคลื่อนที่ของตัวชี้เมาส์ได้ อุปกรณ์นี้ยังเชื่อมต่อกับปุ่มที่จำลองการคลิกปุ่มซ้ายด้วย อุปกรณ์สามารถเชื่อมต่อแบบอนุกรมกับพีซี (ผ่าน USB) หรือแบบไร้สายผ่านการเชื่อมต่อ Bluetooth Bluetooth ให้การสื่อสารไร้สายที่มีประสิทธิภาพและเป็นสากลระหว่างอุปกรณ์โฮสต์และเมาส์ที่สวมใส่ได้นี้ เนื่องจากบลูทูธมีให้ใช้กันอย่างแพร่หลายและมาพร้อมกับแล็ปท็อปส่วนตัวเกือบทั้งหมด ดังนั้นกรณีการใช้งานของอุปกรณ์ที่สวมใส่ได้นั้นจึงกว้าง การใช้ Raspberry Pi ซึ่งเป็นแพลตฟอร์มการพัฒนาที่ใช้กันทั่วไปสำหรับโครงการต่างๆ การเชื่อมต่อกับเซ็นเซอร์ต่างๆ และการพัฒนาอุปกรณ์ดังกล่าวทำได้ง่ายและปรับขนาดได้ ถุงมือสามารถถูกแทนที่ด้วยอุปกรณ์สวมใส่อื่นๆ เพื่อให้ใช้งานได้กว้างขึ้น

เพื่อเป็นการป้องกันไว้ก่อนสำหรับ COVID-19 ขอแนะนำให้หลีกเลี่ยงการสัมผัสพื้นผิวที่สามารถใช้ร่วมกันระหว่างบุคคลต่างๆ และแล็ปท็อปหน้าจอสัมผัสหรือเมาส์อาจอยู่ในพื้นผิวทั่วไปเหล่านั้น การใช้อุปกรณ์สวมใส่ดังกล่าวช่วยรักษาสุขอนามัยและทำให้พื้นผิวที่ใช้กันทั่วไปปลอดเชื้อ:)

เสบียง

  • Raspberry Pi 3 รุ่น B V1.2
  • SparkFun Triple Axis Accelerometer Breakout - MMA8452Q
  • สายจัมเปอร์ชายกับหญิง
  • ถุงมือ
  • เทปพันท่อ
  • กรรไกร
  • สายไมโคร USB
  • สาย HDMI (สำหรับการดีบักผ่าน Raspberry Pi)

ขั้นตอนที่ 1: เชื่อมต่อมาตรความเร่งกับ Raspberry Pi

เชื่อมต่อมาตรความเร่งกับ Raspberry Pi
เชื่อมต่อมาตรความเร่งกับ Raspberry Pi

ฉันใช้มาตรความเร่งสามแกน MMA8542Q จาก Sparkfun ซึ่งใช้โปรโตคอลการสื่อสาร I2C เพื่อพูดคุยกับหมุด Raspberry Pi GPIO และส่งข้อมูลแกน เซ็นเซอร์นี้มีโหมดการทำงานที่หลากหลายพร้อมอัตราข้อมูลที่กำหนดค่าได้ โหมดสลีป ช่วงเร่งความเร็ว โหมดตัวกรอง ฯลฯ ฉันพบว่าโค้ดจาก Pibits มีประโยชน์มากในการกำหนดค่าเริ่มต้นของเซ็นเซอร์และทดสอบด้วยท่าทางมือ เป็นการดีกว่าที่จะวางเซ็นเซอร์ไว้บนพื้นผิวที่เรียบเป็นลำดับแรก และทำการเอียงแบบกำหนดได้ในขณะสังเกตค่าเซ็นเซอร์แบบดิบ สิ่งนี้มีประโยชน์อย่างยิ่งในการทำความเข้าใจว่าเซ็นเซอร์นี้ตอบสนองต่อท่าทางมือต่างๆ อย่างไร และเราจะตั้งค่าเกณฑ์สำหรับแอปพลิเคชันของเราได้อย่างไร เมื่อเชื่อมต่อมาตรวัดความเร่งสำเร็จแล้ว คุณจะเห็นข้อมูลแกนดิบที่แสดงบนหน้าจอเทอร์มินัลของ Pi

ขั้นตอนที่ 2: เชื่อมต่อปุ่มกดกับ Raspberry Pi

การเชื่อมต่อปุ่มกดกับ Raspberry Pi
การเชื่อมต่อปุ่มกดกับ Raspberry Pi

ในอุปกรณ์ที่สวมใส่ได้นี้ ฉันเชื่อมต่อปุ่มที่สามารถทำงานเป็นปุ่มเมาส์ซ้าย เพื่อให้สามารถคลิกไอคอนบนหน้าจอได้ จากนั้นปลายปุ่มทั้งสองจะเชื่อมต่อกับพิน GPIO 2 พินของ Pi พินตัวใดตัวหนึ่งให้เอาต์พุตสูงแบบลอจิคัลและพินอื่นอ่านค่านั้น เมื่อกดปุ่ม วงจรจะปิดและพินอินพุตสามารถอ่านค่าตรรกะสูงได้ ซึ่งสคริปต์ที่ฉันเขียนขึ้นจะประมวลผลเพื่อจำลองการคลิกเมาส์ซ้าย เนื่องจากไม่มีหัวแร้ง ฉันจึงใช้เทปพันสายไฟเพื่อต่อจัมเปอร์กับปุ่ม

ขั้นตอนที่ 3: การพัฒนาสคริปต์ Python เพื่อควบคุมตัวชี้เมาส์แบบอนุกรม

ฉันใช้ไลบรารี Pyautogui Python เพื่อควบคุมตัวชี้เมาส์ เหตุผลที่ใช้ไลบรารี่นี้คือใช้งานได้ทั้งบน Linux และแพลตฟอร์ม Windows เพื่อควบคุมตัวชี้เมาส์บน Raspberry Pi อันดับแรกฉันเชื่อมต่อ Pi กับจอแสดงผล จากนั้น ฉันใช้ API ต่อไปนี้ที่ห้องสมุดจัดเตรียมให้เพื่อควบคุมตัวชี้เมาส์ของฉัน:

  1. pyautogui.move(0, 200, 2) # เลื่อนเมาส์ลง 200 พิกเซลภายใน 2 วินาที
  2. pyautogui.click() # คลิกเมาส์

ในการกรองข้อมูลข้อผิดพลาดที่มาจากมาตรความเร่ง ฉันใช้ค่าเฉลี่ยและวิธีการกรองอื่นๆ ที่เข้าใจได้ง่ายผ่านโค้ดที่แนบมา API pyautogui.move(0, y) ถูกใช้ในลักษณะที่ตัวชี้เมาส์สามารถเลื่อนขึ้น-ลงหรือซ้าย-ขวาในแต่ละครั้ง เนื่องจากตัวตรวจวัดความเร่งรายงานแกนในทิศทาง X, Y และ Z แต่ API รับเพียง 2 อาร์กิวเมนต์ คือแกน X และ Y ดังนั้น วิธีนี้จึงเหมาะสมมากสำหรับมาตรความเร่งของฉันและทำแผนที่ท่าทางสัมผัสบนหน้าจอ

ขั้นตอนที่ 4: การพัฒนาสคริปต์ Python เพื่อควบคุมตัวชี้เมาส์ผ่าน Bluetooth

การพัฒนาสคริปต์ Python เพื่อควบคุมตัวชี้เมาส์ผ่าน Bluetooth
การพัฒนาสคริปต์ Python เพื่อควบคุมตัวชี้เมาส์ผ่าน Bluetooth

ส่วนนี้เป็นแอปพลิเคชั่นขั้นสูงซึ่งแล็ปท็อปทุกเครื่องที่มีความสามารถ Bluetooth สามารถสื่อสารกับ Raspberry Pi ในรูปแบบการสื่อสารระหว่างเซิร์ฟเวอร์กับไคลเอนต์และส่งข้อมูลพิกัดของเมาส์แบบไร้สาย ในการตั้งค่าแล็ปท็อป Windows 10 64 บิตเพื่อให้สามารถสื่อสารผ่าน Bluetooth ได้ เราต้องทำตามขั้นตอนด้านล่าง:

วินโดว์ 10:

  1. สร้างพอร์ต Bluetooth COM ขาเข้า
  2. จับคู่ Bluetooth ของ Pi กับ Bluetooth ของแล็ปท็อปโดยทำให้ Pi สามารถค้นพบได้
  3. ติดตั้ง Python บน Windows
  4. ติดตั้ง pip บน Windows Pip ใช้เพื่อติดตั้งไลบรารีบนเครื่อง Linux หรือ Windows
  5. ติดตั้ง pyautogui บน Windows โดยใช้: pip ติดตั้ง pyautogui
  6. เมื่อติดตั้ง pyautogui บนอุปกรณ์แล้ว ให้ติดตั้ง Pybluez บน Windows โดยใช้คำสั่งต่อไปนี้บนเทอร์มินัล Windows โดยใช้: pip install PyBluez-win10 PyBluez เปิดใช้งานการสื่อสาร Bluetooth บนพีซีทั้ง Windows และ Linux
  7. ในการพัฒนาแอปพลิเคชันบนแล็ปท็อป Windows 10 เราจำเป็นต้องติดตั้ง Microsoft Visual Studio (ต้องใช้พื้นที่ 15-20 GB) และเครื่องมือสร้าง ดังนั้นร่วมกับ PyBluez เราต้องทำตามคำแนะนำด้านล่าง

    1. ดาวน์โหลดและเรียกใช้ "Visual Studio Installer":
    2. ติดตั้ง "Visual Studio Build Tools 2017" เลือก "Visual C++ build tools" และ "Universal Windows Platform build tools"
    3. โคลน git

    4. cd pybluez
    5. หลาม setup.py ติดตั้ง

  8. หากปฏิบัติตามคำแนะนำข้างต้นอย่างถูกต้อง การรัน Python บนเทอร์มินัล windows และการนำเข้า pyautogui และโมดูล Bluetooth ควรทำงานโดยไม่มีข้อผิดพลาด ตามภาพด้านบน
  9. ในไลบรารี pybluez ที่ติดตั้งบนเครื่อง Windows ให้ไปที่: pybluez-master\examples\simple\rfcomm-server.py และดำเนินการโดยใช้ python rfcomm-server.py หากเครื่องอ่านบัตรอยู่ในสถานะรอโดยไม่มีข้อผิดพลาด ให้ไปที่ส่วนด้านล่างเพื่อตั้งค่า Bluetooth บน Pi หากมีข้อผิดพลาดในการติดตั้ง pybluez โปรดดูปัญหา GitHub สำหรับการดีบัก

Raspbian บน Raspberry Pi:

  1. ติดตั้ง PyBluez บน Pi
  2. เรียกใช้ตัวอย่างเซิร์ฟเวอร์บน Windows จากนั้นบน Pi ไปที่ pybluez-master\examples\simple\rfcomm-client.py และดำเนินการ หากอุปกรณ์ทั้งสองเริ่มสื่อสารกัน ตอนนี้ Bluetooth จะได้รับการตั้งค่าบนอุปกรณ์ทั้งสอง เพื่อทำความเข้าใจเพิ่มเติมว่าการสื่อสารแบบซ็อกเก็ตทำงานอย่างไรกับ Python ให้อ้างอิงกับลิงค์นี้จาก MIT

จะมีการแยกวิเคราะห์ข้อมูลเพิ่มเติมที่จำเป็นในการส่งข้อมูลแกนจาก Pi ไปยังพีซี เนื่องจากข้อมูลจะถูกส่งเป็นไบต์ อ้างถึงรหัสที่แนบมาสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสื่อสารข้อมูลไคลเอ็นต์และเซิร์ฟเวอร์

ขั้นตอนที่ 5: การฝังมาตรความเร่งและปุ่มบนถุงมือ

การฝังมาตรความเร่งและปุ่มบนถุงมือ
การฝังมาตรความเร่งและปุ่มบนถุงมือ
การฝังมาตรความเร่งและปุ่มบนถุงมือ
การฝังมาตรความเร่งและปุ่มบนถุงมือ

เมื่อมาตรวัดความเร่งถูกเชื่อมต่ออย่างดี ระบบโครงกระดูกจะดูเหมือนภาพแรกในขั้นตอนนี้

เนื่องจากพื้นผิวของถุงมือไม่เรียบ ฉันจึงใช้บัตรเครดิตจำลองที่มากับกล่องจดหมายของฉันเป็นระยะๆ ตามภาพที่สองในขั้นตอนนี้ ฉันติดเทปพันสายไฟกับบัตรเครดิตจำลองที่พื้นผิวด้านบนของถุงมือ เหนือการ์ด ฉันแนบมาตรความเร่งของฉัน การตั้งค่านี้แข็งแกร่งพอที่จะทำให้ตัวตรวจวัดความเร่งของฉันเสถียรและสามารถติดตามท่าทางของฉันได้อย่างแม่นยำ

แนะนำ: