Turinys:

[Nešiojama pelė] „Bluetooth“nešiojamas pelės valdiklis, skirtas „Windows 10“ir „Linux“: 5 veiksmai
[Nešiojama pelė] „Bluetooth“nešiojamas pelės valdiklis, skirtas „Windows 10“ir „Linux“: 5 veiksmai

Video: [Nešiojama pelė] „Bluetooth“nešiojamas pelės valdiklis, skirtas „Windows 10“ir „Linux“: 5 veiksmai

Video: [Nešiojama pelė] „Bluetooth“nešiojamas pelės valdiklis, skirtas „Windows 10“ir „Linux“: 5 veiksmai
Video: FIFA 18 BEST SQUAD?! w/ 91 RONALDINHO & 95 PELE GAMEPLAY! 2024, Lapkritis
Anonim
Image
Image
Sąsajos akselerometras su „Raspberry Pi“
Sąsajos akselerometras su „Raspberry Pi“

Aš sukūriau „Bluetooth“pagrindu sukurtą pelės valdiklį, kuriuo galima valdyti pelės žymeklį ir atlikti su pele susijusias operacijas, neliesdami jokių paviršių. Elektroninė grandinė, įterpta į pirštinę, gali būti naudojama rankų gestams sekti naudojant pagreičio matuoklį ir kurią galima paversti pelės žymeklio judesiu. Šis įrenginys taip pat yra sujungtas su mygtuku, kuris pakartoja kairiojo mygtuko paspaudimą. Prietaisą galima prijungti nuosekliai prie kompiuterio (per USB) arba belaidžiu būdu per „Bluetooth“ryšį. „Bluetooth“užtikrina tvirtą ir universalų belaidį ryšį tarp pagrindinio įrenginio ir šios nešiojamos pelės. Kadangi „Bluetooth“yra plačiai prieinama ir įterpta į beveik visus asmeninius nešiojamuosius kompiuterius, tokio nešiojamojo įrenginio naudojimo atvejis yra platus. Naudojant „Raspberry Pi“, kuri yra dažniausiai naudojama įvairių projektų kūrimo platforma, įvairių jutiklių sąsajos ir tokio įrenginio kūrimas yra lengvas ir keičiamas. Pirštinę galima pakeisti bet kokia kita dėvima, kad jos naudojimas būtų platesnis.

Atsargumo dėlei nuo COVID-19 patartina vengti liesti paviršius, kuriais gali dalintis skirtingi žmonės, o nešiojamasis jutiklinis ekranas arba pelė gali būti tarp tų bendrų paviršių. Naudojant tokį nešiojamą prietaisą, palaikoma higiena ir dezinfekuojami dažniausiai naudojami paviršiai:)

Prekės

  • „Raspberry Pi 3“modelis B V1.2
  • „SparkFun“trijų ašių pagreičio matuoklis - MMA8452Q
  • Vamzdelis nuo patelės iki patelės
  • Pirštinė
  • Lipni juosta
  • Žirklės
  • Mikro-USB kabelis
  • HDMI kabelis (derinimui per „Raspberry Pi“)

1 žingsnis: akselerometro sąsaja su „Raspberry Pi“

Sąsajos akselerometras su „Raspberry Pi“
Sąsajos akselerometras su „Raspberry Pi“

Aš naudoju „Sparkfun“trijų ašių akselerometrą MMA8542Q, kuris naudoja I2C ryšio protokolą kalbėdamas su „Raspberry Pi GPIO“kaiščiais ir siunčia ašių duomenis. Šis jutiklis siūlo įvairius veikimo režimus su konfigūruojamu duomenų perdavimo greičiu, miego režimais, pagreičio diapazonu, filtro režimu ir tt Radau, kad „Pibits“kodas yra labai naudingas atliekant pradinę jutiklio konfigūraciją ir išbandant jį rankos gestais. Geriau pirmiausia padėkite jutiklį ant lygaus paviršiaus ir atlikite deterministinius pakreipimus, stebėdami neapdorotas jutiklio vertes. Tai ypač naudinga norint suprasti, kaip šis jutiklis reaguoja įvairiais rankų gestais ir kaip galime nustatyti savo programos slenksčius. Kai akselerometras bus sėkmingai sujungtas, „Pi“terminalo ekrane matysite neapdorotų ašių duomenis.

2 veiksmas: sąsaja su mygtuku „Raspberry Pi“

Sąsajos mygtukas su „Raspberry Pi“
Sąsajos mygtukas su „Raspberry Pi“

Šiame nešiojamajame įrenginyje aš sujungiau mygtuką, kuris gali veikti kaip kairysis pelės mygtukas, kad galėčiau spustelėti piktogramas ekrane. Tada du mygtuko galai yra prijungti prie 2 „Pi“GPIO kaiščių. Vienas iš kaiščių išleidžia loginį aukštį, o kitas kaištis nuskaito šią vertę. Paspaudus mygtuką, grandinė užsidaro ir įvesties kaištis gali nuskaityti didelę loginę vertę, kurią vėliau apdoroja scenarijus, kurį parašiau, kad imituotų kairiojo pelės paspaudimą. Kadangi trūko lituoklio, džemperius su mygtuku sujungiau lipnia juosta.

3 veiksmas: kurkite „Python“scenarijų, kad nuosekliai valdytumėte pelės žymeklį

Pelės žymekliui valdyti naudoju „Pyautogui Python“biblioteką. Šios bibliotekos naudojimo priežastis buvo ta, kad ji veikia tiek „Linux“, tiek „Windows“platformoje. Norėdami valdyti pelės žymeklį „Raspberry Pi“, pirmiausia prijungiau „Pi“prie ekrano. Tada, norėdamas valdyti pelės žymeklį, naudoju šias bibliotekos pateiktas API:

  1. pyautogui.move (0, 200, 2) # perkelia pelę žemyn 200 pikselių per 2 sekundes
  2. pyautogui.click () # spustelėkite pelę

Norėdami filtruoti klaidų duomenis, gaunamus iš pagreičio matuoklio, aš naudoju vidurkio nustatymo ir kitus filtravimo metodus, kuriuos galima lengvai suprasti naudojant pridėtą kodą. API pyautogui.move (0, y) buvo naudojamas taip, kad pelės žymeklis vienu metu galėtų judėti aukštyn žemyn arba kairėn dešinėn. Taip yra todėl, kad akselerometras praneša apie ašis X, Y ir Z kryptimi, tačiau API naudoja tik 2 argumentus - X ir Y ašis. Taigi šis metodas buvo labai tinkamas mano akselerometrui ir gestų atvaizdavimui ekrane.

4 žingsnis: kurkite „Python“scenarijų, kad galėtumėte valdyti pelės žymeklį per „Bluetooth“

Kuriamas „Python“scenarijus, skirtas valdyti pelės žymeklį per „Bluetooth“
Kuriamas „Python“scenarijus, skirtas valdyti pelės žymeklį per „Bluetooth“

Ši dalis yra pažangi programa, kurioje bet kuris nešiojamasis kompiuteris, turintis „Bluetooth“galimybes, gali bendrauti su „Raspberry Pi“pagal serverio ir kliento ryšio modelį ir belaidžiu būdu perduoti pelės koordinačių duomenis. Norėdami nustatyti 64 bitų „Windows 10“nešiojamąjį kompiuterį, kad būtų galima palaikyti „Bluetooth“ryšį, turime atlikti šiuos veiksmus:

„Windows 10“:

  1. Sukurkite gaunamą „Bluetooth“COM prievadą.
  2. Suporuokite „Pi“„Bluetooth“su nešiojamojo kompiuterio „Bluetooth“, kad „Pi“būtų aptinkama.
  3. Įdiekite „Python“sistemoje „Windows“.
  4. Įdiekite „pip“sistemoje „Windows“. „Pip“naudojamas bibliotekoms diegti „Linux“arba „Windows“kompiuteryje.
  5. Įdiekite „pyautogui“sistemoje „Windows“naudodami: pip install pyautogui
  6. Įrenginyje įdiegę pyautogui, įdiekite „Pybluez“sistemoje „Windows“naudodami šią komandą „Windows“terminale naudodami: pip install PyBluez-win10. „PyBluez“įgalina „Bluetooth“ryšį tiek „Windows“, tiek „Linux“kompiuteriuose.
  7. Norėdami sukurti programą „Windows 10“nešiojamajame kompiuteryje, turime įdiegti „Microsoft Visual Studio“(reikia 15-20 GB vietos) ir jos kūrimo įrankius. Todėl kartu su „PyBluez“turime vykdyti toliau pateiktas instrukcijas,

    1. Atsisiųskite ir paleiskite „Visual Studio Installer“:
    2. Įdiekite „Visual Studio Build Tools 2017“, pažymėkite „Visual C ++ build tools“ir „Universal Windows Platform build tools“

    3. git klonas
    4. cd pybluez
    5. įdiegti python setup.py

  8. Jei teisingai laikomasi aukščiau pateiktų nurodymų, „Python“paleidimas „Windows“terminale ir „pyautogui“bei „Bluetooth“modulio importavimas turėtų veikti be klaidų, kaip parodyta aukščiau esančiame paveikslėlyje.
  9. „Windows“kompiuteryje įdiegtoje „pybluez“bibliotekoje eikite į: pybluez-master / example / simple / rfcomm-server.py ir vykdykite naudodami python rfcomm-server.py. Jei terminalas pereina į laukimo būseną be klaidų, eikite į žemiau esantį skyrių, kad nustatytumėte „Bluetooth“„Pi“. Jei diegiant „pybluez“yra klaidų, derinimo ieškokite „GitHub“problemos.

„Raspbian“„Raspberry Pi“:

  1. Įdiekite „PyBluez“į „Pi“
  2. Paleiskite serverio pavyzdį sistemoje „Windows“. Tada „Pi“eikite į „pybluez-master / example / simple / rfcomm-client.py“ir vykdykite. Jei abu įrenginiai pradėjo bendrauti, dabar abiejuose įrenginiuose yra nustatytas „Bluetooth“ryšys. Norėdami sužinoti daugiau apie tai, kaip lizdo ryšys veikia su „Python“, žr. Šią MIT nuorodą.

Norint perduoti ašių duomenis iš Pi į kompiuterį, reikės papildomo duomenų analizavimo, nes duomenys siunčiami baitais. Norėdami gauti daugiau informacijos apie kliento ir serverio duomenų perdavimą, žiūrėkite pridėtą kodą.

5 žingsnis: pagreičio matuoklio ir mygtuko įdėjimas į pirštinę

Akselerometro ir mygtuko įdėjimas į pirštinę
Akselerometro ir mygtuko įdėjimas į pirštinę
Akselerometro ir mygtuko įdėjimas į pirštinę
Akselerometro ir mygtuko įdėjimas į pirštinę

Kai akselerometras yra gerai sujungtas, skeleto sistema atrodo kaip pirmasis šio žingsnio vaizdas.

Kadangi pirštinės paviršius nėra lygus, aš kartais naudoju netikrą kredito kortelę, kuri ateina į mano pašto dėžutę. Kaip antrame šio žingsnio paveikslėlyje, lipnia juosta pritvirtinau netikrą kredito kortelę ant pirštinės viršutinio paviršiaus. Prie kortelės pritvirtinau akselerometrą. Ši sąranka buvo pakankamai tvirta, kad mano akselerometras būtų stabilus ir galėtų tiksliai sekti mano gestus.

Rekomenduojamas: