Innholdsfortegnelse:
- Trinn 1: Slik fungerer tastaturet
- Trinn 2: Fysiske forbindelser
- Trinn 3: Hvordan fungerer Getkey ()
- Trinn 4: Getvalue (sifre)
Video: Bruke en 4x4 -tastatur med CircuitPython: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Dette rimelige tastaturet tilbyr en enkel metode for numerisk inndata til CircuitPython -prosjektene dine. Jeg skal bruke den med en Adafruit ItsyBitsy M0 express.
Du vil trenge:
- Tastatur - min er 4x4
- ItsyBitsy M0 Express eller lignende brett
- Mu Editor installert på datamaskinen din
- USB -kabel for å blinke koden
Trinn 1: Slik fungerer tastaturet
Tastaturet har 16 enkle, saktevirkende boblebrytere arrangert i et 4 -by -grid med 8 tilkoblinger nederst. Hvis vi nummererer fra venstre fra 0 til 7, er tilkoblingene 0 til 3 koblet til hver av radene. Tilkobling 0 til øverste rad og tilkobling 3 til nederste rad. Tilkoblinger 4 til 7 er koblet til kolonnene med tilkobling 4 på venstre kolonne og tilkobling 7 til høyre kolonne. Hver av de 16 bryterne gjør en sammenføyning mellom en annen rad/kolonne -kombinasjon. Hvis vi trykker på tast 7, kobles den tredje raden til venstre kolonne. Vi kan kjenne om 5 -tasten hvis den trykkes hvis raden er hevet HØY og vi kan lese en HØY på kolonnen. For å gjøre dette OUTPUT til radene og INPUT fra kolonnene.
Vi må sette hver rad HIGH etter tur, mens de andre radene er LOW, les hver kolonne etter tur til vi får en HIGH -inngang. Dette håndteres enkelt med nestede sløyfer.
Vi må ta hensyn til det faktum at disse boblebryterne virker ganske sakte og må presses ganske hardt for å få dem til å lukke. Skanning av alle 16 brytere på denne måten kan gjøres veldig raskt, men vi må skanne flere ganger for å få et tastetrykk. Vi må også 'debounce' med en kort tidsforsinkelse, slik at vi ikke får tastene til å gjenta hver gang vi trykker.
Siden bryterne er ganske "squishy", trenger vi noen tilbakemeldinger til brukeren for å indikere at et tastetrykk er lest. Den innebygde LED-en blinker hver gang et tastetrykk registreres.
Trinn 2: Fysiske forbindelser
Tilkoblinger fra venstre til høyre på KeyPad0 1 2 3 4 5 6 7
D7 D9 D10 D11 A5 A4 A3 A2 på ItsyBitsy
D7 til D11 er angitt som OUTPUTs mens A5 til A2 er satt opp som INPUTs med PULLDOWN.
Koden har mange kommentarer og bør være ganske lett å følge.
Trinn 3: Hvordan fungerer Getkey ()
Denne funksjonen skanner tastaturet for et enkelt tastetrykk. Den kontrollerer raskt hver av tastene maks 10 ganger for å se om en nøkkelbryter er lukket. Hvis du trykker på en tast, returnerer den nøkkelverdien, og teller fra venstre til høyre fra topp til bunn (0… 15) Legg merke til verdiene for den nederste raden: 14, 0, 15, 13 (sekskant E, 0, F, D). Hvis ingen tast ble trykket, returnerer den -999 som en feilkode som enkelt kan hentes i hovedprogrammet. Den innebygde LED-en blinker hvis et tastetrykk blir hentet som tilbakemelding fra brukeren. Dette går ganske raskt, og ventetiden på avvisning på 0,2 sekunder brukes bare når du trykker på en tast.
Trinn 4: Getvalue (sifre)
Denne rutinen gir en n sifferverdi fra de numeriske tastene. Den ignorerer de røde tastene.
Denne Python -koden kan enkelt konverteres til å kjøre på en annen enhet, for eksempel en Raspberry Pi, du trenger sannsynligvis bare å endre pin -oppsettlinjene øverst i skriptet.
Gi meg beskjed hvis du synes koden er nyttig.
Vær trygg og ha det gøy!
Anbefalt:
Bruke infrarød sensor med Arduino: 8 trinn (med bilder)
Bruke infrarød sensor med Arduino: Hva er en infrarød (aka IR) sensor? En IR -sensor er et elektronisk instrument som skanner IR -signaler i bestemte frekvensområder definert av standarder og konverterer dem til elektriske signaler på utgangspinnen (vanligvis kalt signalpinne) . IR -signalet
Hvordan bruke DS1307 Bruke Arduino: 7 trinn
Hvordan bruke DS1307 Bruke Arduino: DS1307 er en sanntidsklokke IC (RTC). Denne IC brukes til å gi tidsdata. Tildelt tid starter fra sekunder, minutt, timer, dager, dato, måned og år. Denne IC krever ytterligere eksterne komponenter som Crystal og 3,6V batterier. Krystall
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: 10 trinn
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: I denne instruksen vil jeg vise hvordan du bruker SplatPost -skriveren av ShinyQuagsire. Uten klare instruksjoner ville noen som ikke har erfaring med kommandolinjen ha litt problemer. Målet mitt er å forenkle trinnene ned til poi
Neopixel Ws2812 Rainbow LED-glød med M5stick-C - Kjører Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: 5 trinn
Neopixel Ws2812 Rainbow LED-glød med M5stick-C | Running Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: Hei folkens i denne instruksen, vi lærer hvordan du bruker neopixel ws2812 LED eller led strip eller led matrise eller led ring med m5stack m5stick-C utviklingstavle med Arduino IDE, og vi skal lage et regnbuemønster med den
Hvordan bruke Wiimote som en datamus ved å bruke stearinlys som sensor !!: 3 trinn
Slik bruker du Wiimote som en datamus ved å bruke stearinlys som en sensor !!: Denne guiden viser deg hvordan du kobler din Wii -fjernkontroll (Wiimote) til din PC og bruker den som en mus