Innehållsförteckning:

One Pin Keypad Raspberry Pi Användningsguide: 9 steg
One Pin Keypad Raspberry Pi Användningsguide: 9 steg

Video: One Pin Keypad Raspberry Pi Användningsguide: 9 steg

Video: One Pin Keypad Raspberry Pi Användningsguide: 9 steg
Video: Raspberry Pi Pico Tutorial - 4x4 Matrix Keypad - MicroPython 2024, November
Anonim
One Pin Keypad Raspberry Pi Användningsguide
One Pin Keypad Raspberry Pi Användningsguide

ANSVARSFRISKRIVNING: DETTA ÄR EN ANVÄNDNINGSGUIDE FÖR EN ÖPPEN KÄLLA PRODUKT: ENKEL PINKNAPP. DETTA ÄR INTE ett DIY -PROJEKT. OM DU VILL GÖRA STYRELSERNA SJÄLV, KAN ÖRNFILERNA FINNAS I SLUTET AV HANDLEDNINGEN

Vad är One Pin -knappsatsen?

One Pin Keypad gör det mycket enklare att använda en matris -knappsats och låter dig reservera dina dyrbara I/O -pins för andra ändamål. En knappmatris med 16 knappar kräver vanligtvis 8 digitala ingångar på en mikrokontroller eller en enda dator. De mest populära Arduinos begränsar dig till endast 14 digitala stift, så ett knappsats med 16 knappar ger dig bara 6 stift för resten av ditt projekt. Denna resursbrist kan leda till en kostsam designavvägning eller en dyrare uppgradering av mikrokontroller. One Pin Keypad -modulen eliminerar behovet av alla dessa digitala ingångar. Som namnet antyder använder One Pin -knappsatsen bara en stift (en analog ingång) plus GND- och VCC -anslutningar, så det är enkelt att ansluta din knappsats! För Raspberry Pi -användare (målgruppen för den här självstudien) kräver det också en ADS1115 analog till digital omvandlare, som är riktigt lätt att koppla. One Pin Keypad Python Package (ingår) förenklar också programmeringen som krävs för att bearbeta knappsatsens ingångar, vilket sparar mer tid och ansträngning.

För Arduino Usage Guide, klicka här.

Steg 1: Samla alla delar

Samla alla delar!
Samla alla delar!

För att komma igång med din One Pin -knappsats behöver du:

  • Ett knappsatsskort
  • En Arduino med lite smak (En Arduino Nano användes i detta fall)
  • 3 M/F -bygelkablar,
  • 4 M/M ELLER 4 fler M/F -bygelkablar, beroende på vilken typ av rubriker som finns på din Raspberry Pi
  • En knappsats med 16 knappar
  • Brödbräda (en riktigt liten används här)
  • En ADS1115 -modul (från Adafruit eller en klon)
  • En Raspberry Pi med en internetanslutning och Raspbian OS (jag använde Stretch)
  • Raspberry Pi -tillbehör (en HDMI -kabel, en strömförsörjning, donglar, bildskärm etc. beror på smaken på din Raspberry Pi)

Steg 2: Kabeldragning

Kabeldragning!
Kabeldragning!
Kabeldragning!
Kabeldragning!

Koppla knappsatsen med en stift enligt Fritzing -diagrammet, fotot eller båda, beroende på vad du föredrar.

Observera: anteckningen på Fritzing -diagrammet representerar knappsatsen med en stift (och förkortningarna GND VCC och AOUT betecknar stiften på ett stifts knappsatskort)

Steg 3: Installation av Python -paket

Python -paketinstallation!
Python -paketinstallation!
Python -paketinstallation!
Python -paketinstallation!

Öppna ett terminalfönster och skriv följande kommandon:

sudo apt-get uppdatering

sedan

pip3 installera Progetto-One-Pin-Keypad

för att installera paketet och dess nödvändiga beroenden

Steg 4: Installera exemplen

Installera exemplen
Installera exemplen

Jag skapade en dev -mapp för att lagra förvaret under home/pi om du vill göra detsamma (det är helt valfritt), kör det här kommandot:

mkdir dev

sedan, för att navigera till mappen, skriver du:

cd dev

Slutligen, för att klona förvaret, ange följande kommando:

git -klon

Steg 5: Aktivera I2C

Aktiverar I2C
Aktiverar I2C
Aktiverar I2C
Aktiverar I2C
Aktiverar I2C
Aktiverar I2C

ADS1115 ADC (Analog to Digital Converter) förlitar sig på I2C (Inter-Integrated Circuit) -protokoll för att kommunicera med Raspberry Pi, som standard är I2C-bussen inaktiverad, för att aktivera den skriver du:

