Wie Variablen zu deklarieren, die Tastatur für Ihre Tastatur Öffnung Arduino-Projekt Code

Sobald Sie die Tastatur und Display-Komponenten an Ort und Stelle auf dem Steckbrett haben, ist es Zeit, den Code in Ihre Arduino zu laden. Nehmen Sie einen Moment auf den Code zu suchen und es dann zu dem Board hochzuladen.

Im ersten Abschnitt, bevor die Installation erklären Sie Variablen für die Tastatur und das Display.

const int numberOfDigits = 4- // Die Anzahl der Stellen in der 7-Segment displayconst int numRows = 4- // Anzahl der Zeilen in der keypadconst int numCols = 3- // Anzahl der Spalten in der keypadconst int DebounceTime = 20- / / Anzahl der Millisekunden für Schalter stableconst int doorOpenTime = 5000- // zu werden, wie lange der Türöffner openconst int strikePin = 9- // der Stift bleiben wollen, die das Relais für die Tür betätigt strikeconst int slaveSelect = 10- // Pin verwendet, um den Slave-Pin auf der MAX72xxchar Code zu ermöglichen [4] = { '1', '2', '3', '4'} - // Stellen Sie Ihren Code herechar codeBuffer [4] - // Speichert den Code, wird derzeit enteredboolean DEBUG = Echt- // an die serielle portint auf true Druckstatusmeldungen Set keypressCount = 0- // Zählt, wie oft eine Taste gedrückt wurde // die KEYMAP das Zeichen definiert zurückgegeben, wenn seine Schlüssel pressedconst char KEYMAP [numRows] [numCols] = {{ '1', '2', '3'}, { "4", "5", "6"}, { "7", "8", "9"} , { '*', '0', '#'}} - const int rowPins [numRows] = {7, 4, 2, 5} - // Keypad Zeilen 0 bis 3const int colPins [numCols] = {6, 8 3} - // Tastatur Spalten 0 bis 2

Das numberOfDigits Variable setzt Ihre LED-Treiber-IC mit der richtigen Anzahl von Ziffern. numRows und numCols speichern die Anzahl der Zeilen und Spalten auf dem Tastenfeld, 4 bzw. 3. Sie verwenden diese bis zu suchen, welche Taste gedrückt wird. Das debounceTime gewährleistet, dass genau erfaßt wird die Taste gedrückt wird. Sie legen die Höhe der Zeit wird die Tür mit der offen gehalten doorOpenTime Variable.

Das strikePin Variable definiert, welche werden digitale Stift aktiviert werden, wenn der richtige Code eingegeben wird. Dies gilt die Stromversorgung des Relais, das Ihre Türverriegelungsmechanismus zu betätigen, wird geschlossen. Sie könnten einen anderen Namen verwenden möchten, wenn Sie eine andere Art von Mechanismus verwenden, wie eine Magnettürschloss oder einem Drop-Riegelschloss.

slaveSelect die Sie definiert einen digitalen Stift Sie, um anzuzeigen, verwenden das Senden von Daten. Der Slave auswählen (oder # 147-Chip-Select # 148-) pin (SS) ist ein Befehls Stift auf Ihrem IC, die die externen Pins an die interne Schaltung verbindet.

In Anwendungen mit mehreren LED-Treiber, die alle mit Ihrer Eingangskabel sind, möchten Sie in der Lage zu sein, zu wählen, ob sie aktiviert ist. Der IC reagiert nur auf Befehle, wenn seine Slave-Auswahlmodus Stift aktiviert wird, die Sie zwischen diesen Treiber und anderen zu differenzieren können Sie verwenden könnten.

Sie sind nur einen einzigen IC in diesem Projekt verwenden, aber Sie müssen noch der Chip wissen zu lassen, wenn Sie es, Daten zu senden werden, und das ist, was SS Stift tut.

Zwei verkohlen Variablen sind für den Umgang mit Zugangscode verwendet. Der erste, Code[], speichert die Zugangscode Ziffern. Sie können dies auf das sein, was Sie wollen. Der Zweite verkohlen, codeBuffer [], Geschäfte (oder # 147-Puffer # 148-) die Tasten, die gedrückt wurden. Wenn diese beiden Spiel, presto! Das Arduino aktiviert strikePin. Es gibt keine Möglichkeit, den Code über die Tastatur einstellen - Sie haben es programmatisch zu tun.

Dieses Programm hat eine praktische Funktion wenig debug eingebaut Das ist, was die nächste Variable ist für: a. boolean namens DEBUGGEN. Daran erinnern, dass boolean Variablen nur wahr oder falsch sein kann. Durch diese Einstellung auf wahr, Sie können eine bedingte verwenden ob Anweisung bestimmte Codezeilen auszuführen, die ausgeführt wird, nicht, wenn Sie es auf falsch.

Sie können beispielsweise in diesem Code eine Menge von Variablen auf den seriellen Port zu drucken, zu testen, ob Ihre Tastatur richtig funktioniert. Aber nach dem System an der Tür installiert ist, brauchen Sie nichts weiter zu drucken. Anstatt alle diejenigen Löschen Serial.println () Aussagen, können Sie einfach auf das gehen zurück DEBUGGEN Variable und setzen Sie ihn auf falsch.

Das keypressCount speichert, wie viele Stellen bisher gedrückt. Wenn die vierte gedrückt wird, geschieht die eigentliche Handlung.

Das verkohlen Variable KEYMAP [] [] ist ein zweidimensionales Feld. Ein zweidimensionales Array ist einfach ein Array von Arrays. Stellen Sie sich ein Menü für ein italienisches Restaurant. Sie könnten ein Dutzend Menüpunkte zur Auswahl: Grissini, Suppe, Pizza, Lasagne, Salat, Rotwein, und so weiter.

Sie könnten diese als einfach einem einzigen Array speichern, aber man konnte sie auch nach Art organisieren: Starter {Grissini, Suppe}, Hauptgerichte {Pizza, Lasagne, Pasta}, {Getränke Wasser, Rotwein, Weißwein}. Auf diese Weise können Sie auf Posten beziehen, entweder einzeln oder als Sammlungen. Ein eindimensionales Feld, wie mit Ihrem Code[] Array, speichert Elemente (Einzeldaten) wie folgt aus:

Int einArray [] = {0,1,2,3} -

Ein zweidimensionales Array speichert Elemente wie folgt aus:

Int einArray [] [] = {{0,1,2,3}, {3,2,3,0}, {4,3,8,1}, {2,3,4,5}} -

Wenn Sie aus einer zweidimensionalen Anordnung zu lesen, gibt der erste Wert in den eckigen Klammern, welches Element Sie den zweiten Wert auf Read- wollen in Klammern das Element, das Sie innerhalb des angegebenen Elements angibt. Bei der Arbeit mit Arrays, beginnt die Nummerierung bei Null. So zum Beispiel in dem zweidimensionalen Array oben, einArray [2] [0] hält den Wert 4.

Das KEYMAP ist einfach zu speichern, die Ziffern sind auf der Tastatur verwendet. Es ist buchstäblich eine Karte der Schlüssel.

Wenn eine Taste gedrückt wird, verwenden Sie die KEYMAP die Zahl ist an dieser Stelle zu identifizieren, so dass Sie es zu Ihrem vorgegebenen Code vergleichen.

Die letzten beiden Variablen sind Arrays, welche Ihrer Arduino digitale Stifte speichern die Zeilen und Spalten Ihrer Tastatur angeschlossen sind.

Menü