
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

ANSVARSFRASKRIVELSE: DETTE ER EN BRUKSANVISNING FOR ET ÅPEN KILDEPRODUKT: ENKELT TASTATUR. DETTE ER IKKE ET DIY -PROJEKT. HVIS DU VIL LAGE STYRENE SELV, KAN ØRNEFILENE FINNES PÅ SLUTTEN AV VEILEDNINGEN
Hva er One Pin -tastaturet?
One Pin Keypad gjør det mye enklere å bruke et matrisetastatur og lar deg reservere dine dyrebare I/O -pins for andre formål. Et matrisetastatur med 16 knapper krever vanligvis 8 digitale innganger på en mikrokontroller eller en enkelt datamaskin. De mest populære Arduinos begrenser deg til bare 14 digitale pins, så et 16-knappers tastatur gir deg bare 6 pins for resten av prosjektet. Denne ressursmangelen kan føre til en kostbar designavveining eller en mer kostbar oppgradering av mikrokontroller. One Pin -tastaturmodulen eliminerer behovet for alle disse digitale inngangene. Som navnet tilsier, bruker One Pin Keypad bare en pin (en analog inngang) pluss GND- og VCC -tilkoblinger, så det er enkelt å koble tastaturet! For Raspberry Pi -brukere (målgruppen for denne opplæringen) krever det også en ADS1115 analog til digital omformer, som er veldig lett å koble til. One Pin Keypad Python Package (inkludert) forenkler også programmeringen som kreves for å behandle tastaturinngangene, noe som sparer deg for mer tid og krefter.
For Arduino Usage Guide, klikk her.
Trinn 1: Samle alle delene

For å komme i gang med One Pin -tastaturet, trenger du:
- Et tastatur med én pinne
- En Arduino med litt smak (En Arduino Nano ble brukt i dette tilfellet)
- 3 M/F -startkabler,
- 4 M/M ELLER 4 flere M/F -startkabler, avhengig av hvilken type overskrifter som er på din Raspberry Pi
- Et tastatur med 16 knapper
- Brødbrett (en veldig liten brukes her)
- En ADS1115 -modul (fra Adafruit eller en klon)
- En Raspberry Pi med en internettforbindelse og Raspbian OS (jeg brukte Stretch)
- Raspberry Pi -tilbehør (en HDMI -kabel, en strømforsyning, dongler, skjerm, etc. avhenger av smaken av din Raspberry Pi)
Trinn 2: Kabling


Koble One Pin -tastaturet i henhold til Fritzing -diagrammet, bildet eller begge deler, avhengig av hva du foretrekker.
Vennligst merk: notatet på Fritzing -diagrammet representerer tastaturet med ett pinne (og forkortelsene GND VCC og AOUT angir pinoutene på tastaturet med ett pinne)
Trinn 3: Python -pakkeinstallasjon


Åpne et terminalvindu og skriv inn følgende kommandoer:
sudo apt-get oppdatering
deretter
pip3 installere Progetto-One-Pin-Keypad
for å installere pakken og dens nødvendige avhengigheter
Trinn 4: Installere eksemplene

Jeg opprettet en dev -mappe for å lagre depotet under home/pi hvis du ønsker å gjøre det samme (det er helt valgfritt), kjør denne kommandoen:
mkdir dev
deretter, for å navigere inn i mappen, skriver du:
cd dev
Til slutt, for å klone depotet, skriver du inn følgende kommando:
git -klon
Trinn 5: Aktivering av I2C



ADS1115 ADC (Analog to Digital Converter) er avhengig av I2C (Inter-Integrated Circuit) -protokoll for å kommunisere med Raspberry Pi, som standard er I2C-bussen deaktivert, for å aktivere den, skriver du:
sudo raspi-config
som tar deg til et blått konfigurasjonsvindu, derfra, ved å bruke piltastene og enter -tasten
- Grensesnittalternativer
- I2C
- Gå deretter ned til
Tips: Å vise skjermbildene ovenfor kan hjelpe litt! Hvis du fortsatt sitter fast, ikke frykt! Se denne fantastiske veiledningen fra Sparkfun!
Trinn 6: Kjør kalibreringsgrenser

Naviger til depotet hvis du ikke allerede har gjort det, og gå til eksempler -mappen ved å bruke disse kommandoene:
Tips: skriv 'cd Prog', og klikk deretter på Tab, det bør autofullføre lagringsnavnet!
cd Progetto_One_Pin_Keypad_Python_Package
skriv deretter inn:
cd -eksempler
kjør deretter calibratethresholds -eksemplet med denne kommandoen:
python3 kalibrerer grenser
og følg instruksjonene som vises på konsollen for å kalibrere kortet. Etter at kalibreringen har gått gjennom alle knappene, tester du de nye analoge verdiene for å se om de fungerer ved å trykke på noen knapper når du blir bedt om å "Start". Hvis de nye verdiene viser seg å være unøyaktige, bruker du Ctrl C for å drepe programmet og kjøre det en gang til.
Kalibreringseksemplet skal gi deg to linjer med kode du trenger i neste eksempel. Sørg for å holde konsollen åpen og/eller kopiere dem begge!
Trinn 7: Endre og kjør deretter Readkeypad uten timeout



