Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Kiihtyvyysmittarin liittäminen Raspberry Pi: n kanssa
- Vaihe 2: Liitäntäpainike Raspberry Pi: n kanssa
- Vaihe 3: Python -komentosarjan kehittäminen hiiren osoittimen sarjaohjaukseen
- Vaihe 4: Python -komentosarjan kehittäminen hiiren osoittimen ohjaamiseen Bluetoothin kautta
- Vaihe 5: Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tein Bluetooth-pohjaisen hiiren ohjaimen, jota voidaan käyttää hiiren osoittimen ohjaamiseen ja PC-hiireen liittyvien toimintojen suorittamiseen lennossa koskematta mihinkään pintoihin. Käsineeseen upotettua elektronista piiriä voidaan käyttää käsieleiden seuraamiseen kiihtyvyysmittarin kautta ja ne voidaan muuntaa hiiren osoittimen liikkeeksi. Tämä laite on myös liitetty painikkeeseen, joka toistaa vasemman painikkeen napsautuksen. Laite voidaan liittää sarjaan tietokoneeseen (USB: n kautta) tai langattomasti Bluetooth -yhteyden kautta. Bluetooth tarjoaa vankan ja yleisen langattoman tiedonsiirron isäntälaitteen ja tämän puettavan hiiren välillä. Koska Bluetooth on laajalti saatavilla ja se on upotettu lähes kaikkiin henkilökohtaisiin kannettaviin tietokoneisiin, tällaisen puettavan laitteen käyttötapa on laaja. Raspberry Pi: n, joka on yleisesti käytetty kehitysalusta eri hankkeisiin, käyttäminen, eri antureiden liitäntä ja tällaisen laitteen kehittäminen on helppoa ja skaalautuvaa. Käsine voidaan korvata millä tahansa muulla puettavalla, jotta sen käyttö olisi laajempaa.
Varotoimenpiteenä COVID-19-tautia vastaan on suositeltavaa välttää koskettamasta pintoja, jotka voidaan jakaa eri ihmisten kesken, ja kosketusnäyttöinen kannettava tietokone tai hiiri voivat olla näiden yhteisten pintojen joukossa. Tällaisen puettavan laitteen käyttäminen auttaa ylläpitämään hygieniaa ja pitämään yleisesti käytetyt pinnat puhtaina:)
Tarvikkeet
- Raspberry Pi 3 Malli B V1.2
- SparkFun -kolmiakselinen kiihtyvyysanturi - MMA8452Q
- Uros -naarasliitin
- Hanska
- Ilmastointiteippi
- Sakset
- Micro-USB-kaapeli
- HDMI -kaapeli (virheenkorjaukseen Raspberry Pi: n kautta)
Vaihe 1: Kiihtyvyysmittarin liittäminen Raspberry Pi: n kanssa
Käytin Sparkfunin kolmiakselista MMA8542Q-kiihtyvyysmittaria, joka käyttää I2C-kommunikaatioprotokollaa Raspberry Pi GPIO-nastojen kanssa ja lähettää akselitiedot. Tämä anturi tarjoaa erilaisia toimintatiloja, joissa on konfiguroitava tiedonsiirtonopeus, lepotilat, kiihtyvyysalue, suodatintila jne. Löysin Pibitsin koodin olevan erittäin hyödyllinen anturin alkuasetuksissa ja testatessani sitä kädenliikkeillä. On parempi sijoittaa anturi ensin tasaiselle pinnalle ja tehdä deterministisiä kallistuksia tarkkaillen anturin raaka -arvoja. Tämä on erityisen hyödyllistä ymmärtää, miten tämä anturi reagoi eri käsieleillä ja miten voimme asettaa kynnysarvot sovelluksellemme. Kun kiihtyvyysmittari on liitetty onnistuneesti, näet Pi: n terminaalinäytössä tulevat raakadatatiedot.
Vaihe 2: Liitäntäpainike Raspberry Pi: n kanssa
Tässä puettavassa laitteessa liitin painikkeen, joka voi toimia hiiren vasemmalla painikkeella, jotta voin napsauttaa näytön kuvakkeita. Painikkeen kaksi päätä kytketään sitten Pi: n kahteen GPIO -nastaan. Yksi nastoista antaa loogisen korkean ja toinen nasta lukee arvon. Kun painiketta painetaan, piiri sulkeutuu ja sisääntulonappi pystyy lukemaan loogisen arvon, jota sitten käsitellään komentosarjalla, jonka kirjoitin jäljittelemään hiiren vasenta napsautusta. Juotosraudan puutteen vuoksi käytin teippiä liittämään puserot painikkeeseen.
Vaihe 3: Python -komentosarjan kehittäminen hiiren osoittimen sarjaohjaukseen
Käytin Pyautogui Python -kirjastoa hiiren osoittimen ohjaamiseen. Syy tämän kirjaston käyttöön oli se, että se toimii sekä Linuxilla että Windows -alustalla. Hallitaksesi hiiren osoitinta Raspberry Pi -laitteessani, liitin ensin Pi: n näyttöön. Sitten käytin seuraavia kirjaston tarjoamia sovellusliittymiä hiiren osoittimen hallintaan:
- pyautogui.move (0, 200, 2) # siirtää hiirtä 200 pikseliä alaspäin 2 sekunnin aikana
- pyautogui.click () # napsauta hiirtä
Kiihtyvyysmittarin virhetietojen suodattamiseksi käytin keskiarvoistusta ja muita suodatusmenetelmiä, jotka on helppo ymmärtää liitteenä olevan koodin avulla. Sovellusliittymää pyautogui.move (0, y) käytettiin siten, että hiiren osoitin voi siirtyä ylös tai alas tai vasemmalta oikealle kerrallaan. Tämä johtuu siitä, että kiihtyvyysmittari ilmoittaa akselit X-, Y- ja Z -suunnassa, mutta sovellusliittymä ottaa vain kaksi argumenttia, X- ja Y -akselit. Näin ollen tämä lähestymistapa sopi paljon kiihtyvyysmittarilleni ja eleiden kartoittamiseen näytöllä.
Vaihe 4: Python -komentosarjan kehittäminen hiiren osoittimen ohjaamiseen Bluetoothin kautta
Tämä osa on edistynyt sovellus, jossa mikä tahansa Bluetooth-ominaisuuksilla varustettu kannettava tietokone voi kommunikoida Raspberry Pi: n kanssa palvelin-asiakas-viestintämallissa ja lähettää hiiren koordinaattitietoja langattomasti. Jotta voimme määrittää 64-bittisen Windows 10 -kannettavan Bluetooth-yhteyden sallimiseksi, meidän on noudatettava seuraavia ohjeita:
Windows 10:
- Luo saapuva Bluetooth -COM -portti.
- Yhdistä Pi: n Bluetooth ja kannettavan tietokoneen Bluetooth tekemällä Pi löydettäväksi.
- Asenna Python Windowsiin.
- Asenna pip Windowsiin. Pip -ohjelmaa käytetään kirjastojen asentamiseen Linux- tai Windows -koneelle.
- Asenna pyautogui Windowsiin käyttämällä: pip install pyautogui
- Kun pyautogui on asennettu laitteeseen, asenna Pybluez Windowsiin käyttämällä seuraavaa komentoa Windows-päätteessä käyttäen: pip install PyBluez-win10. PyBluez mahdollistaa Bluetooth -yhteyden sekä Windows- että Linux -tietokoneissa.
-
Jotta voimme kehittää sovelluksen Windows 10 -tietokoneeseen, meidän on asennettava Microsoft Visual Studio (15-20 Gt tilaa) ja sen rakennustyökalut. Siksi meidän on PyBluezin kanssa noudatettava alla olevia ohjeita,
- Lataa ja suorita "Visual Studio Installer":
-
Asenna "Visual Studio Build Tools 2017", tarkista "Visual C ++ Build Build Tools" ja "Universal Windows Platform Build Tools"
- git -klooni
- cd pybluez
python setup.py asennus
- Jos yllä olevia ohjeita noudatetaan oikein, Pythonin suorittaminen Windows -päätelaitteessa sekä pyautogui- ja Bluetooth -moduulien tuonti toimivat virheettömästi yllä olevan kuvan mukaisesti.
- Siirry Windows-koneeseen asennetussa pybluez-kirjastossa osoitteeseen: pybluez-master / example / simple / rfcomm-server.py ja suorita se käyttämällä python rfcomm-server.py. Jos päätelaite siirtyy odotustilaan ilman virheitä, siirry alla olevaan osaan Bluetoothin asettamiseksi Pi: lle. Jos pybluezin asentamisessa on virheitä, katso virheenkorjaus kohdasta GitHub -ongelmat.
Raspbian Raspberry Pi: ssä:
- Asenna PyBluez Pi: lle
- Suorita palvelimen esimerkki Windowsissa. Siirry sitten Pi: llä kohtaan pybluez-master / esimerkit / simple / rfcomm-client.py ja suorita. Jos molemmat laitteet ovat alkaneet kommunikoida, Bluetooth on nyt määritetty molemmille laitteille. Lisätietoja MIT: n pistorasiaviestinnän toiminnasta saat tämän linkin kautta.
Akselitietojen lähettämiseksi Pi: ltä PC: lle tarvitaan joitain lisädatan jäsentämistietoja, koska tiedot lähetetään tavuina. Katso lisätietoja asiakkaan ja palvelimen tiedonsiirrosta liitteenä olevasta koodista.
Vaihe 5: Kiihtyvyysmittarin ja painikkeen upottaminen käsineeseen
Kun kiihtyvyysmittari on liitetty hyvin, luurankojärjestelmä näyttää jotain ensimmäiseltä kuvalta tässä vaiheessa.
Koska käsineen pinta ei ole tasainen, käytin silloin tällöin postilaatikkooni tulevaa tyhjää luottokorttia. Tämän vaiheen toisen kuvan mukaisesti kiinnitin nuken luottokortin käsineeni yläpintaan teipillä. Liitin kortin päälle kiihtyvyysmittarin. Tämä asetus oli riittävän vankka pitämään kiihtyvyysmittarini vakaana ja pystymään seuraamaan eleitäni tarkasti.
Suositeltava:
Windows -alijärjestelmän asennus Linuxille (WSL): 3 vaihetta
Windows -alijärjestelmän (WSL) asentaminen: Tämän ohjejoukon tarkoituksena on auttaa käyttäjiä asentamaan Windows -alijärjestelmä Linuxille Windows 10 -tietokoneeseen. Tämän ohjejoukon käyttämää erityistä Linux -jakelua kutsutaan Ubuntuksi. Katso tästä yleiskatsaus eri Linuxista
DIN -kiskoasennus Arduino YUN: lle, UNO: lle ja nanolle: 7 vaihetta
DIN -kiskokiinnitys Arduino YUN: lle, UNO: lle ja Nanolle: Joskus on hyödyllistä asentaa Arduino -projektisi pysyvästi kytkentäkaappiin - esimerkiksi kodin automaatioon tai teollisiin sovelluksiin. Tällaisissa tapauksissa ArduiBox -kotelomme Arduino Nanolle, UNO: lle ja Yun Rev2: lle voi auttaa sinua tulemaan matkaan
Lisätty todellisuus (AR) Dragonboard410c: lle tai Dragonboard820c: lle OpenCV: n ja Python 3.5: n avulla: 4 vaihetta
Lisätty todellisuus (AR) Dragonboard410c: lle tai Dragonboard820c: lle OpenCV: n ja Python 3.5: n käyttö: Tässä ohjeessa kuvataan OpenCV: n, Python 3.5: n ja Python 3.5: n riippuvuuksien asentaminen lisätyn todellisuuden sovelluksen suorittamiseen
ESP32 -kehitys Windows -alijärjestelmässä Linuxille: 7 vaihetta
ESP32-kehitys Windows-alijärjestelmässä Linuxille: ESP32 on Espressifin edullinen ja pienitehoinen mikrokortti. Se on suosittu valmistajien keskuudessa, koska se on halpa ja sen sisäänrakennetut oheislaitteet, kuten WiFi ja Bluetooth. ESP32: n kehitystyökalut edellyttävät kuitenkin Unix-tyyppistä
Google Assistant PC: lle/Macille/Linuxille: 5 vaihetta
Google Assistant PC: lle/Macille/Linuxille: Google Assistant on Googlen vastaus Amazonin Alexa -älykoti -avustajaan. Alun perin saatavilla vain rajoitetuilla toiminnoilla Google Allo -sovelluksessa, mutta Google Assistant julkaistiin myöhemmin Google Home- ja Pixel -älypuhelimilla