Inhaltsverzeichnis:

Beispiel für Schließfach mit Arduino Matrix-Tastatur 4x4 - Gunook
Beispiel für Schließfach mit Arduino Matrix-Tastatur 4x4 - Gunook

Video: Beispiel für Schließfach mit Arduino Matrix-Tastatur 4x4 - Gunook

Video: Beispiel für Schließfach mit Arduino Matrix-Tastatur 4x4 - Gunook
Video: RFID-Bargeldschließfach mit Arduino 2024, Juli
Anonim
Beispiel eines Schließfachs mit Arduino Matrix-Tastatur 4x4
Beispiel eines Schließfachs mit Arduino Matrix-Tastatur 4x4

2 Möglichkeiten, eine Tastatur mit 16 Tasten mit einem Minimum an Pins zu verwalten.

Schritt 1: Einführung

Ich habe vor kurzem daran gearbeitet, eine 4x4-Touch-Tastaturmatrix zu verwalten, die mit einem Arduino-Klon verbunden ist. Die Sollwerte waren:

-um nur 4+1 Pins statt 8 Pins auf dem atmega328p zu verwenden

-um ein LCD Display 4x20 CHAR Link über I2C (2 Pins) hinzuzufügen

-zur Steuerung von digitalen und analogen Ausgängen.

Also, eine Menge Dinge zu kontrollieren mit einer Sinus-Menge an I/O.

Schritt 2: Zu verwendende Dinge:

Dinge zu verwenden
Dinge zu verwenden

Ich habe ein LCD-Display mit 4x20 Zeichen und einen I2C-Moduladapter gekauft, um das Display mit SDA (A4) und SCL (A5) Pins an meinem Arduino-Klon zu verbinden.

Ich verwende das berühmte und mittlerweile veraltete MM74C922N: ein 8-auf-4-Wege-Konverter, der auf die 4x4-Matrix-Tastatur passt.

Ich habe einen Klon des Arduino basierend auf dem atmega328p erstellt und über einen HE10-Anschluss (SPI-Bus) und ein USBasp-Kabel programmiert.

Schritt 3: Schema und das Board:

Schaltplan und Vorstand
Schaltplan und Vorstand
Schaltplan und Vorstand
Schaltplan und Vorstand

Das Brett besteht aus:

-die LCD-Tastatur nur mit Arduino IDE verwenden, nicht mit LDmicro (Ladder-Programmierung) möglich

-die Karte MM74C922N: 16 Drucktasten, die auf 16 Binärwerten auf 4 Bit DCBA codiert sind. Wenn eine Taste gedrückt wird: Die blaue LED leuchtet und ein Wert erscheint auf DCBA (A ist das LSB). Wenn eine Taste losgelassen wird: Die blaue LED erlischt und der Wert wird am DCBA auf Null zurückgesetzt.

-das Arduino atmega238p Klonboard.

Schritt 4: Verwenden von LDmicro mit Leiterprogrammierung:

Verwenden von LDmicro mit Kontaktplanprogrammierung
Verwenden von LDmicro mit Kontaktplanprogrammierung
Verwenden von LDmicro mit Kontaktplanprogrammierung
Verwenden von LDmicro mit Kontaktplanprogrammierung
Verwenden von LDmicro mit Kontaktplanprogrammierung
Verwenden von LDmicro mit Kontaktplanprogrammierung

Der einzugebende Code besteht aus 4 Werten unter 16 Tastendrücken, also 16x16x16x16 Kombinationen.

Sobald Sie die SFC gezeichnet haben, müssen Sie sie mit der in einem meiner. angegebenen Methode in LADDER übersetzen

instructables:

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

Nach der Eingabe kompilieren Sie es als xxxx.hex und laden Sie es dann mit dem KHAZAMA-Downloader herunter.

Das LCD-Display kann auf LDmicro nicht programmiert werden.

Ich gebe LDmicro zip mit der Skizze SERRURE.id und dem KHAZAMA Downloader.

Schritt 5: Verwenden von Arduino IDE 1.8.x mit Mightycore und SMlib:

Verwenden von Arduino IDE 1.8.x mit Mightycore und SMlib
Verwenden von Arduino IDE 1.8.x mit Mightycore und SMlib

Ich übersetze den SFC in eine Zustandsmaschine. Dann habe ich Arduino IDE mit der Mightycore- und SM-Bibliothek verwendet.

Ich zeige Meldungen wie: ERROR, WAITING, UNLOCK, State erreicht, Wert der gedrückten Taste auf dem LCD-Display an.

Ich gebe Ihnen die Skizze und die SM-Lib. Für Mightycore schau dir das an:

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

Schritt 6: Zum Abschluss:

Dies sind zwei Möglichkeiten, die 16-Tastatur zu verwalten, und ich habe mehrere Stunden gebraucht, um die gute Sequenz zu finden, aber jetzt funktioniert es gut. Sie müssen diese Schritte beachten:

-1 erkennt einen Tastendruck an einer steigenden Flanke des DA-Pins

-2 den auf DCBA generierten Wert lesen und mit dem guten vergleichen

Es sei denn, es wird sicherlich nicht funktionieren.

Danke an alle interessanten Tutorials im Netz.

Empfohlen: