Wie Benutzerdefinierte Funktionen für Ihre Tastatur Öffnung Arduino-Projekt angeben

Der letzte Teil des Codes für Ihre Tastatur Eingabesystem Arduino-Projekt enthält vier Funktionen, die die Taste gedrückt Griff zu identifizieren, Befehle an das Max-Chip sendet, das Löschen der Anzeige und Aktivierung der Türmechanismus.

Der clevere Teil dieses Codes ist, wie die keypress bestimmt wird. Es verwendet Code von Michael Margolis in seinem unverzichtbaren Nachschlagewerk, Arduino-Kochbuch, von O'Reilly Media veröffentlicht. Die digitalen Stifte für die Reihen waren hoch gezogen während Konfiguration(). Dies bedeutet, dass diese Stifte Lesen immer auf HIGH zu bewerten, es sei denn, etwas anderes wird sie nach unten gezogen wird - wie ein keypress sie auf einen LOW Spalte Stift verbindet.

Das getKey Funktion geht durch jedes der digitalen Pins verbunden mit den Spaltenstifte der Tastatur und setzt den Pin für LOW. Er prüft dann, um zu sehen, ob irgendwelche Reihe Pins sind jetzt auch LOW. Die Pull-up-Widerstände Sie verwendet in Konfiguration() halten Sie die Zeile Stifte HOCH - es sei denn, eine Taste gedrückt wurde, wird er mit einem L-Spalte Stift verbindet!

Daswährend Anweisung arbeitet nur während ein Zustand vorliegt, in diesem Fall, wenn eine der Zeilenstifte LOW geworden aufgrund einer keypress. In diesem Moment wird die KEYMAP konsultiert die entsprechenden Nummer für diese Reihe und Spalte, und diese wird gespeichert in der Variablen zu finden, Schlüssel.

Als nächstes möchten Sie ein wenig Hausarbeit, alle Spaltenstifte um wieder auf HIGH, für das nächste Mal zu setzen. Schließlich wird der Wert für die Schlüssel zu dem Teil des Programms zurückgeführt, die es angefordert. Puh!

Das einzige, was noch ist die Tür zu Ihrem Festung / Burg / Labor zu entsperren. Wenn Sie nicht bereits getan haben, am Ende den letzten Teil des Codes hinzufügen. In dem entsperren () Funktion, die vier sendcommand () Anweisungen Mitteilung drucken # 147-HALLO # 148- auf der Anzeige. Es ist schön, ein herzliches Willkommen zu erhalten - wenn auch nur eine kurze ein. Dann passiert die Aktion.

Das strikePin HOCH geschrieben, die Macht an den Transistor liefern, um das Relais zu steuern. Wenn es aktiviert wird, wird Energie zu Ihrem Entriegelungsmechanismus für die Dauer angegeben durchgelassen durch doorOpenTime. Dann setzen Sie strikePin auf LOW alle schändlichen Eindringlinge, Spione, und Bösewichte fern zu halten.

Wenn Sie nicht bereits getan haben, laden Sie den Code und drücken Sie die Daumen. Wenn Sie eine Taste drücken, sollten Sie seine Nummer in Ihrer LED-Modul angezeigt zu sehen. Öffnen Sie den seriellen Monitor in der Arduino IDE und beobachten, was passiert, wenn Sie eine Taste drücken. Wenn alles richtig angeschlossen ist, sollten Sie die Schlüssel identifiziert sehen und die codeBuffer [] nach und nach mit den Werten haben Sie eingegeben gefüllt.

Wenn Sie nicht die Ziffern siehe Modul Beleuchtung auf Ihrer LED, überprüfen Sie noch einmal Ihre Verbindungen. Wenn Sie nicht die richtigen Werte auf Ihrem seriellen Monitor sehen, stellen Sie sicher, dass es nicht um einen Fehler im Code ist und dass die Werte für rowPins und colPins sind richtig. Nachdem Sie bestätigt haben, das alles funktioniert, können Sie bewegen, um das Relais und Türöffnungsmodul hinzuzufügen.

Wenn es nicht funktioniert, werden Sie nicht in der Lage sein, das Relais und Türmechanismus zu testen.

Um Ihre Arduino für seine Lebensdauer als Wachmann vorbereiten, stellen DEBUGGEN nach falsch und laden Sie den Code ein letztes Mal. Entfernen Sie die USB-Verbindung von Ihrem Arduino, weil Sie es nicht mehr benötigen. Die Stromversorgung wird von Ihrem Netztrafo versorgt werden.

Menü