Sadržaj:
- Pribor
- Korak 1: Povezivanje akcelerometra s Raspberry Pi
- Korak 2: Povezivanje gumba s Raspberry Pi
- Korak 3: Razvoj Python skripte za serijsku kontrolu pokazivača miša
- Korak 4: Razvoj Python skripte za kontrolu pokazivača miša putem Bluetootha
- Korak 5: Ugrađivanje akcelerometra i gumba na rukavicu
Video: [Nosivi miš] Kontroler nosivog miša na bazi Bluetooth-a za Windows 10 i Linux: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Napravio sam kontroler miša temeljen na Bluetooth-u koji se može koristiti za upravljanje pokazivačem miša i izvođenje operacija povezanih s mišem s računala u hodu, bez dodirivanja bilo koje površine. Elektroničko kolo, koje je ugrađeno u rukavicu, može se koristiti za praćenje gesta rukama kroz akcelerometar i to se može prevesti u pomicanje pokazivača miša. Ovaj uređaj također je povezan s gumbom koji ponavlja klik lijeve tipke. Uređaj se može serijski priključiti na računalo (putem USB -a) ili bežično putem Bluetooth veze. Bluetooth pruža robusnu i univerzalnu bežičnu komunikaciju između uređaja domaćina i ovog nosivog miša. Budući da je Bluetooth široko dostupan i ugrađen je u gotovo sva osobna prijenosna računala, slučaj upotrebe takvog nosivog uređaja je širok. Korištenje Raspberry Pi, koja je često korištena razvojna platforma za različite projekte, povezivanje različitih senzora i razvoj takvog uređaja je jednostavno i skalabilno. Rukavica se može zamijeniti bilo kojom drugom nosivom opremom kako bi se povećala njezina primjena.
Kao mjera opreza protiv pandemije COVID-19, preporučljivo je izbjegavati dodirivanje površina koje se mogu dijeliti među različitim ljudima, a prijenosno računalo ili miš s dodirnim zaslonom mogu biti među tim uobičajenim površinama. Korištenje takvog nosivog uređaja pomaže u održavanju higijene i održavanju uobičajeno korištenih površina dezinficiranim:)
Pribor
- Raspberry Pi 3 Model B V1.2
- SparkFun troosni akcelerometar - MMA8452Q
- Muško -ženska kratkospojna žica
- Rukavica
- Ljepljiva traka
- Škare
- Mikro-USB kabel
- HDMI kabel (za ispravljanje pogrešaka putem Raspberry Pi)
Korak 1: Povezivanje akcelerometra s Raspberry Pi
Koristio sam troosni akcelerometar MMA8542Q tvrtke Sparkfun koji koristi I2C komunikacijski protokol za razgovor s Raspberry Pi GPIO pinovima i slanje podataka o osi. Ovaj senzor nudi različite načine rada s podesivom brzinom prijenosa podataka, načinima mirovanja, rasponom ubrzanja, načinom filtriranja itd. Otkrio sam da je kod iz programa Pibits vrlo koristan u mojoj početnoj konfiguraciji senzora i testiranju rukama gestama. Bolje je senzor prvo postaviti na ravnu površinu i napraviti determinističke nagibe promatrajući sirove vrijednosti senzora. To je osobito korisno za razumijevanje načina na koji ovaj senzor reagira s različitim pokretima ruku i kako možemo postaviti pragove za našu aplikaciju. Nakon što se mjerač ubrzanja uspješno poveže, možete vidjeti neobrađene podatke osi koje dolaze na Pi terminal terminal.
Korak 2: Povezivanje gumba s Raspberry Pi
Na ovom nosivom uređaju spojio sam gumb koji može funkcionirati kao lijevi gumb miša tako da mogu kliknuti ikone na ekranu. Dva kraja gumba zatim su spojena na 2 GPIO pina Pi. Jedan od pinova daje logički maksimum, a drugi pin čita tu vrijednost. Kada se pritisne gumb, krug se zatvara i ulazni pin može očitati logički visoku vrijednost, koja se zatim obrađuje skriptom koju sam napisao za oponašanje klika lijevim mišem. Zbog nedostatka lemilice, upotrijebio sam ljepljivu traku za spajanje skakača s gumbom.
Korak 3: Razvoj Python skripte za serijsku kontrolu pokazivača miša
Koristio sam knjižnicu Pyautogui Python za kontrolu pokazivača miša. Razlog korištenja ove knjižnice bio je taj što radi i na Linuxu i na Windows platformi. Kako bih kontrolirao pokazivač miša na svom Raspberry Pi -u, prvo sam spojio svoj Pi na zaslon. Zatim sam koristio sljedeće API -je koje pruža knjižnica za kontrolu pokazivača miša:
- pyautogui.move (0, 200, 2) # pomiče miša dolje za 200 piksela tijekom 2 sekunde
- pyautogui.click () # kliknite mišem
Kako bih filtrirao podatke o pogreškama koji dolaze s Accelerometra, upotrijebio sam prosjek i druge metode filtriranja koje se lako mogu razumjeti kroz priloženi kôd. API pyautogui.move (0, y) korišten je na takav način da pokazivač miša može ići gore-dolje ili lijevo-desno u isto vrijeme. To je zato što mjerač ubrzanja izvještava osi u smjeru X, Y i Z, ali API uzima samo 2 argumenta, osi X i Y. Stoga je ovaj pristup bio vrlo prikladan za moj akcelerometar i za mapiranje gesta na ekranu.
Korak 4: Razvoj Python skripte za kontrolu pokazivača miša putem Bluetootha
Ovaj dio je napredna aplikacija u kojoj bilo koje prijenosno računalo koje ima Bluetooth mogućnosti može komunicirati s Raspberry Pi-om u komunikacijskom modelu poslužitelj-klijent i bežično prenositi koordinatne podatke miša. Kako bismo postavili 64-bitno prijenosno računalo sa sustavom Windows 10 tako da dopušta Bluetooth komunikaciju, moramo slijediti donje korake:
Windows 10:
- Stvorite dolazni Bluetooth COM port.
- Uparite Pi -jev Bluetooth s Bluetooth -om prijenosnog računala tako da Pi bude vidljiv.
- Instalirajte Python na Windows.
- Instalirajte pip na Windows. Pip se koristi za instaliranje knjižnica na Linux ili Windows stroju.
- Instalirajte pyautogui na Windows pomoću: pip install pyautogui
- Nakon što je pyautogui instaliran na uređaj, instalirajte Pybluez na Windows pomoću sljedeće naredbe na Windows terminalu pomoću: pip install PyBluez-win10. PyBluez omogućuje Bluetooth komunikaciju na Windows i Linux računalima.
-
Da bismo razvili aplikaciju na prijenosnom računalu sa sustavom Windows 10, moramo instalirati Microsoft Visual Studio (potrebno je 15-20 GB prostora) i njegove alate za izgradnju. Stoga, zajedno s PyBluezom, moramo slijediti donje upute,
- Preuzmite i pokrenite "Visual Studio Installer":
-
Instalirajte "Visual Studio Build Tools 2017", označite "Visual C ++ build tools" i "Universal Windows Platform build tools"
- git klon
- cd pybluez
python setup.py install
- Ako se gornje upute točno slijede, pokretanje Pythona na Windows terminalu i uvoz pyautogui i Bluetooth modula trebali bi raditi bez grešaka, kao na gornjoj slici.
- U biblioteci pybluez instaliranoj na Windows računalu idite na: pybluez-master / examples / simple / rfcomm-server.py i izvršite pomoću python rfcomm-server.py. Ako terminal prelazi u stanje čekanja bez grešaka, idite na donji odjeljak za postavljanje Bluetootha na Pi. Ako postoje greške pri instaliranju pyblueza, za otklanjanje pogrešaka pogledajte GitHub Problemi.
Raspbian na Raspberry Pi:
- Instalirajte PyBluez na Pi
- Pokrenite primjer poslužitelja u sustavu Windows. Zatim na Pi idite na pybluez-master / examples / simple / rfcomm-client.py i izvršite. Ako su dva uređaja započela komunikaciju, Bluetooth je sada postavljen na oba uređaja. Da biste saznali više o tome kako komunikacija utičnica radi s Pythonom, pogledajte ovu vezu s MIT -a.
Za slanje podataka osi s Pi na računalo bit će potrebno dodatno raščlanjivanje podataka jer se podaci šalju u bajtovima. Za dodatne informacije o komunikaciji klijenta i poslužitelja pogledajte priloženi kôd.
Korak 5: Ugrađivanje akcelerometra i gumba na rukavicu
Nakon što se mjerač ubrzanja dobro spoji, sustav kostura izgleda kao prva slika na ovom koraku.
Kako površina rukavice nije ravna, upotrijebio sam lažnu kreditnu karticu koja mi s vremena na vrijeme dolazi u poštanski sandučić. Prema drugoj slici na ovom koraku, ljepljivom sam trakom pričvrstio lažnu kreditnu karticu na gornju površinu rukavice. Preko kartice sam priključio mjerač ubrzanja. Ova je postavka bila dovoljno robusna da mi akcelerometar ostane stabilan i da može točno pratiti moje geste.
Preporučeni:
Posthirt: Otkrivanje nosivog držanja u stvarnom vremenu: 9 koraka
Posthirt: Otkrivanje nosivog položaja u stvarnom vremenu: Postshirt je bežični sustav za otkrivanje držanja u stvarnom vremenu koji prenosi i klasificira podatke akcelerometra s Adafruit Feathera u Android aplikaciju putem Bluetootha. Cjeloviti sustav može otkriti u stvarnom vremenu ako korisnik ima loše držanje i
Pokazivač miša za prilagođeni računalni miš: 11 koraka
Prilagođeni pokazivač miša za računalo: Da li vam se ikada dosadilo da pokazivač miša uvijek izgleda isto? U ovom Instructableu naučit ćete kako izraditi vlastiti prilagođeni pokazivač miša i postaviti ga za rad na vašem računalu sa sustavom Windows 10
Infracrveni termometar na bazi Arduina - IR termometar na bazi Arduina: 4 koraka
Infracrveni termometar na bazi Arduina | Infracrveni termometar pomoću Arduina: Bok dečki, u ovim uputama napravit ćemo beskontaktni termometar pomoću arduina. Budući da je ponekad temperatura tekućine/krutine previsoka ili preniska, a onda je teško stupiti u kontakt s njom i pročitati je temperatura u tom prizoru
RYB080l Bluetooth vodič za nosivi uređaj: 8 koraka
RYB080l Bluetooth vodič za nosivi uređaj: Hej, što ima, dečki! Akarsh ovdje iz CETech -a. Ovaj moj projekt više je krivulja učenja za razumijevanje rada malog Bluetooth modula iz Reyaxa. Prvo ćemo razumjeti sam modul i pokušati ga izravno koristiti, a zatim ćemo zajedno
Presadite svoje klasične Mac miš miša s jednim gumbom: 5 koraka
Presadite svoje klasične Mac miš miša s jednim gumbom: dosadilo vam je od novih glupih miševa? umorni ste od svojih klasičnih Mac tipkovnica s jednim gumbom, nedostatka … svega osim jednog gumba? loše će vam pokazati kako presaditi nutrinu jeftinog miša dobre volje u vaš Mac miš kako biste postigli savršenu ravnotežu stila