Arduino Nano - Taster - Relais

Dieses Tutorial zeigt dir, wie man den Arduino Nano und einen Knopf verwendet, um das Relais zu steuern. Indem man das Relais mit einem Solenoidschloss, einer Glühbirne, einem LED-Streifen, einem Motor oder einem Aktuator verbindet, können wir mit einem Knopf diese Geräte steuern. Wir werden zwei verschiedene Anwendungen kennenlernen:

Anwendung 1 - Der Relaiszustand ist mit dem Tastzustand synchronisiert. Im Detail:

Anwendung 2 - Der Relaiszustand wird jedes Mal um Umschalten, wenn der Knopf gedrückt wird. Genauer gesagt:

In der Anwendung 2, müssen wir den Taster entprellen, um sicherzustellen, dass er ordnungsgemäß funktioniert. Wir werden sehen, warum das wichtig ist, indem wir vergleichen, wie das Relais reagiert, wenn wir den Arduino-Code mit und ohne Entprellung des Tasters verwenden.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×Relais
1×Breadboard
1×Verbindungskabel
1×(Optional) Magnetschloss
1×(Optional) 12V Netzteil
1×(Optional) DC-Stromanschluss
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 Relais und Knopf

Wenn Sie sich nicht mit Relais und Tastern auskennen, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

Arduino Nano Taster-Relais-Schaltplan

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.

Anwendung 1 - Der Relaiszustand ist mit dem Tastzustand synchron

Arduino Nano Code

/* * 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-button-relay */ const int BUTTON_PIN = 8; // The Arduino Nano pin connected to button's pin const int RELAY_PIN = 2; // The Arduino Nano pin connected to relay's pin void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode } void loop() { int button_state = digitalRead(BUTTON_PIN); // read new state if (button_state == LOW) { Serial.println("The button is being pressed"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (button_state == HIGH) { Serial.println("The button is unpressed"); digitalWrite(RELAY_PIN, LOW); // turn off } }

Schnelle Schritte

  • Verbinde ein Arduino Nano mit deinem Computer über ein USB-Kabel.
  • Starte die Arduino-IDE und wähle das richtige Board und den richtigen Port aus.
  • Kopiere den Code und öffne ihn in der Arduino-IDE.
  • Klicke auf den Hochladen-Button in der Arduino-IDE, um den Code zu kompilieren und auf das Arduino Nano hochzuladen.
Arduino-IDE Code hochladen
  • Drücken Sie den Knopf und halten Sie ihn einige Sekunden lang gedrückt.
  • Überprüfen Sie die Veränderung des Relaiszustands.

Sie werden feststellen, dass der Zustand des Relais mit dem Zustand des Tasters synchron ist.

Quellcode-Erklärung

Sehen Sie sich die Zeilen-für-Zeile-Erklärung in den Kommentaren des Quellcodes an!

Anwendung 2 - Taster schaltet Relais

Arduino Nano Code - Taster schaltet Relais ohne Entprellung

/* * 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-button-relay */ const int BUTTON_PIN = 8; // The Arduino Nano pin connected to button's pin const int RELAY_PIN = 2; // The Arduino Nano pin connected to relay's pin int relay_state = LOW; // The current state of relay int prev_button_state; // The previous state of button int button_state; // The current state of button void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode button_state = digitalRead(BUTTON_PIN); } void loop() { prev_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if(prev_button_state == HIGH && button_state == LOW) { Serial.println("The button is pressed"); // toggle state of relay relay_state = !relay_state; // control relay according to the toggled state digitalWrite(RELAY_PIN, relay_state); } }

Code-Erklärung

Sie finden die Erklärung in den Kommentarzeilen des oben gezeigten Arduino-Nano-Codes.

Im Code ist der Ausdruck relay_state = !relay_state äquivalent zum folgenden Code:

if(relay_state == LOW) relay_state = HIGH; else relay_state = LOW;

Schnelle Schritte

  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Laden Sie den Code auf den Arduino Nano hoch.
  • Drücken Sie den Knopf, lösen Sie ihn und drücken Sie ihn mehrmals.
  • Beobachten Sie die Änderung des Relaiszustands.

Sie werden vielleicht bemerken, dass das Relais jedes Mal ein- oder ausschaltet, wenn Sie den Knopf drücken, aber das ist nicht immer dasselbe. Manchmal kann es bei nur einem Knopfdruck mehrmals schnell umschalten, oder es schaltet überhaupt nicht um (es wechselt zweimal sehr schnell, was mit bloßem Auge nicht sichtbar ist).

⇒ Um dieses Problem zu lösen, müssen wir die Entprellung des Knopfs.

Arduino Nano Code - Taster schaltet Relais mit Entprellung

Das Entprellen eines Knopfes kann für Anfänger eine Herausforderung darstellen. Glücklicherweise macht die ezButton-Bibliothek das einfach.

Warum ist Entprellung notwendig? Siehe das Arduino Nano – Tasten-Entprellung Tutorial für weitere Informationen.

/* * 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-button-relay */ #include <ezButton.h> const int BUTTON_PIN = 8; // The Arduino Nano pin connected to button's pin const int RELAY_PIN = 2; // The Arduino Nano pin connected to relay's pin ezButton button(BUTTON_PIN); // create ezButton object for pin 7; int relay_state = LOW; // The current state of relay void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); // toggle state of relay relay_state = !relay_state; // control relay according to the toggled state digitalWrite(RELAY_PIN, relay_state); } }

Schnelle Schritte

  • Installiere die ezButton-Bibliothek. Siehe Anleitung für Anweisungen.
  • Kopiere den Code und öffne ihn mit der Arduino IDE.
  • Klicke in der Arduino IDE auf den Hochladen-Button, um den Code auf den Arduino Nano hochzuladen.
  • Drücke den Knopf mehrmals und lasse ihn los.
  • Überprüfe die Änderung des Relaiszustands.

Sie werden feststellen, dass das Relais jedes Mal nur einmal ein- oder ausgeschaltet wird, wenn Sie den Knopf drücken.

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!