Indholdsfortegnelse:
- Trin 1: Sådan fungerer tastaturet
- Trin 2: Fysiske forbindelser
- Trin 3: Sådan fungerer Getkey ()
- Trin 4: Getvalue (cifre)
Video: Brug af en 4x4 -tastatur med CircuitPython: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Dette billige tastatur tilbyder en enkel metode til numerisk input til dine CircuitPython -projekter. Jeg vil bruge den med en Adafruit ItsyBitsy M0 express.
Du får brug for:
- Tastatur - min er 4x4
- ItsyBitsy M0 Express eller lignende bord
- Mu Editor installeret på din computer
- USB -kabel til at blinke koden
Trin 1: Sådan fungerer tastaturet
Tastaturet har 16 enkle, langsomt virkende boblekontakter arrangeret i et 4 by -grid med 8 forbindelser i bunden. Hvis vi taler fra venstre fra 0 til 7, er forbindelserne 0 til 3 forbundet til hver af rækkerne. Tilslutning 0 til den øverste række og forbindelse 3 til den nederste række. Forbindelser 4 til 7 er forbundet til kolonnerne med forbindelse 4 på den venstre kolonne og forbindelse 7 til den højre kolonne. Hver af de 16 kontakter skifter mellem en anden række/kolonne kombination. Hvis vi trykker på tast 7, er den tredje række forbundet med den venstre kolonne. Vi kan mærke, om 5 -tasten, hvis der trykkes på, hvis dens række er hævet HØJ, og vi kan læse en HØJ på dens kolonne. For at gøre dette OUTPUT til rækkerne og INPUT fra kolonnerne.
Vi er nødt til at indstille hver række HIGH efter tur, mens de andre rækker er LOW, skal du læse hver kolonne efter tur, indtil vi får et HIGH -input. Dette styres let med indlejrede sløjfer.
Vi er nødt til at tage højde for, at disse boblekontakter virker ganske langsomt og skal presses ret hårdt for at få dem til at lukke. Scanning af alle 16 kontakter på denne måde kan udføres meget hurtigt, men vi skal scanne gentagne gange for at få et tastetryk. Vi skal også 'debounce' med en kort tidsforsinkelse, så vi ikke får tasterne gentaget hver gang vi trykker på.
Da kontakterne er ret 'squishy', har vi brug for lidt feedback til brugeren for at angive, at et tastetryk er blevet læst. Den indbyggede LED blinker hver gang et tastetryk registreres.
Trin 2: Fysiske forbindelser
Forbindelser fra venstre til højre på KeyPad0 1 2 3 4 5 6 7
D7 D9 D10 D11 A5 A4 A3 A2 på ItsyBitsy
D7 til D11 angives som OUTPUT'er, mens A5 til A2 konfigureres som INPUT'er med PULLDOWN.
Koden har masser af kommentarer og burde være ret let at følge.
Trin 3: Sådan fungerer Getkey ()
Denne funktion scanner tastaturet efter et enkelt tastetryk. Den kontrollerer hurtigt hver af tasterne maksimalt 10 gange for at se, om en nøglekontakt er lukket. Hvis der trykkes på en tast, returnerer den nøgleværdien og tæller fra venstre til højre fra top til bund (0… 15) Bemærk værdierne for den nederste række: 14, 0, 15, 13 (Hex E, 0, F, D). Hvis der ikke blev trykket på en tast, returneres -999 som en fejlkode, der let kan hentes i hovedprogrammet. Den indbyggede LED blinker, hvis der tages et tastetryk som brugerfeedback. Dette kører temmelig hurtigt, og ventetiden på de-bounce på 0,2 sekunder bruges kun, når der trykkes på en tast.
Trin 4: Getvalue (cifre)
Denne rutine leverer en n cifret værdi fra de numeriske taster. Den ignorerer de røde taster.
Denne Python -kode kan let konverteres til at køre på en anden enhed, f.eks. En Raspberry Pi, du skal sandsynligvis kun ændre pin -opsætningslinjerne øverst i scriptet.
Lad mig vide, hvis du finder koden nyttig.
Vær sikker og hav det sjovt!
Anbefalede:
Hjemmeautomatisering Trin for trin Brug af Wemos D1 Mini Med PCB -design: 4 trin
Hjemmeautomatisering Trin for trin Brug af Wemos D1 Mini Med PCB -design: Hjemmeautomatisering Trin for trin ved hjælp af Wemos D1 Mini med PCB -design For et par uger siden udgav vi en tutorial "Home Automation using Raspberry Pi" i rootsaid.com, som blev godt modtaget blandt hobbyfolk og universitetsstuderende. Så kom et af vores medlemmer
4X4 LED MATRIX Brug af 74hc595 IC: 7 trin
4X4 LED MATRIX Brug af 74hc595 IC: Beskrivelse I denne blog vil vi fokusere på, hvordan man laver og koder en 4x4 LED -matrix ved hjælp af et skiftregister (SN7HC595N)
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
Neopixel Ws2812 Rainbow LED Glød Med M5stick-C - Kører Rainbow på Neopixel Ws2812 Brug af M5stack M5stick C Brug af Arduino IDE: 5 trin
Neopixel Ws2812 Rainbow LED Glød Med M5stick-C | Kører Rainbow på Neopixel Ws2812 Brug af M5stack M5stick C Brug af Arduino IDE: Hej fyre i denne instruktion vil vi lære at bruge neopixel ws2812 LED'er eller led strip eller led matrix eller led ring med m5stack m5stick-C udviklingstavle med Arduino IDE, og vi vil lave et regnbuemønster med det
Grafik på en SSD1306 I2C OLED 128x64 -skærm med CircuitPython Brug af en Itsybitsy M4 Express: 13 trin (med billeder)
Grafik på en SSD1306 I2C OLED 128x64 -skærm med CircuitPython Brug af en Itsybitsy M4 Express: SSD1306 OLED -skærmen er en lille (0,96 '), billig, bredt tilgængelig, I2C, monokrom grafisk skærm med 128x64 pixels, som let kan tilsluttes (kun 4 ledninger) til mikroprocessorudviklingskort som f.eks. en Raspberry Pi, Arduino eller