sudo raspi-config

som tar dig till ett blått konfigurationsfönster, välj därifrån med piltangenterna och enter -tangenten

  1. Gränssnittsalternativ
  2. I2C
  3. Gå sedan ner till

Tips: Att hänvisa till skärmdumparna ovan kan hjälpa lite! Om du fortfarande fastnar, var inte rädd! Se denna fantastiska instruktion från Sparkfun!

Steg 6: Kör kalibreringsgränser

Kör kalibreringsgränser!
Kör kalibreringsgränser!

Navigera till förvaret om du inte redan har gjort det och gå till mappen exempel med följande kommandon:

Tips: skriv 'cd Prog' och tryck sedan på Tab, det bör autofullföra lagringsnamnet!

cd Progetto_One_Pin_Keypad_Python_Package

skriv sedan:

cd -exempel

kör sedan calibratethresholds -exemplet med det här kommandot:

python3 kalibrerar gränsvärden

och följ instruktionerna som visas på konsolen för att kalibrera ditt kort. När kalibreringen har gått igenom alla knappar, testa dina nya analoga värden för att se om de fungerar genom att trycka på några knappar när du uppmanas att "Börja". Om de nya värdena visar sig vara felaktiga, använd Ctrl C för att döda programmet och kör det på nytt.

Kalibreringsexemplet bör ge dig två rader kod du behöver i nästa exempel, se till att hålla konsolen öppen och/eller kopiera dem båda!

Steg 7: Ändra och kör sedan Readkeypadwithtimeout

Ändra och kör sedan Readkeypad withoutout
Ändra och kör sedan Readkeypad withoutout
Ändra och kör sedan Readkeypadwithtimeout
Ändra och kör sedan Readkeypadwithtimeout
Ändra och kör sedan Readkeypad withoutout
Ändra och kör sedan Readkeypad withoutout

Nu när din One Pin -knappsats är kalibrerad är det dags att ta den i bruk. Även om du kan göra detta från kommandoraden med vi, föredrar jag personligen att använda en IDE som IDLE.

Öppna IDLE upp (du vill ha python3 -versionen) och ändra följande rader:

Kommer du ihåg den analoga värdena som du kopierade? Ersätt rad 13 (se nedan) med de nykalibrerade analoga värdena.

# ex: my_thresholds = [kalibrerade värden skulle finnas här]

ersätts med detta:

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

Lägg sedan till nästa kodrad efter rad 23 (se nedan):

knappsats.useCalibratedThresholds (my_thresholds)

läggs till efter rad 23:

# ex: knappsats.use_calibrated_thresholds (ditt matrisnamn)

så att raderna 22 till 24 ser ut så här i slutändan:

# Om kalibrerade värden används, använd_kalibrerade_gränser nedan:

# ex: knappsats.use_calibrated_thresholds (ditt matrisnamn)

knappsats.använda_kalibrerad_gränsvärden (mina_gränser)

När det är klart, kör koden och testa den genom att trycka på några knappar! Anpassa gärna exempelskissen till dina projekt! Kom ihåg att read_keypad_with_timeout returnerar knappen som trycks som ett tecken och timeout är inställt i millisekunder! Om du inte vill ha en timeout använder du knappsatsen. NO_TIMEOUT konstant.

Steg 8: Hur One Pin -knappsatsen fungerar

Hur One Pin -knappsatsen fungerar
Hur One Pin -knappsatsen fungerar
Hur One Pin -knappsatsen fungerar
Hur One Pin -knappsatsen fungerar

Mycket av One Pin -knappsatsens design bygger på Hari Wigunas implementering av en spänningsdelare för att få ett unikt analogt värde för varje tangent i en 16 -stifts knappsats. One Pin -knappsats design förblir i stort sett densamma, med några justeringar. Om du vill ha en bra handledning om hur One Pin -knappsatsen fungerar, kolla gärna in Hari Wigunas fantastiska video här!

Steg 9: Slutsats

Slutsats
Slutsats

I den här instruktionsboken täckte vi hur du kommer igång med din One Pin -knappsats. Nu kan de nyfikna bland er ha undrat varför readKeypadInstantaneous -skissen aldrig användes, anledningen är att den inte är lika användbar, eftersom knappen måste tryckas in när den kallas, funktionen readKeypadInstantaneous () används främst för att förenkla readKeypadWithTimeout () i biblioteket. Om det fångar ditt öga, ta det gärna en snurr. Glad hackning!

Om du har några frågor, lämna en kommentar nedan eller maila oss på [email protected]. Allt gott, Progetto Company P. S. Som utlovat, en länk till styrelsens Eagle Files.

Rekommenderad: