Indholdsfortegnelse:

One Pin Tastatur Raspberry Pi Brugsguide: 9 trin
One Pin Tastatur Raspberry Pi Brugsguide: 9 trin

Video: One Pin Tastatur Raspberry Pi Brugsguide: 9 trin

Video: One Pin Tastatur Raspberry Pi Brugsguide: 9 trin
Video: Pi800 First Look, An Brand New All-In-One PC! Think Pi400 But Faster! 6 Core Arm CPU 2024, Juli
Anonim
One Pin Tastatur Raspberry Pi Brugsguide
One Pin Tastatur Raspberry Pi Brugsguide

ANSVARSFRASKRIVELSE: DETTE ER EN BRUGSVEJLEDNING TIL ET ÅBEN KILDEPRODUKT: DEN ENE PIN -TASTATUR. DETTE ER IKKE ET DIY -PROJEKT. HVIS DU VIL GØRE TAVLERNE SELV, KAN ØRNEFILERNE FINDES I AFSLUTNINGEN AF TUTORIALET

Hvad er One Pin -tastaturet?

One Pin -tastatur gør det meget lettere at bruge et matrix -tastatur og lader dig reservere dine dyrebare I/O -pins til andre formål. Et matrix -tastatur med 16 knapper kræver typisk 8 digitale indgange på en mikrocontroller eller en enkelt computer. De mest populære Arduinos begrænser dig til kun 14 digitale ben, så et tastatur med 16 knapper giver dig kun 6 ben til resten af dit projekt. Denne ressourcemangel kan føre til en dyr designafvejning eller en mere kostbar opgradering af mikrokontroller. One Pin -tastaturmodulet eliminerer behovet for alle disse digitale indgange. Som navnet antyder, bruger One Pin Keypad kun en pin (en analog indgang) plus GND- og VCC -forbindelser, så kabelføring af dit tastatur er et øjeblik! For Raspberry Pi -brugere (målgruppen for denne vejledning) kræver det også en ADS1115 analog til digital konverter, som er virkelig let at koble. One Pin -tastaturets Python -pakke (inkluderet) forenkler også den programmering, der er nødvendig for at behandle tastaturets input, hvilket sparer dig mere tid og kræfter.

For Arduino Usage Guide, klik her.

Trin 1: Saml alle delene

Saml alle delene!
Saml alle delene!

For at komme i gang med dit One Pin -tastaturbræt skal du bruge:

  • Et tastatur med ét ben
  • En Arduino med en vis smag (En Arduino Nano blev brugt i dette tilfælde)
  • 3 M/F -jumperkabler,
  • 4 M/M ELLER 4 flere M/F -jumperkabler, afhængigt af hvilken type headers der er på din Raspberry Pi
  • Et membran tastatur med 16 knapper
  • Brødbræt (en rigtig lille bruges her)
  • Et ADS1115 -modul (fra Adafruit eller en klon)
  • En Raspberry Pi med en internetforbindelse og Raspbian OS (jeg brugte Stretch)
  • Raspberry Pi -tilbehør (et HDMI -kabel, en strømforsyning, dongler, skærm osv. Afhænger af smagen af din Raspberry Pi)

Trin 2: Ledningsføring

Ledninger!
Ledninger!
Ledninger!
Ledninger!

Tilslut One Pin -tastaturet i henhold til Fritzing -diagrammet, billedet eller begge dele, alt efter hvad du foretrækker.

Bemærk venligst: noten på Fritzing -diagrammet repræsenterer tastaturet med ét ben (og forkortelserne GND VCC og AOUT angiver pinouterne på One Pin -tastaturbrættet)

Trin 3: Installation af Python -pakke

Python -pakkeinstallation!
Python -pakkeinstallation!
Python -pakkeinstallation!
Python -pakkeinstallation!

Åbn et terminalvindue, og skriv følgende kommandoer:

sudo apt-get opdatering

derefter

pip3 installere Progetto-One-Pin-tastatur

at installere pakken og dens nødvendige afhængigheder

Trin 4: Installation af eksemplerne

Installation af eksemplerne
Installation af eksemplerne

Jeg oprettede en dev -mappe for at huse lageret under home/pi, hvis du ønsker at gøre det samme (det er helt valgfrit), kør denne kommando:

mkdir dev

derefter, for at navigere ind i mappen, skal du skrive:

cd dev

Til sidst, for at klone depotet, skal du indtaste følgende kommando:

git -klon

Trin 5: Aktivering af I2C

Aktivering af I2C
Aktivering af I2C
Aktivering af I2C
Aktivering af I2C
Aktivering af I2C
Aktivering af I2C

ADS1115 ADC (Analog to Digital Converter) er afhængig af I2C (Inter-Integrated Circuit) -protokol for at kommunikere med Raspberry Pi, som standard er I2C-bussen deaktiveret, for at aktivere den, skal du skrive:

sudo raspi-config

som tager dig til et blåt konfigurationsvindue, og vælg derfra ved hjælp af piletasterne og enter -tasten

  1. Grænsefladeindstillinger
  2. I2C
  3. Gå derefter ned til

Tip: Henvisning til skærmbillederne ovenfor kan hjælpe lidt! Hvis du stadig sidder fast, frygt ikke! Se denne fantastiske vejledning fra Sparkfun!

Trin 6: Kør kalibreringsgrænser

Kør kalibreringsgrænser!
Kør kalibreringsgrænser!

Naviger til depotet, hvis du ikke allerede har gjort det, og gå til mappen eksempler ved hjælp af disse kommandoer:

Tip: skriv 'cd Prog', og tryk derefter på Tab, det skal autofuldføre lagerets navn!

cd Progetto_One_Pin_Keypad_Python_Package

skriv derefter:

cd eksempler

Kør derefter calibratethresholds -eksemplet ved hjælp af denne kommando:

python3 kalibrerer grænseværdier

og følg instruktionerne på konsollen for at kalibrere dit kort. Efter at kalibreringen er gået igennem alle knapperne, skal du teste dine nye analoge værdier for at se, om de virker, ved at trykke på nogle knapper, når du bliver bedt om at "Start". Hvis de nye værdier viser sig at være unøjagtige, skal du bruge Ctrl C til at dræbe programmet og køre det igen.

Kalibreringseksemplet skal give dig 2 linjer kode, du skal bruge i det næste eksempel. Sørg for at holde konsollen åben og/eller kopiere dem begge!

Trin 7: Rediger og kør derefter Readkeypad uden timeout

Rediger og kør derefter Readkeypad uden timeout
Rediger og kør derefter Readkeypad uden timeout
Rediger og kør derefter Readkeypad uden timeout
Rediger og kør derefter Readkeypad uden timeout
Rediger og kør derefter Readkeypad uden timeout
Rediger og kør derefter Readkeypad uden timeout

Nu hvor dit One Pin -tastatur er kalibreret, er det tid til at tage det i brug. Selvom du kunne gøre dette fra kommandolinjen ved hjælp af vi, foretrækker jeg personligt at bruge en IDE som IDLE.

Åbn IDLE op (du vil have python3 -versionen) og rediger følgende linjer:

Kan du huske det analoge værdimatrix, du kopierede? Udskift linje 13 (se nedenfor) med de nyligt kalibrerede analoge værdier.

# ex: my_thresholds = [kalibrerede værdier 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]

Tilføj derefter den næste kodelinje til efter linje 23, (se nedenfor):

tastatur. brugCalibratedThresholds (my_thresholds)

tilføjes efter linje 23:

# eks: tastatur.brug_kalibreret_grænser (dit array -navn)

får linier 22 til 24 til at se sådan ud i sidste ende:

# Hvis der bruges kalibrerede værdier, skal du bruge_kalibrerede_grænser nedenfor:

# eks: tastatur.brug_kalibreret_grænser (dit array -navn)

tastatur.brug_kalibreret_tærskelværdier (mine_grænser)

Når det er gjort, skal du køre koden og teste den ved at trykke på nogle knapper! Tilpas gerne skitsen til dine projekter! Husk, at read_keypad_with_timeout returnerer den knap, der trykkes som en forkælelse, og timeout er indstillet i millisekunder! Hvis du ikke vil have en timeout, skal du bruge tastaturet. NO_TIMEOUT konstant.

Trin 8: Sådan fungerer One Pin -tastaturet

Sådan fungerer One Pin -tastaturet
Sådan fungerer One Pin -tastaturet
Sådan fungerer One Pin -tastaturet
Sådan fungerer One Pin -tastaturet

Meget af One Pin -tastaturets design er baseret på Hari Wigunas implementering af en spændingsdeler for at opnå en unik analog værdi for hver tast i et 16 -pins tastatur. One Pin -tastaturets design forbliver stort set det samme, med et par justeringer. Hvis du vil have en god tutorial om, hvordan One Pin -tastaturet fungerer, er du velkommen til at tjekke Hari Wigunas fantastiske video her!

Trin 9: Konklusion

Konklusion
Konklusion

I denne instruktive dækkede vi, hvordan du kommer i gang med dit One Pin -tastaturbræt. Nu har de nysgerrige blandt jer måske spekuleret på, hvorfor readKeypadInstantaneous -skitsen aldrig blev brugt, grunden er, at den ikke er så nyttig, fordi der skal trykkes på knappen, når den kaldes, funktionen readKeypadInstantaneous () bruges primært til at forenkle readKeypadWithTimeout () i biblioteket. Hvis det får øje på dig, er du velkommen til at tage det en omgang. Glad hacking!

Hvis du har spørgsmål, skal du efterlade en kommentar herunder eller sende os en e -mail på [email protected]. Alt godt, Progetto Company P. S. Som lovet, et link til bestyrelsens Eagle Files.

Anbefalede: