A számítógépes egér egy pontos érzékelő

Célkitűzés: gyorsan, hogy a lineáris elmozdulás érzékelőt a számítógépes egér.
A hagyományos egerek elrejti nagyérzékenységű optikai szenzor. Megbújik a saját kis „kamera”, és a processzor, amely figyeli a mozgását a legkisebb foltok a felületen. Az egerek felső felbontása csak 3 mikron!

A számítógépes egér egy pontos érzékelő

Mi podmyshinymi kövek találkoztunk, valamint a technikai részét, többet mond!


Következő TK adta az ügyfél: hogy a lehető leghamarabb, minden egér (esetleg vezeték nélküli), megjelenik a 7 szegmenses LED, reset gomb, a számítógép nem illik, meg kell felbontás 0,01 mm, a maximális távolság 1000 mm.

Kezdeni, hogyan kell ezt csinálni:
terv:

Olvasás xy koordináták az egérrel:
Végre adatok olvasása többféleképpen
a) közvetlenül a chip optikai érzékelő
+meg tudod csinálni egy egyszerű vezérlő
- sokoldalúság, akkor felejtsd el a nagyon
b) csatlakoztassa az egér USB-n keresztül, hogy egy egyszerű vezérlő (pl Arduino)
+egyszerűség és deshivizna
- meg kell forrasztani
- viszont csak Arduino, és kapcsolatba léphetnek kompatibilis egér
PS / 2, és ezek általában nagyon pontatlan. Lehetséges volt STM32, de az értékelési táblák
sokkal drágább, a legtöbb forrasztani nem volt ideje. (De ha kíváncsi,
Néhány évvel ezelőtt volt egy hasonló projekt stm32f4discovery)
c) hogy valamilyen egyszerű fizetett számítógépet. Kéznél ez csak
Raspberri pi.
+alkalmas minden USB egerek
+jó teljesítmény
-drága, de lehet, hogy a többletkapacitás van szükség, akkor
Ennek eredményeként, a sebész kése feküdt Raspberry Pi 3. Négy 64 bit core A-53 1 GHz-es, 512 MB RAM-mal, és még sok más hely erre tsiferok.

A számítógépes egér egy pontos érzékelő

Probléma: A kijelző kell kiadni a 7-szegmenses kijelzők. Kiderült, mi kell 6 számot egy koordináta, összesen 12 mutató. Mindegyik könnyű 7 lába a számok + lábát a LED pont (dp), közös szálat nem hisznek. Összesen után egyszerű számítások azt látjuk, hogy van, hogy kezelni 96 vezetékek plusz egy gombot. 96 ellenállások nem igazán akar tölteni.

Figyelj!
Elvégre, ha a LED világít - akkor - szükség van egy ellenállás?

Kezelése csak egy ilyen tömb lába nincs lehetőség. Van megoldás! És még több!
1) Különösen chips típus MAX7219, vagy shift regisztert, muxer stb
+akkor szinte a végtelenségig növelni a számos mutató
- MAX7219 volt üzemi feszültsége 5 V
- nem volt semmi használható a kezét.
2) Tudod, hogy egy dinamikus kijelző. Egy ponton az ideje, hogy fény csak egy LED. Ha a világítás be van kapcsolva gyorsan, az emberi szem nem veszi észre a bázisok.
+ akkor csak 8 vezetékek és ellenállások egyetlen mutató, és a 12 indikátor kapcsolót. Plusz ne felejtsük el a kulcsot. Összesen: összesen 21 ellen lábát 96. Vegyél!
-igyekszünk kezelni az egész kijelző segítségével egy csap raspberri, a maximális áram korlátozza a 50 mA. Mindig vegye számba, és megteszi 35 mA az összes 8 LED (ami nem túl sok). Még hozzá ez a gyors váltás jelenik meg. A végén, akkor mindegyik könnyű 12-szer alacsonyabb helyzetbe. Véglegesítése lehet 12 tranzisztorokat, de hagytam későbbre, mert fényerő végül elég.

A számítógépes egér egy pontos érzékelő

Most, a szoftver elkezdi:
A raspberri pici kell tenni a Linuxot. Még a minimális forgalmazási
RASPBIAN JESSIE LITE
Továbbá, a gitt program csatlakozni az IP málna, és mindezt a parancssorból.
Hogy könnyebb dolgozni GPIO (bemeneti és kimeneti portok) egy csodálatos könyvtár WiringPi
Hogyan kell telepíteni, és vezérlőportokkal, akkor talál egy csomó információt a neten, így nem fogok lakik ezen.

Következő lépésként létre kell hozni a papa a projekt

Mindent! Most csatlakoztassa az egeret, helyezze a vezetéket, és fuss!

A számítógépes egér egy pontos érzékelő

// pin számot nyilatkozatok. Azért használjuk a Broadcom chip pin számok.

const int p21pin = 2;
const int p22pin = 3;
const int p23pin = 4;
const int p24pin = 17;
const int p25pin = 27;
const int p26pin = 22;
const int p11pin = 10;
const int p12pin = 9;
const int p13pin = 11;
const int p14pin = 5;
const int p15pin = 6;
const int p16pin = 13;
const int Papin = 8;
const int pbpin = 23;
const int pcpin = 12;
const int pdpin = 20;
const int pepin = 21;
const int pfpin = 24;
const int pgpin = 18;
const int pdppin = 16;

const int butpin = 26;

Kezdjük a boot:

Munka ez a prog nagyon egyszerű. megnyomásával az egér gombot, vagy a gombot a kártya visszaáll. Amikor hosszú nyomja meg a gombot, hogy bekapcsolja DPI beállítás mód. Ez egy fontos paraméter által meghatározott az egér, és megmutatja, hogy hány mintát kapunk, ha mozog egy hüvelyk. Ennek megfelelően, az ásó a fedélzeten, és az egér és hozzáteszi kivon DPI. Hosszan nyomja meg, értékeink vannak írva egy fájlt, és biztonságosan tárolják, amíg a következő rendszer boot. A tisztaság a kísérlet programot, kijelző, információt kapnak a egérgombbal, és feldolgozott párhuzamos folyamatokat.

Majd a móka! Tesztelés és eredmények!
Mik az árnyalatok dolgozik egy egér:
1. Az X és Y tengelyek Az egér nem párhuzamosak az oldalsó felületek, szükséges volt, hogy a tényleges távolság vyschityvaniya használja a „Pitagorasz-nadrágot.”
2.Razreshayuschaya képessége nem ugyanaz a hiba!
Egyszerű yazykom- felbontás tényleg megmutatja azt a minimális elmozdulás, amely úgy látja, az egér (beütés a számítógép legyen diszkrét minimális felbontás). De, hogy az egér, hogy ne hagyjon semmit, semmi sem garantált. Lehetőség van, hogy csökkentse ezt az értéket, ha jó felület (optikai érzékelő tudja követni a mozgását), az alkalmazott kis sebesség. De a hézagokat mindig! A felhasználó számára ez azt jelenti, állandó ellátást nulla és kiszámíthatatlan mérési hiba.
3. USB HID egér, amikor a munka nem garantálja a szállítási információt a számítógéphez! Ez azt jelenti, nem ismert, hogy a számítógép nem fogadott, amit néhány információt az egeret, vagy sem. Annak a valószínűsége, adatvesztés kicsi, de még mindig ott van.
4. Érzékenység beállítások (felbontás) néha nem tárolja az egeret, és a program egy egér.
5. Itt vagyok nagyon mérges! Az a tény, hogy az egér vettem a legmenőbb tartományban a Logitech, ez volt a legfejlettebb modell napján Logitech Performance MX. De mi volt a meglepetés, amikor az egér adta különböző hiba mozgás közben oda-vissza. Hogy-hogy? Fogom elmagyarázni a felhasználónak. Ha állandóan mozgatni az egeret oda-vissza, akkor a kurzor jelentősen csökken, és így minden csökken. Ez az összes platformon. Van, hogy rendszeresen emelni a karját, és tegye az új helyére. Miután láttam, hogy életem rémálommá! #Logitech logitech megmagyarázni a lényegi különbség a mérési hiba oda-vissza!