Innholdsfortegnelse:

Eksempel på skap med Arduino Matrix -tastatur 4x4: 6 trinn
Eksempel på skap med Arduino Matrix -tastatur 4x4: 6 trinn

Video: Eksempel på skap med Arduino Matrix -tastatur 4x4: 6 trinn

Video: Eksempel på skap med Arduino Matrix -tastatur 4x4: 6 trinn
Video: CS50 2015 - Week 8, continued 2024, Juni
Anonim
Eksempel på skap med Arduino Matrix -tastatur 4x4
Eksempel på skap med Arduino Matrix -tastatur 4x4

2 måter å administrere et tastatur med 16 knapper med minimum pinner.

Trinn 1: Intro

Jeg har nylig jobbet med en måte å administrere en 4x4 -tastaturmatrise koblet til en Arduino -klon. Settpunktene var:

-å bruke bare 4+1 pinner i stedet for 8 pinner på atmega328p

-å legge til en LCD -skjerm 4x20 CHAR -lenke via I2C (2 pins)

-for å kontrollere digitale og analoge utganger.

Så å ha mange ting å kontrollere med en synd mengde I/O.

Trinn 2: Ting å bruke:

Ting å bruke
Ting å bruke

Jeg kjøpte en LCD -skjerm 4x20 tegn og en I2C -moduladapter for å koble skjermen med SDA (A4) og SCL (A5) pinner på min arduino -klon.

Jeg bruker den berømte og nå foreldede MM74C922N: en 8 til 4 -veis omformer som passer til 4x4 matrisetastaturet.

Jeg opprettet en klon av arduino basert på atmega328p og programmert via en HE10 -kontakt (SPI -buss) og en USBasp -kabel.

Trinn 3: Skjematisk og styret:

Skjematisk og styret
Skjematisk og styret
Skjematisk og styret
Skjematisk og styret

Styret er laget av:

-LCD -tastaturet kan bare brukes med Arduino IDE, ikke mulig med LDmicro (stige -programmering)

-kortet MM74C922N: 16 trykknapper kodet på 16 binære verdier på 4 bits DCBA. Når du trykker på en knapp: den blå LED -lampen lyser og en verdi vises på DCBA (A er LSB). Når en knapp slippes: Den blå lysdioden lyser og verdien nullstilles på DCBA.

-klonebrettet Arduino atmega238p.

Trinn 4: Bruke LDmicro With Ladder Programming:

Bruke LDmicro With Ladder Programming
Bruke LDmicro With Ladder Programming
Bruke LDmicro With Ladder Programming
Bruke LDmicro With Ladder Programming
Bruke LDmicro With Ladder Programming
Bruke LDmicro With Ladder Programming

Koden som skal legges inn består av 4 verdier blant 16 tastetrykkede verdier, så 16x16x16x16 kombinasjoner.

Når du har tegnet SFC, må du oversette den til LADDER med metoden gitt i en av mine

instruerbare:

www.instructables.com/id/Arduino-tomation-…

Når du har skrevet det, kompilerer du det som xxxx.hex og laster det ned med KHAZAMA -nedlastning.

LCD -skjermen kan ikke programmeres på LDmicro.

Jeg gir LDmicro zip med skissen SERRURE.id i den og KHAZAMA -nedlasteren.

Trinn 5: Bruke Arduino IDE 1.8.x med Mightycore og SMlib:

Bruke Arduino IDE 1.8.x med Mightycore og SMlib
Bruke Arduino IDE 1.8.x med Mightycore og SMlib

Jeg oversetter SFC til en statsmaskin. Deretter brukte jeg Arduino IDE med Mightycore og SM -biblioteket inne.

Jeg viser melding som: FEIL, VENTER, LÅS OPP, tilstand nådd, verdien av tastetrykket på LCD -displayet.

Jeg gir deg skissen og SM lib. For Mightycore, se på dette:

www.instructables.com/id/Arduino-18x-Clone …

Trinn 6: For å konkludere:

Dette er to måter å administrere det 16 tastaturet på, og det tok meg flere timer å finne den gode sekvensen, men nå fungerer det fint. Du må respektere disse trinnene:

-1 oppdager et tastetrykk på en stigende kant av DA -pinnen

-2 les verdien generert på DCBA og sammenlign med den gode

Med mindre det absolutt ikke vil fungere.

Takk til all interessant opplæring på nettet.

Anbefalt: