Tartalomjegyzék:

Egy tűs billentyűzet Raspberry Pi használati útmutató: 9 lépés
Egy tűs billentyűzet Raspberry Pi használati útmutató: 9 lépés

Videó: Egy tűs billentyűzet Raspberry Pi használati útmutató: 9 lépés

Videó: Egy tűs billentyűzet Raspberry Pi használati útmutató: 9 lépés
Videó: UGREEN 6-in-1 4k 60Hz USB C HUB - Converts your phone into a TV Box 2024, November
Anonim
Egy tűs billentyűzet Raspberry Pi használati útmutató
Egy tűs billentyűzet Raspberry Pi használati útmutató

NYILATKOZAT: EZ HASZNÁLATI ÚTMUTATÓ A NYITOTT FORRÁSÚ TERMÉKHEZ: AZ EGY PIN KULCS. EZ NEM DIY PROJEKT. HA MAGA A TÁBLÁZATOKAT MAGÁNAK KÉSZÍTI, akkor az EAGLE -FÁJLOK AZ ÚTMUTATÓ VÉGÉN TALÁLHATÓK

Mi az egypólusú billentyűzet?

Az One Pin billentyűzet sokkal egyszerűbbé teszi a mátrix billentyűzet használatát, és lehetővé teszi az értékes I/O érintkezők más célokra való lefoglalását. A 16 gombos mátrix billentyűzethez általában 8 digitális bemenetre van szükség egy mikrokontrollerben vagy egy fedélzeti számítógépben. A legnépszerűbb Arduino-k csak 14 digitális tűre korlátozódnak, így a 16 gombos billentyűzet csak 6 tűvel rendelkezik a projekt többi részéhez. Ez az erőforráshiány költséges tervezési kompromisszumhoz vagy drágább mikrokontroller-frissítéshez vezethet. Az egypólusú billentyűzet modulnak köszönhetően nincs szükség ezekre a digitális bemenetekre. Ahogy a neve is sugallja, az One Pin billentyűzet csak egy tűt (analóg bemenet), valamint GND és VCC csatlakozásokat használ, így a billentyűzet bekötése pillanatok alatt történik! A Raspberry Pi felhasználóknak (az oktatóanyag célközönsége) ezenkívül egy ADS1115 analóg -digitális átalakítóra is szükség van, ami nagyon könnyen vezethető. A One Pin Keypad Python csomag (mellékelve) szintén egyszerűsíti a billentyűzet bemenetek feldolgozásához szükséges programozást, így több időt és energiát takaríthat meg.

Az Arduino használati útmutatóért kattintson ide.

Lépés: Gyűjtse össze az összes alkatrészt

Gyűjtsd össze az összes alkatrészt!
Gyűjtsd össze az összes alkatrészt!

A One Pin billentyűzetpanel használatához a következőkre lesz szüksége:

  • Egy tűs billentyűzet
  • Egy bizonyos ízű Arduino (ebben az esetben egy Arduino Nano -t használtak)
  • 3 M/F áthidaló kábel,
  • 4 M/M VAGY további 4 M/F áthidaló kábel, attól függően, hogy milyen típusú fejlécek vannak a Raspberry Pi készüléken
  • 16 gombos membrán billentyűzet
  • Kenyérlap (itt egy nagyon kicsi van használatban)
  • ADS1115 modul (Adafruit vagy klón)
  • Egy Raspberry Pi internetkapcsolattal és Raspbian operációs rendszerrel (én Stretch -t használtam)
  • Raspberry Pi tartozékok (HDMI kábel, tápegység, hardverkulcs, monitor stb. A Raspberry Pi ízétől függ)

2. lépés: huzalozás

Vezeték!
Vezeték!
Vezeték!
Vezeték!

Csatlakoztassa az egytűs billentyűzetet a Fritzing diagram, a fotó vagy mindkettő szerint, tetszés szerint.

Kérjük, vegye figyelembe: a Fritzing diagramon található megjegyzés az egytűs billentyűzetet képviseli (a GND VCC és az AOUT rövidítések pedig az egytűs billentyűzet kártya érintkezőit jelölik)

3. lépés: Python csomag telepítése

Python csomag telepítése!
Python csomag telepítése!
Python csomag telepítése!
Python csomag telepítése!

Nyisson meg egy terminál ablakot, és írja be a következő parancsokat:

sudo apt-get update

azután

pip3 telepítse a Progetto-One-Pin-billentyűzetet

a csomag és a szükséges függőségek telepítéséhez

4. lépés: A példák telepítése

A példák telepítése
A példák telepítése

Létrehoztam egy dev mappát a home/pi alatti tároló elhelyezésére, ha ugyanezt szeretné tenni (ez teljesen opcionális), futtassa ezt a parancsot:

mkdir dev

majd a mappába való navigáláshoz írja be:

cd dev

Végül a lerakat klónozásához írja be a következő parancsot:

git klón

5. lépés: Az I2C engedélyezése

Az I2C engedélyezése
Az I2C engedélyezése
Az I2C engedélyezése
Az I2C engedélyezése
Az I2C engedélyezése
Az I2C engedélyezése

Az ADS1115 ADC (analóg-digitális átalakító) az I2C (Inter-Integrated Circuit) protokollra támaszkodva kommunikál a Raspberry Pi-vel, alapértelmezés szerint az I2C busz le van tiltva, engedélyezéséhez írja be:

sudo raspi-config

amely egy kék konfigurációs ablakba visz, onnan a nyílbillentyűk és az enter billentyű segítségével válassza a lehetőséget

  1. Interfész opciók
  2. I2C
  3. Akkor menj le a

Tipp: A fenti képernyőképekre való hivatkozás segíthet egy kicsit! Ha még mindig elakadtál, ne félj! Nézze meg ezt a csodálatos útmutatót a Sparkfun-tól!

6. lépés: Futtassa a kalibrációs küszöbértékeket

Futtassa a kalibrációs küszöbértékeket!
Futtassa a kalibrációs küszöbértékeket!

Navigáljon a tárolóhoz, ha még nem tette meg, és lépjen a példa mappába a következő parancsokkal:

Tipp: gépelje be a „cd Prog” parancsot, majd nyomja meg a Tab billentyűt, ez automatikusan kiegészíti a lerakat nevét!

cd Progetto_One_Pin_Keypad_Python_Package

akkor írd be:

cd példák

ezután futtassa a kalibrációs küszöbértékek példáját ezzel a paranccsal:

python3 kalibrációs küszöbértékek

és kövesse a konzolon megjelenő utasításokat a tábla kalibrálásához. Miután a kalibrálás végigjárta az összes gombot, próbálja ki az új analóg értékeket, és nézze meg, hogy működnek -e, ha megnyom néhány gombot, amikor a "Kezdés" feliratot kéri. Ha az új értékek pontatlannak bizonyulnak, a Ctrl C billentyűvel ölje le a programot és futtassa azt újra.

A kalibrálási példának két sor kóddal kell rendelkeznie, amelyekre a következő példában szüksége lesz, ügyeljen arra, hogy a konzol nyitva maradjon, és/vagy másolja mindkettőt!

7. lépés: Módosítsa, majd futtassa a Readkeypadot idő nélkül

Módosítsa, majd futtassa a Readkeypadot idő nélkül
Módosítsa, majd futtassa a Readkeypadot idő nélkül
Módosítsa, majd futtassa a Readkeypadot idő nélkül
Módosítsa, majd futtassa a Readkeypadot idő nélkül
Módosítsa, majd futtassa a Readkeypadot idő nélkül
Módosítsa, majd futtassa a Readkeypadot idő nélkül

Most, hogy a One Pin billentyűzet kalibrálva van, ideje használni. Bár ezt megteheti a parancssorból a vi használatával, én személy szerint inkább egy IDE -t használok, mint az IDLE.

Nyissa meg az IDLE -t (a python3 verziót szeretné), és módosítsa a következő sorokat:

Emlékszel arra az analóg érték tömbre, amelyet másoltál? Cserélje ki a 13. sort (lásd alább) az újonnan kalibrált analóg értékekkel.

# ex: my_thresholds = [a kalibrált értékek itt lennének]

helyébe ez lép:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Ezután adja hozzá a következő kódsort a 23. sor után (lásd alább):

keypad.useCalibratedThresholds (my_thresholds)

a 23. sor után a következő szöveggel egészül ki:

# például: keypad.use_calibrated_thresholds (a tömb neve)

A végén a 22-24 sorok így néznek ki:

# Ha kalibrált értékeket használ, használja az alábbi_kalibrált_küszöbértékeket:

# például: keypad.use_calibrated_thresholds (a tömb neve)

keypad.use_calibrated_thresholds (my_thresholds)

Miután ez megtörtént, futtassa a kódot, és próbálja ki néhány gomb megnyomásával! A példa vázlatát bátran igazítsa projektjeihez! Ne feledje, hogy a read_keypad_with_timeout visszaadja a gomb megnyomását karakterként, és az időtúllépés ezredmásodpercben van beállítva! Ha nem szeretne időtúllépést használni, használja a billentyűzetet. NO_TIMEOUT konstans.

8. lépés: Az egytűs billentyűzet működése

Az egytűs billentyűzet működése
Az egytűs billentyűzet működése
Az egytűs billentyűzet működése
Az egytűs billentyűzet működése

Az egypólusú billentyűzet kialakításának nagy része Hari Wiguna feszültségosztó megvalósításán alapul, hogy egyedi analóg értéket kapjon a 16 tűs billentyűzet minden egyes gombjához. Az One Pin billentyűzet kialakítása nagyjából ugyanaz marad, néhány módosítással. Ha szeretne egy nagyszerű oktatóanyagot a One Pin billentyűzet működéséről, nézze meg itt Hari Wiguna fantasztikus videóját!

9. lépés: Következtetés

Következtetés
Következtetés

Ebben az oktatóanyagban kitértünk a One Pin billentyűzetpanel használatának megkezdésére. Most a kíváncsiskodók azon tűnődhettek, vajon miért nem használták soha a readKeypadInstanas példavázlatot, ennek az az oka, hogy nem olyan hasznos, mert a gombot meg kell nyomni, amikor hívják, a readKeypadInstanthane () függvény elsősorban az egyszerűsítésre szolgál readKeypadWithTimeout () a könyvtárban. Ha megragadja a szemét, nyugodtan vegye be egy körre. Boldog hackelést!

Ha bármilyen kérdése van, írjon megjegyzést alább, vagy írjon nekünk a [email protected] címre. Minden jót, Progetto Company P. S. Ahogy ígértük, link a tábla Eagle aktáihoz.

Ajánlott: