Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
IZJAVA O ODGOVORNOSTI: TO JE NAVODILO ZA UPORABO IZDELKA ODPRTEGA VIRA: TIPKA ZA ENO PIN. TO NI DIY PROJEKT. ČE ŽELITE SEBO IZVEDBITI SAMI, SE DATOTEKE ORLOVA NAJDEJO NA KONCU VODNIKA
Kaj je tipkovnica z enim pinom?
Tipkovnica z enim pinom olajša uporabo matrične tipkovnice in vam omogoča, da dragocene vhodno/izhodne zatiče rezervirate za druge namene. Matrična tipkovnica s 16 gumbi običajno potrebuje 8 digitalnih vhodov na mikrokrmilniku ali enokanalnem računalniku. Najbolj priljubljeni Arduinos vas omejuje na le 14 digitalnih zatičev, zato vam tipkovnica s 16 gumbi za preostanek vašega projekta pusti le 6 zatičev. To pomanjkanje virov lahko privede do dragega kompromisa pri načrtovanju ali dražje nadgradnje mikrokrmilnika. Modul One Pin Keypad odpravlja potrebo po vseh teh digitalnih vhodih. Kot pove že ime, tipkovnica One Pin uporablja samo en pin (analogni vhod) ter povezave GND in VCC, zato je ožičenje tipkovnice hiter! Za uporabnike Raspberry Pi (ciljno občinstvo te vadnice) je potreben tudi analogno -digitalni pretvornik ADS1115, ki ga je zelo enostavno povezati. Paket Python z eno tipkovnico (vključen) poenostavlja tudi programiranje, potrebno za obdelavo vnosov tipkovnice, kar vam prihrani več časa in truda.
Za vodnik po uporabi Arduino kliknite tukaj.
Korak: Zberite vse dele
Za začetek uporabe plošče s tipkovnico One Pin potrebujete:
- Plošča za eno tipkovnico
- Arduino nekega okusa (v tem primeru je bil uporabljen Arduino Nano)
- 3 mostični kabli M/F,
- 4 M/M ALI še 4 M/F mostična kabla, odvisno od vrste glav na vašem Raspberry Pi
- Membrana tipkovnica s 16 gumbi
- Ogledna plošča (tukaj se uporablja res majhna)
- Modul ADS1115 (iz Adafruit ali klona)
- Raspberry Pi z internetno povezavo in Raspbian OS (uporabil sem Stretch)
- Dodatki Raspberry Pi (kabel HDMI, napajalnik, ključi, monitor itd. Je odvisen od okusa vašega Raspberry Pi)
2. korak: Ožičenje
Tipkovnico z enim pinom povežite v skladu z diagramom Fritzing, fotografijo ali obojim, kar vam je ljubše.
Upoštevajte: opomba na diagramu Fritzing predstavlja tipkovnico z enim pinom (okrajšave GND VCC in AOUT označujeta izhode na plošči tipkovnice z enim pinom)
3. korak: Namestitev paketa Python
Odprite terminalsko okno in vnesite naslednje ukaze:
sudo apt-get posodobitev
potem
pip3 namestite Progetto-One-Pin-Keypad
za namestitev paketa in njegovih potrebnih odvisnosti
4. korak: Namestitev primerov
Ustvaril sem mapo dev za shranjevanje skladišča pod home/pi, če želite storiti enako (popolnoma neobvezno), zaženite ta ukaz:
mkdir dev
nato za krmarjenje po mapi vnesite:
cd dev
Nazadnje, če želite klonirati skladišče, vnesite naslednji ukaz:
5. korak: Omogočanje I2C
ADS1115 ADC (analogno-digitalni pretvornik) se za komunikacijo z Raspberry Pi opira na protokol I2C (Inter-Integrated Circuit), privzeto je vodilo I2C onemogočeno, da ga omogočite, vnesite:
sudo raspi-config
ki vas popelje v modro konfiguracijsko okno, kjer s puščičnimi tipkami in tipko enter izberite
- Možnosti vmesnika
- I2C
- Nato se spustite na
Nasvet: Sklicevanje na zgornje posnetke zaslona vam lahko nekoliko pomaga! Če ste še vedno obtičali, ne bojte se! Oglejte si to neverjetno navodilo iz Sparkfun!
6. korak: Zaženite kalibriranje pragov
Pomaknite se do skladišča, če tega še niste storili, in pojdite v mapo z primeri s temi ukazi:
Nasvet: vnesite 'cd Prog' in pritisnite Tab, samodejno mora dokončati ime skladišča!
cd Progetto_One_Pin_Keypad_Python_Package
nato vnesite:
cd primeri
Nato s tem ukazom zaženite primer calibratethresholds:
python3 umerja pragove
in sledite navodilom na konzoli za umerjanje plošče. Ko kalibracija preide skozi vse gumbe, preizkusite svoje nove analogne vrednosti in preverite, ali delujejo tako, da pritisnete nekatere gumbe, ko se prikaže poziv za "Začni". Če se nove vrednosti izkažejo za netočne, uporabite Ctrl C, da ubijete program in ga zaženete ponovno.
Primer kalibracije mora vsebovati 2 vrstici kode, ki ju boste potrebovali v naslednjem primeru, pustite konzolo odprto in/ali oboje kopirajte!
7. korak: Spremenite in nato zaženite Readkeypadwithtimeout
Zdaj, ko je vaša tipkovnica z enim gumbom umerjena, je čas, da jo uporabite. Čeprav lahko to storite iz ukazne vrstice z uporabo vi, jaz osebno raje uporabljam IDE, kot je IDLE.
Odprite IDLE (želeli boste različico python3) in spremenite naslednje vrstice:
Se spomnite tistega niza analognih vrednosti, ki ste ga kopirali? Zamenjajte vrstico 13 (glejte spodaj) s tistimi na novo umerjenimi analognimi vrednostmi.
# ex: my_thresholds = [kalibrirane vrednosti bi bile tukaj]
se nadomesti s tem:
moji_pragovi = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]
Nato dodajte naslednjo vrstico kode za vrstico 23 (glejte spodaj):
keypad.useCalibratedThresholds (my_thresholds)
se doda po 23. vrstici:
# ex: keypad.use_calibrated_thresholds (ime vašega polja)
naredi vrstice 22 do 24 na koncu takole:
# Če se uporabljajo umerjene vrednosti, uporabite spodnje_kalibrirane_pragove:
# ex: keypad.use_calibrated_thresholds (ime vašega polja)
keypad.use_calibrated_thresholds (my_thresholds)
Ko to storite, zaženite kodo in jo preizkusite s pritiskom na nekaj gumbov! Primerno skico lahko prilagodite svojim projektom! Ne pozabite, da read_keypad_with_timeout vrne pritisnjeni gumb kot znak, časovna omejitev pa je nastavljena v milisekundah! Če ne želite časovne omejitve, uporabite tipkovnico. NO_TIMEOUT konstanta.
8. korak: Kako deluje tipkovnica z enim pinom
Velik del zasnove tipkovnice z enim pinom temelji na implementaciji delilnika napetosti, ki jo je izvedel Hari Wiguna, da bi dobili edinstveno analogno vrednost za vsako tipko na 16 -polni tipkovnici. Zasnova tipkovnice z enim gumbom ostaja v glavnem enaka, z nekaj prilagoditvami. Če želite odlično vadnico o tem, kako deluje tipkovnica z enim pinom, si oglejte čudovit video Hari Wiguna tukaj!
9. korak: Zaključek
V tem navodilu smo obravnavali, kako začeti s ploščo tipkovnice z eno tipko. Radovedni med vami ste se morda vprašali, zakaj primer skice readKeypadInstantanta nikoli ni bil uporabljen, razlog je v tem, da ni tako uporaben, ker je treba pritisniti gumb, ko se pokliče, funkcija readKeypadInstantaneous () pa se uporablja predvsem za poenostavitev readKeypadWithTimeout () v knjižnici. Če vam pade v oči, ga vzemite za spin. Veselo hekiranje!
Če imate kakršna koli vprašanja, pustite komentar spodaj ali nam pišite na [email protected]. Vse najboljše, Progetto Company P. S. Kot je bilo obljubljeno, povezava do kartoteke Eagle Files.