Talaan ng mga Nilalaman:

[Nakasuot ng Mouse] Nakasuot ng Mouse sa Controller na batay sa Bluetooth para sa Windows 10 at Linux: 5 Hakbang
[Nakasuot ng Mouse] Nakasuot ng Mouse sa Controller na batay sa Bluetooth para sa Windows 10 at Linux: 5 Hakbang

Video: [Nakasuot ng Mouse] Nakasuot ng Mouse sa Controller na batay sa Bluetooth para sa Windows 10 at Linux: 5 Hakbang

Video: [Nakasuot ng Mouse] Nakasuot ng Mouse sa Controller na batay sa Bluetooth para sa Windows 10 at Linux: 5 Hakbang
Video: Don't let the zombies get on the helicopter!! - Zombie Choppa Gameplay ๐ŸŽฎ๐Ÿ“ฑ 2024, Hulyo
Anonim
Image
Image
Pag-interface ng Accelerometer Sa Raspberry Pi
Pag-interface ng Accelerometer Sa Raspberry Pi

Gumawa ako ng isang Bluetooth-based mouse controller na maaaring magamit upang makontrol ang mouse pointer at magsagawa ng mga operasyon na nauugnay sa PC-mouse nang mabilis, nang hindi hinahawakan ang anumang mga ibabaw. Ang electronic circuitry, na naka-embed sa isang guwantes, ay maaaring magamit upang subaybayan ang mga kilos ng kamay sa pamamagitan ng isang Accelerometer at maaari itong isalin sa paggalaw ng mouse pointer. Ang aparato na ito ay nakipag-interfaced din sa isang pindutan na kinokopya ang pag-click sa kaliwang pindutan. Ang aparato ay maaaring naka-attach nang serally sa PC (sa pamamagitan ng USB) o nang wireless sa pamamagitan ng isang koneksyon sa Bluetooth. Nagbibigay ang Bluetooth ng isang matatag at unibersal na wireless na komunikasyon sa pagitan ng host device at ang naisusuot na mouse. Dahil ang Bluetooth ay malawak na magagamit at may naka-embed na halos lahat ng mga personal na laptop, ang use-case ng naturang naisusuot na aparato ay malawak. Ang paggamit ng Raspberry Pi, na isang karaniwang ginagamit na platform ng pag-unlad para sa iba't ibang mga proyekto, ang interfacing ng iba't ibang mga sensor, at ang pagbuo ng naturang aparato ay madali at nasusukat. Ang gwantes ay maaaring mapalitan ng anumang iba pang naisusuot upang mas malawak ang aplikasyon nito.

Bilang pag-iingat laban sa COVID-19, ipinapayong iwasang hawakan ang mga ibabaw na maibabahagi sa iba't ibang tao, at ang isang touch-screen na laptop o isang mouse ay maaaring kabilang sa mga karaniwang ibabaw. Ang paggamit ng tulad ng naisusuot na aparato ay tumutulong sa pagpapanatili ng kalinisan at panatilihing malinis ang karaniwang ginagamit na mga ibabaw:)

Mga gamit

  • Raspberry Pi 3 Model B V1.2
  • SparkFun Triple Axis Accelerometer Breakout - MMA8452Q
  • Lalaki sa Babae Jumper Wire
  • Isang gwantes
  • Duct Tape
  • Gunting
  • Micro-USB cable
  • HDMI Cable (para sa pag-debug sa pamamagitan ng Raspberry Pi)

Hakbang 1: Pag-interfacing ng Accelerometer Sa Raspberry Pi

Pag-interface ng Accelerometer Sa Raspberry Pi
Pag-interface ng Accelerometer Sa Raspberry Pi

Gumamit ako ng isang MMA8542Q Triple-axis accelerometer mula sa Sparkfun na gumagamit ng I2C komunikasyon na protocol upang kausapin ang mga Raspberry Pi GPIO na pin at ipadala ang data ng mga palakol. Nagbibigay ang sensor na ito ng iba't ibang mga mode ng pagpapatakbo na may na-configure na rate ng data, mga mode ng pagtulog, saklaw ng pagpabilis, filter mode, atbp. Natagpuan ko ang code mula sa Pibits na kapaki-pakinabang sa aking paunang pagsasaayos ng sensor at sinusubukan ito sa aking mga kilos ng kamay. Mas mahusay na ilagay muna ang sensor sa isang patag na ibabaw at gumawa ng mga deterministic tilts habang sinusunod ang mga halagang hilaw na sensor. Partikular itong kapaki-pakinabang sa pag-unawa sa kung paano tumutugon ang sensor na ito sa iba't ibang mga kilos ng kamay at kung paano kami maaaring mag-set up ng mga threshold para sa aming aplikasyon. Kapag ang accelerometer ay matagumpay na na-interfaced, maaari mong makita ang data ng hilaw na palakol sa screen ng terminal ng Pi.

Hakbang 2: Pag-interfacing ng Push-button Sa Raspberry Pi

Interfacing Push-button Sa Raspberry Pi
Interfacing Push-button Sa Raspberry Pi

Sa naisusuot na aparatong ito, nag-interfaced ako ng isang pindutan na maaaring gumana bilang isang pindutan ng kaliwang mouse upang makapag-click ako sa mga icon sa screen. Ang 2 dulo ng pindutan ay konektado sa 2 GPIO pin ng Pi. Ang isa sa mga pin ay naglalabas ng isang lohikal na mataas at ang iba pang mga pin ay binabasa ang halagang iyon. Kapag pinindot ang pindutan, ang circuit ay magiging sarado at ang input pin ay makakabasa ng isang halaga na mataas ang lohika, na pagkatapos ay naproseso ng script na isinulat ko upang tularan ang pag-click sa kaliwa-mouse. Dahil sa kawalan ng soldering iron, gumamit ako ng duct tape upang ikonekta ang mga jumper na may pindutan.

Hakbang 3: Pagbubuo ng Python Script upang Serial Control Mouse Pointer

Ginamit ko ang Pyautogui Python library upang makontrol ang mouse pointer. Ang dahilan upang gamitin ang library na ito ay gumagana ito sa parehong Linux pati na rin ang Windows platform. Upang makontrol ang mouse pointer sa aking Raspberry Pi, una kong ikinonekta ang aking Pi sa isang display. Pagkatapos, ginamit ko ang mga sumusunod na API na ibinigay ng library upang makontrol ang aking mouse pointer:

  1. pyautogui.move (0, 200, 2) # gumagalaw ang mouse pababa ng 200 mga pixel sa loob ng 2 segundo
  2. pyautogui.click () # i-click ang mouse

Upang ma-filter ang data ng error na nagmumula sa Accelerometer, ginamit ko ang pag-average at iba pang mga pamamaraan ng pag-filter na madaling maunawaan sa pamamagitan ng naka-attach na code. Ang API pyautogui.move (0, y) ay ginamit sa isang paraan na ang mouse pointer ay maaaring umakyat-down o kaliwa-pakanan nang sabay-sabay. Ito ay sapagkat ang accelerometer ay nag-uulat ng mga palakol sa direksyon ng X, Y, at Z, ngunit ang API ay tumatagal lamang ng 2 mga argumento, X at Y axes. Samakatuwid, ang diskarte na ito ay mas angkop para sa aking accelerometer at upang mapa ang mga galaw sa screen.

Hakbang 4: Pagbuo ng Python Script upang Makontrol ang Mouse Pointer Sa pamamagitan ng Bluetooth

Pagbuo ng Python Script upang Makontrol ang Mouse Pointer Sa pamamagitan ng Bluetooth
Pagbuo ng Python Script upang Makontrol ang Mouse Pointer Sa pamamagitan ng Bluetooth

Ang bahaging ito ay isang advanced na application kung saan ang anumang laptop na may mga kakayahan sa Bluetooth ay maaaring makipag-usap sa Raspberry Pi sa isang modelo ng komunikasyon ng server-client at ihatid ang data ng mouse nang walang wireless. Upang ma-set up ang isang Windows 10 64-bit na laptop upang payagan ang Bluetooth Communication, kailangan naming sundin ang mga hakbang sa ibaba:

Windows 10:

  1. Lumikha ng isang papasok na port ng Bluetooth COM.
  2. Ipares ang Bluetooth ng Pi sa Bluetooth ng laptop sa pamamagitan ng paggawa ng pagtuklas sa Pi.
  3. I-install ang Python sa Windows.
  4. I-install ang pip sa Windows. Ginagamit ang pip upang mag-install ng mga aklatan sa isang makina ng Linux o Windows.
  5. I-install ang pyautogui sa Windows gamit ang: pip install pyautogui
  6. Kapag na-install na ang pyautogui sa aparato, i-install ang Pybluez sa Windows gamit ang sumusunod na utos sa Windows terminal gamit ang: pip install PyBluez-win10. Pinapagana ng PyBluez ang komunikasyon sa Bluetooth sa parehong Windows at Linux PC.
  7. Upang makabuo ng isang application sa isang Windows 10 laptop, kailangan naming i-install ang Microsoft Visual Studio (15-20 GB ng espasyo na kinakailangan) at mga tool sa pagbuo nito. Samakatuwid, kasama ang PyBluez, kailangan nating sundin ang mga tagubilin sa ibaba,

    1. I-download at patakbuhin ang "Visual Studio Installer":

    2. I-install ang "Visual Studio Build Tools 2017", suriin ang "Mga tool sa pagbuo ng Visual C ++" at "Mga tool sa paggawa ng Universal Windows Platform"
    3. git clone
    4. cd pybluez
    5. python setup.py install

  8. Kung ang mga tagubilin sa itaas ay sinusunod nang tama, ang pagpapatakbo ng Python sa windows terminal, at pag-import ng pyautogui at Bluetooth module ay dapat na gumana nang walang mga pagkakamali, ayon sa imahe sa itaas.
  9. Sa pybluez library na naka-install sa makina ng Windows, mag-navigate sa: pybluez-master / halimbawa / simple / rfcomm-server.py at isagawa ang paggamit ng python rfcomm-server.py. Kung ang terminal ay napupunta sa isang naghihintay na estado nang walang mga pagkakamali, pumunta sa seksyon sa ibaba para sa pag-set up ng Bluetooth sa Pi. Kung may mga error sa pag-install ng pybluez, sumangguni sa Mga Isyu ng GitHub para sa pag-debug.

Raspbian sa Raspberry Pi:

  1. I-install ang PyBluez sa Pi
  2. Patakbuhin ang halimbawa ng server sa Windows. Pagkatapos, sa Pi, mag-navigate sa pybluez-master / mga halimbawa / simple / rfcomm-client.py at magpatupad. Kung ang dalawang aparato ay nagsimulang makipag-usap, ang Bluetooth ay naka-setup na ngayon sa parehong mga aparato. Upang maunawaan ang higit pa sa kung paano gumagana ang socket na komunikasyon sa Python, sumangguni sa link na ito mula sa MIT.

Magkakaroon ng ilang karagdagang pag-parse ng data na kinakailangan upang magpadala ng data ng mga palakol mula sa Pi sa PC, dahil ang data ay ipinadala sa mga byte. Sumangguni sa nakalakip na code para sa karagdagang impormasyon sa komunikasyon ng data ng client at server.

Hakbang 5: Pag-embed ng Accelerometer at Button sa Glove

I-embed ang Accelerometer at Button sa Glove
I-embed ang Accelerometer at Button sa Glove
I-embed ang Accelerometer at Button sa Glove
I-embed ang Accelerometer at Button sa Glove

Kapag ang accelerometer ay mahusay na na-interfaced, ang skeleton system ay mukhang isang bagay sa unang imahe sa hakbang na ito.

Dahil ang ibabaw ng guwantes ay hindi patag, gumamit ako ng isang dummy credit card na dumarating sa aking mailbox bawat ngayon at pagkatapos. Tulad ng pangalawang imahe sa hakbang na ito, ikinabit ko ang dummy credit card sa tuktok na ibabaw ng aking guwantes na may duct tape. Sa ibabaw ng card, ikinabit ko ang aking accelerometer. Ang setup na ito ay sapat na matatag upang mapanatili ang aking accelerometer na matatag at magagawang masubaybayan ang aking mga kilos nang tumpak.

Inirerekumendang: