Sadržaj:
- Supplies
- Korak 1: Povezivanje akcelerometra s Raspberry Pi
- Korak 2: Povezivanje dugmeta sa 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 dugmeta na rukavicu
Video: [Nosivi miš] Kontroler nosivog miša zasnovanog na Bluetooth-u za Windows 10 i Linux: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Napravio sam kontroler miša zasnovan na Bluetooth-u koji se može koristiti za upravljanje pokazivačem miša i izvođenje operacija povezanih sa mišem sa računara u hodu, bez dodirivanja bilo koje površine. Elektroničko kolo, ugrađeno u rukavicu, može se koristiti za praćenje pokreta rukama kroz akcelerometar i to se može prevesti u pomicanje pokazivača miša. Ovaj uređaj je također povezan s gumbom koji ponavlja klik lijevom tipkom. Uređaj se može serijski priključiti na računar (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. Kako je Bluetooth široko dostupan i ugrađen je u gotovo sve osobne prijenosne računare, 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 njena primjena.
Kao mjera opreza protiv pandemije COVID-19, preporučljivo je izbjegavati dodirivanje površina koje se mogu dijeliti između različitih ljudi, a prijenosni računar ili miš s ekranom osjetljivim na dodir 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:)
Supplies
- Raspberry Pi 3 Model B V1.2
- SparkFun troosni akcelerometar - MMA8452Q
- Muško -ženska kratkospojna žica
- Rukavica
- Ljepljiva traka
- Makaze
- Mikro-USB kabl
- HDMI kabel (za otklanjanje grešaka putem Raspberry Pi)
Korak 1: Povezivanje akcelerometra s Raspberry Pi
Koristio sam troosni akcelerometar MMA8542Q kompanije Sparkfun koji koristi I2C komunikacijski protokol za razgovor sa Raspberry Pi GPIO pinovima i slanje podataka o osi. Ovaj senzor pruža različite načine rada s konfiguriranom brzinom prijenosa podataka, načinima mirovanja, rasponom ubrzanja, načinom filtriranja itd. Otkrio sam da je kod iz Pibits -a vrlo koristan u mojoj početnoj konfiguraciji senzora i testiranju pokretima ruke. Bolje je senzor prvo postaviti na ravnu površinu i napraviti determinističke nagibe promatrajući neobrađene vrijednosti senzora. Ovo je posebno korisno za razumijevanje kako ovaj senzor reagira s različitim pokretima ruku i kako možemo postaviti pragove za našu aplikaciju. Nakon što se akcelerometar uspješno poveže, možete vidjeti neobrađene podatke osi koje dolaze na Pi terminal terminal.
Korak 2: Povezivanje dugmeta sa Raspberry Pi
Na ovom nosivom uređaju spojio sam dugme koje može raditi kao lijevo dugme miša tako da mogu kliknuti na ikone na ekranu. Dva kraja gumba su zatim spojena na 2 GPIO pina Pi. Jedan od pinova daje logički maksimum, a drugi pin čita tu vrijednost. Kada se pritisne dugme, krug se zatvara i ulazni pin može očitati logičku vrijednost, koja se zatim obrađuje skriptom koju sam napisao za oponašanje klika lijevim mišem. Zbog nedostatka lemilice, spojio sam kratkospojnike pomoću dugmeta pomoću ljepljive trake.
Korak 3: Razvoj Python skripte za serijsku kontrolu pokazivača miša
Koristio sam Pyautogui Python biblioteku za kontrolu pokazivača miša. Razlog za korištenje ove biblioteke bio je taj što radi i na Linuxu i na Windows platformi. Da 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 biblioteka za kontrolu pokazivača miša:
- pyautogui.move (0, 200, 2) # pomiče miša prema dolje za 200 piksela u trajanju od 2 sekunde
- pyautogui.click () # kliknite mišem
Da bih filtrirao podatke o greš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 način da pokazivač miša može ići gore-dolje ili lijevo-desno u isto vrijeme. To je zato što akcelerometar 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 pokreta na ekranu.
Korak 4: Razvoj Python skripte za kontrolu pokazivača miša putem Bluetootha
Ovaj dio je napredna aplikacija u kojoj bilo koji laptop koji ima Bluetooth mogućnosti može komunicirati s Raspberry Pi-om u komunikacijskom modelu server-klijent i bežično prenositi koordinatne podatke miša. Da bismo postavili Windows 10 64-bitni laptop koji će omogućiti Bluetooth komunikaciju, moramo slijediti donje korake:
Windows 10:
- Kreirajte dolazni Bluetooth COM port.
- Uparite Pi -jev Bluetooth s Bluetooth -om na prijenosnom računaru čineći Pi vidljivim.
- Instalirajte Python na Windows.
- Instalirajte pip na Windows. Pip se koristi za instaliranje biblioteka na Linux ili Windows mašini.
- 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 koristeći: pip install PyBluez-win10. PyBluez omogućava Bluetooth komunikaciju na Windows i Linux računarima.
-
Da bismo razvili aplikaciju na laptopu sa operativnim sistemom Windows 10, moramo instalirati Microsoft Visual Studio (potrebno je 15-20 GB prostora) i njegove alate za izgradnju. Stoga, zajedno s PyBluezom, moramo slijediti upute u nastavku,
- 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 clone
- cd pybluez
python setup.py install
- Ako se gornja uputstva pravilno 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čunaru 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 u instaliranju pyblueza, pogledajte GitHub Problemi za otklanjanje grešaka.
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 socket komunikacija funkcionira s Pythonom, pogledajte ovu vezu s MIT -a.
Za slanje podataka osi iz Pi na PC bit će potrebno dodatno raščlanjivanje podataka, jer se podaci šalju u bajtovima. Pogledajte priloženi kôd za više informacija o komunikaciji podataka klijenta i poslužitelja.
Korak 5: Ugrađivanje akcelerometra i dugmeta na rukavicu
Kada se akcelerometar dobro poveže, skeletni sistem izgleda kao prva slika na ovom koraku.
Kako površina rukavice nije ravna, koristio sam lažnu kreditnu karticu koja mi s vremena na vrijeme dolazi u poštanski sandučić. Prema drugoj slici na ovom koraku, ljepljivom trakom sam pričvrstio lažnu kreditnu karticu na gornju površinu rukavice. Preko kartice sam priključio akcelerometar. Ova postavka bila je dovoljno robusna da održi moj akcelerometar stabilnim i da može precizno pratiti moje geste.
Preporučuje se:
Dizajn trenutnog oscilatora zasnovanog na audio pojačalima klase D: 6 koraka
Dizajn trenutnog oscilatora zasnovanog na audio pojačalima klase D: Posljednjih godina, pojačala audio klase D postala su poželjno rješenje za prijenosne audio sisteme kao što su MP3 i mobilni telefoni zbog njihove visoke efikasnosti i niske potrošnje energije. Oscilator je važan dio klase D au
Sistem prisustva zasnovanog na otiscima prstiju i RFID -u koji koristi Raspberry Pi i MySQL bazu podataka: 5 koraka
Sistem prisustva zasnovanog na otiscima prstiju i RFID -u koji koristi Raspberry Pi i MySQL bazu podataka: Video ovog projekta
Posthirt: Otkrivanje nosivog stava u stvarnom vremenu: 9 koraka
Postshirt: Otkrivanje nosivog položaja u stvarnom vremenu: Postshirt je bežični sistem za otkrivanje držanja u stvarnom vremenu koji prenosi i klasificira podatke akcelerometra s Adafruit Feather -a u Android aplikaciju putem Bluetootha. Cijeli sistem može otkriti u stvarnom vremenu ako korisnik ima loše držanje i
Presadite svoje klasične Mac miš miša sa jednim dugmetom: 5 koraka
Presadite svoje klasične Mac miš miša sa jednim dugmetom: dosadilo vam je od glupih novih miševa? umorni ste od vaših klasičnih Mac tipkovnica s jednim gumbom, nedostatka … svega osim jednog dugmeta? 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
Arduino miša miša: 4 koraka (sa slikama)
Arduino miš Wiggler: Nekako je neugodno svaki put kada računar zaspi, posebno kada ste usred PowerPoint prezentacije ili radite od kuće, ali bi trebali biti stalno dostupni na mreži. Ovaj jednostavan uređaj će se pomerati (jiggl