Arduino Nano - Tastatur - Relais

Lernen Sie, wie man das Tastenfeld und das Relais mit dem Arduino Nano verbindet.

Wie man den Arduino Nano programmiert, um das Passwort vom Tastenfeld auszulesen und das Relais ein- bzw. auszuschalten.

Dieses Tutorial zeigt Ihnen, wie Sie ein Tastenfeld und einen Arduino Nano verwenden, um ein Relais zu steuern. Wenn der Benutzer das korrekte Passwort am Tastenfeld eingibt, aktiviert der Arduino Nano das Relais.

Die Anleitung liefert außerdem den Arduino-Nano-Code, der ein Relais für eine bestimmte Dauer aktiviert und es danach deaktiviert, ohne die delay()-Funktion zu verwenden. Darüber hinaus ist der Arduino-Nano-Code in der Lage, mehrere Passwörter zu verwalten.

Indem man ein Relais an ein Elektromagnetisches Schloss, ein Solenoidschloss, einen Linearantrieb, ein Heizelement, eine Pumpe oder einen Ventilator anschließt, ... Wir können sie mit einem Tastenfeld steuern.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Tastenfeld
1×Relais
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Keypad und Relais

Wenn Sie mit Tastatur und Relais nicht vertraut sind (einschließlich Pinbelegung, Funktionsweise, Programmierung usw.), können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

Arduino Nano Tastatur-Relais-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Arduino Nano Code - Relais einschalten, wenn das Passwort korrekt ist

Wenn das Passwort korrekt ist, aktivieren die folgenden Codes ein Relais.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-keypad-relay */ #include <Keypad.h> const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //four columns const int RELAY_PIN = 2; // The Arduino Nano pin connected to the IN pin of relay module const byte pin_rows[ROW_NUM] = {10, 9, 8, 7}; // The Arduino Nano pin connected to the row pins of the keypad const byte pin_column[COLUMN_NUM] = {6, 5, 4}; // The Arduino Nano pin connected to the column pins of the keypad char key_layout[ROW_NUM][COLUMN_NUM] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; Keypad keypad = Keypad( makeKeymap(key_layout), pin_rows, pin_column, ROW_NUM, COLUMN_NUM); const String password_1 = "4321"; // change your password here const String password_2 = "09876"; // change your password here const String password_3 = "9765"; // change your password here String input_password; void setup() { Serial.begin(9600); input_password.reserve(32); // maximum password size is 32, change if needed pinMode(RELAY_PIN, OUTPUT); // initialize pin as an output. digitalWrite(RELAY_PIN, LOW); } void loop() { char key = keypad.getKey(); if (key) { Serial.println(key); if (key == '*') { input_password = ""; // reset the input password } else if (key == '#') { if (input_password == password_1 || input_password == password_2 || input_password == password_3) { Serial.println("The correct password! Turning ON relay"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.println("The incorrect password! try again"); } input_password = ""; // reset the input password } else { input_password += key; // append new character to input password string } } }

Schnelle Schritte

  • Verbinden Sie ein USB-Kabel mit dem Arduino Nano und dem PC.
  • Öffnen Sie die Arduino IDE, wählen Sie das richtige Board und den richtigen Port aus.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach “keypad” und finden Sie die von Mark Stanley und Alexander Brevig erstellte keypad-Bibliothek.
  • Drücken Sie dann auf die Installieren-Schaltfläche, um die keypad-Bibliothek zu installieren.
Arduino Nano Keypad-Bibliothek
  • Suchen Sie nach “ezOutput”, dann finden Sie die ezOutput-Bibliothek von ArduinoGetStarted.
  • Drücken Sie auf die Install-Schaltfläche, um die ezOutput-Bibliothek zu installieren.
Arduino Nano-Ausgabebibliothek
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Dann drücken Sie die Schaltfläche Hochladen in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
Arduino IDE Code hochladen
  • Geben Sie 1234 gefolgt von der #-Taste ein und dann 9765 gefolgt von der #-Taste ein.
  • Überprüfen Sie das Ergebnis im Serial Monitor und beobachten Sie den Zustand des Relais.
COM6
Send
The incorrect password! try again The correct password! Turning ON relay
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code-Erklärung

Autorisierte Passwörter sind im Arduino-Nano-Code vordefiniert. Eine Zeichenkette wird verwendet, um das von Benutzern eingegebene Passwort zu speichern, bezeichnet als die Eingabezeichenfolge. Auf dem Tastenfeld werden zwei Tasten (* und #) für besondere Zwecke verwendet: zum Löschen des Passworts und zum Beenden der Passworteingabe. Wenn eine Taste auf dem Tastenfeld gedrückt wird:

  • Wenn die gedrückte Taste nicht zu einer der beiden Sondertasten gehört, wird sie an die Eingabezeichenfolge angehängt.
  • Wenn die gedrückte Taste * ist, wird die Eingabezeichenfolge gelöscht. Dies kann verwendet werden, um das Eingeben des Passworts zu starten oder neu zu beginnen.
  • Wenn die gedrückte Taste # ist:
    • Der Arduino Nano überprüft das eingegebene Passwort, indem er die Eingabezeichenfolge mit den vordefinierten Passwörtern vergleicht. Wenn es mit einem der vordefinierten Passwörter übereinstimmt, wird das Relais eingeschaltet.
    • Unabhängig davon, ob das Passwort korrekt ist oder nicht, wird die Eingabezeichenfolge für die nächste Eingabe gelöscht.

Arduino Nano Code - schalte ein Relais für einen bestimmten Zeitraum ein, wenn das Passwort korrekt ist

Wenn das Passwort korrekt ist, wird das Relais 5 Sekunden lang eingeschaltet. Nach Ablauf dieses Zeitraums wird das Relais deaktiviert.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-keypad-relay */ #include <Keypad.h> #include <ezOutput.h> #define RELAY_ON_TIME 5000 // in milliseconds const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //four columns const int RELAY_PIN = 2; // The Arduino Nano pin connected to the IN pin of relay module const byte pin_rows[ROW_NUM] = {10, 9, 8, 7}; // The Arduino Nano pin connected to the row pins of the keypad const byte pin_column[COLUMN_NUM] = {6, 5, 4}; // The Arduino Nano pin connected to the column pins of the keypad char key_layout[ROW_NUM][COLUMN_NUM] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; Keypad keypad = Keypad( makeKeymap(key_layout), pin_rows, pin_column, ROW_NUM, COLUMN_NUM); ezOutput relay(RELAY_PIN); const String password_1 = "4321"; // change your password here const String password_2 = "09876"; // change your password here const String password_3 = "9765"; // change your password here String input_password; void setup() { Serial.begin(9600); input_password.reserve(32); // maximum password size is 32, change if needed relay.low(); } void loop() { relay.loop(); // MUST call the loop() function first char key = keypad.getKey(); if (key) { Serial.println(key); if (key == '*') { input_password = ""; // reset the input password } else if (key == '#') { if (input_password == password_1 || input_password == password_2 || input_password == password_3) { Serial.println("The correct password! Turning ON relay"); relay.low(); // set low before making a high pulse relay.pulse(RELAY_ON_TIME); // turn on relay in RELAY_ON_TIME duration and then turn off } else { Serial.println("The incorrect password! try again"); } input_password = ""; // reset the input password } else { input_password += key; // append new character to input password string } } }

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!