Innehållsförteckning:
- Steg 1: Samla alla delar
- Steg 2: Kabeldragning
- Steg 3: Installation av Python -paket
- Steg 4: Installera exemplen
- Steg 5: Aktivera I2C
- Steg 6: Kör kalibreringsgränser
- Steg 7: Ändra och kör sedan Readkeypadwithtimeout
- Steg 8: Hur One Pin -knappsatsen fungerar
- Steg 9: Slutsats
Video: One Pin Keypad Raspberry Pi Användningsguide: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:43
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
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
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
Ö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
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:
Steg 5: Aktivera 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
- Gränssnittsalternativ
- I2C
- 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
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
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
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
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:
ESP -01 Programmer Hack - the Easy One :): 6 steg
ESP-01 Programmer Hack-the Easy One :): Hej ESPers, I denna instruerbara ska jag visa dig ett enkelt hack för att göra en programmerare för ESP-01 / ESP8266-01 / ES-01-modulen. De flesta av oss har använt ett Arduino-kort eller FTDI USB-TTL-enheter som programmerare för denna modul. Båda metoderna fungerar bra. Men t
Rover-One: Ge en RC-lastbil/bil en hjärna: 11 steg
Rover-One: Ge en RC Truck/car a Brain: This Instructable finns på ett kretskort som jag designade kallat Rover-One. Rover-One är en lösning som jag konstruerade för att ta en leksaks RC-bil/lastbil och ge den en hjärna som innehåller komponenter för att känna av sin omgivning. Rover-One är en 100 mm x 100 mm kretskort designad i EasyED
Lazy 7 / One: 12 steg (med bilder)
Lazy 7/One: Lazy 7/OneFeatures/Instructions är desamma som för andra projekt baserade på samma skiss, här är en annan video (även länkad från skissinstruktionerna i steg 10) .Uppdatering - 2020/07/30 Delade elektronikfodralet STL och lade till ett annat omslag (B)
Arduino Digital Code Lock Project Using Matrix Keypad: 9 Steg
Arduino Digital Code Lock Project Using Matrix Keypad: Bygg en digital kodlåsenhet med Arduino och Qwiic -system med Zio M Uno och Hex 4x3 Matrix Keypad. i. I den här självstudien visar vi användning
ISP 6 Pin till 8 Pin Socket: 4 steg
ISP 6 Pin till 8 Pin Socket: Anledningen till att jag huvudsakligen byggde detta projekt var att programmera ATTiny45, som har en 8 -pins anslutning, medan min USBtinyISP (från Ladyada) bara har en 10 pin och 6 pin anslutning. Efter att ha snokat runt på internet i cirka 3-4 veckor hittade jag ingenting