Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pag-interfacing ng Accelerometer Sa Raspberry Pi
- Hakbang 2: Pag-interfacing ng Push-button Sa Raspberry Pi
- Hakbang 3: Pagbubuo ng Python Script upang Serial Control Mouse Pointer
- Hakbang 4: Pagbuo ng Python Script upang Makontrol ang Mouse Pointer Sa pamamagitan ng Bluetooth
- Hakbang 5: Pag-embed ng Accelerometer at Button sa Glove
Video: [Nakasuot ng Mouse] Nakasuot ng Mouse sa Controller na batay sa Bluetooth para sa Windows 10 at Linux: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
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
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
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:
- pyautogui.move (0, 200, 2) # gumagalaw ang mouse pababa ng 200 mga pixel sa loob ng 2 segundo
- 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
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:
- Lumikha ng isang papasok na port ng Bluetooth COM.
- Ipares ang Bluetooth ng Pi sa Bluetooth ng laptop sa pamamagitan ng paggawa ng pagtuklas sa Pi.
- I-install ang Python sa Windows.
- I-install ang pip sa Windows. Ginagamit ang pip upang mag-install ng mga aklatan sa isang makina ng Linux o Windows.
- I-install ang pyautogui sa Windows gamit ang: pip install pyautogui
- 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.
-
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,
-
I-download at patakbuhin ang "Visual Studio Installer":
- 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"
- git clone
- cd pybluez
python setup.py install
-
- 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.
- 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:
- I-install ang PyBluez sa Pi
- 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
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:
Batay sa LED Control na Batay sa Google Assistant Gamit ang Raspberry Pi: 3 Hakbang
Kontrol ng LED na Batay sa Google Assistant Gamit ang Raspberry Pi: Hoy! Sa proyektong ito, ipapatupad namin ang kontrol ng batay sa Google Assistant sa LED gamit ang Raspberry Pi 4 gamit ang HTTP sa Python. Maaari mong palitan ang LED ng isang bombilya (malinaw naman na hindi literal, kakailanganin mo ng isang relay module sa pagitan) o anumang iba pang bahay
LDR Batay Sensor / Detector ng Batay: 3 Mga Hakbang
LDR Batay Sensor / Detector ng ilaw: Ang mga ilaw sensor at detektor ay lubos na kapaki-pakinabang para sa mga microcontroller at naka-embed na mga system at pagmamanman ng kasidhian ay dapat ding gawin. Ang isa sa pinakasimpleng at pinakamurang mga naturang sensor ay LDR. Ang LDR o Light Dependent Resistors ay maaaring madaling gamitin wit
Batay sa Arduino Hindi Makipag-ugnay sa Infrared Thermometer - Thermometer na Batay sa IR Gamit ang Arduino: 4 na Hakbang
Batay sa Arduino na Hindi Nakikipag-ugnay sa Infrared Thermometer | Thermometer na Batay sa IR Gamit ang Arduino: Kumusta mga tao sa mga itinuturo na ito ay gagawa kami ng isang hindi nakikipag-ugnay na Thermometer gamit ang arduino. Dahil kung minsan ang temperatura ng likido / solid ay masyadong mataas o paraan upang mababa at pagkatapos ay mahirap makipag-ugnay dito at basahin ito temperatura noon sa mga tagpong iyon
Sistema ng Pagsukat ng Batay ng Static na Batay sa Sistema ng Pag-iilaw ng Emergency: 8 Hakbang
Static Elektrisidad na Pagsukat ng Batay sa Sistema ng Pag-iilaw ng Pagbabagong-buhay: Naisip mo ba na gumawa ng isang emergency na sistema ng pag-iilaw kapag namatay ang iyong pangunahing lakas. At dahil mayroon kang kahit kaunting kaalaman sa electronics dapat mong malaman na madali mong suriin ang pagkakaroon ng lakas ng mains sa pamamagitan ng simpleng pagsukat ng
Pinaliit na Nakasuot na Lock-in Amplifier (at Sonar System para sa Mga Nakasuot, Atbp ..): 7 Mga Hakbang
Miniature Wearable Lock-in Amplifier (at Sonar System para sa Wearables, Etc ..): Bumuo ng isang maliit na maliit na low-cost lock-in amplifier na maaaring mai-embed sa mga frame ng eyeglass at upang lumikha ng isang sonar vision system para sa bulag, o isang simpleng ultrasound makina na patuloy na sinusubaybayan ang iyong puso at gumagamit ng Human-Machine Learning upang balaan ang p