Nå som One Pin -tastaturet er kalibrert, er det på tide å ta det i bruk. Selv om du kan gjøre dette fra kommandolinjen ved å bruke vi, foretrekker jeg personlig å bruke en IDE som IDLE.
Åpne IDLE opp (du vil ha python3 -versjonen) og endre følgende linjer:
Husker du den analoge verdi -matrisen du kopierte? Erstatt linje 13 (se nedenfor) med de nylig kalibrerte analoge verdiene.
# eks: my_thresholds = [kalibrerte verdier ville være her]
erstattes med dette:
my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]
Deretter legger du til den neste kodelinjen etter linje 23, (se nedenfor):
tastatur. brukCalibratedThresholds (my_thresholds)
legges til etter linje 23:
# eks: tastatur. bruk_kalibrert_terskel (matrisens navn)
slik at linjene 22 til 24 ser slik ut til slutt:
# Hvis kalibrerte verdier brukes, bruker du_kalibrert_grenser nedenfor:
# eks: tastatur. bruk_kalibrert_terskel (matrisens navn)
tastatur.bruk_kalibrert_terskel (min_grense)
Etter at det er gjort, kjør koden og test den ut ved å trykke på noen knapper! Tilpass gjerne eksempelskissen til prosjektene dine! Husk at read_keypad_with_timeout returnerer knappen som trykkes som et tegn og timeout er angitt i millisekunder! Hvis du ikke vil ha en timeout, bruker du tastaturet. NO_TIMEOUT konstant.
Trinn 8: Slik fungerer One Pin -tastaturet


Mye av One Pin -tastaturets design er basert på Hari Wigunas implementering av en spenningsdeler for å oppnå en unik analog verdi for hver tast i et 16 -pinners tastatur. One Pin -tastaturets design forblir stort sett den samme, med noen få justeringer. Hvis du vil ha en god opplæring om hvordan One Pin -tastaturet fungerer, kan du sjekke ut den fantastiske videoen til Hari Wiguna her!
Trinn 9: Konklusjon

I denne instruksen dekket vi hvordan du kommer i gang med One Pin -tastaturet. Nå kan de nysgjerrige blant dere ha lurt på hvorfor readKeypadInstantaneous -skissen aldri ble brukt, grunnen er at den ikke er like nyttig, fordi knappen må trykkes når den kalles, funksjonen readKeypadInstantaneous () brukes hovedsakelig for å forenkle readKeypadWithTimeout () i biblioteket. Hvis det fanger øyet, ta det gjerne en tur. God hacking!
Hvis du har spørsmål, legg igjen en kommentar nedenfor eller send oss en e -post på [email protected]. Alt godt, Progetto Company P. S. Som lovet, en lenke til styrets Eagle Files.
Anbefalt:
ESP -01 Programmer Hack - the Easy One :): 6 trinn

ESP-01 Programmer Hack-the Easy One :): Hei ESPers, I denne instruksen skal jeg vise deg en enkel hack for å lage en programmerer for ESP-01 / ESP8266-01 / ES-01 modul. De fleste av oss har brukt et Arduino-kort eller FTDI USB-TTL-enheter som programmerere for denne modulen. Begge metoden fungerer fint. Men t
Rover-One: Gi en RC-lastebil/bil en hjerne: 11 trinn

Rover-One: Å gi en RC-lastebil/bil en hjerne: Denne instruksjonsboken er på et kretskort jeg designet som heter Rover-One. Rover-One er en løsning jeg konstruerte for å ta en leketøy RC-bil/lastebil, og gi den en hjerne som inneholder komponenter for å kjenne omgivelsene. Rover-One er en 100 mm x 100 mm PCB designet i EasyED
Lat 7 / One: 12 trinn (med bilder)

Lazy 7/One: Lazy 7/OneFeatures/Instructions er de samme som på andre prosjekter basert på samme skisse, her er en annen video (også lenket fra skisseinstruksjonene i trinn 10) .Update - 2020/07/30Splittet elektronikkhuset STL og la til et annet omslag (B)
Slik kobler du en Xbox One -kontroller til en Windows 10 bærbar PC: 16 trinn

Slik kobler du en Xbox One -kontroller til en Windows 10 bærbar datamaskin.: Du trenger: Xbox -kontroller Windows 10 bærbar PC
ISP 6 Pin til 8 Pin Socket: 4 trinn

ISP 6 Pin til 8 Pin Socket: Grunnen til at jeg hovedsakelig bygde dette prosjektet var å programmere ATTiny45, som har en 8 -pins tilkobling, mens min USBtinyISP (fra Ladyada) bare har en 10 pin og 6 pin tilkobling. Etter å ha snokket rundt på internett i ca 3-4 uker fant jeg ingenting hva