Arduino Nano ESP32 - DIP-Schalter

In der Elektronik finden DIP-Schalter (Dual-In-Line-Package) breite Anwendung bei Konfigurationsaufgaben, wie Geräteadressen, Kommunikationseinstellungen und Sicherheitscodes. Dieses Tutorial wird erläutern, wie man den DIP-Schalter mit dem Arduino Nano ESP32 verwendet. Genauer gesagt werden wir Folgendes behandeln:

Arduino Nano ESP32 mit DIP-Schalter

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DIP Schalter
1×Breadboard
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 ESP32

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 DIP-Schalter

DIP-Schalter dienen als unverzichtbare Werkzeuge zur Konfiguration von Geräten und ermöglichen es Benutzern, Parameter wie die Geräteadresse, Kommunikationseinstellungen, Sicherheitscodes, Betriebsmodi und Systemeinstellungen über verschiedene Branchen und Anwendungen hinweg anzupassen.

Ein DIP-Schalter besteht aus mehreren kleinen Schiebeschaltern, die zusammengefasst sind, wobei jeder Schalter als eine „Position“ bezeichnet wird. Diese Schalter sind in verschiedenen Typen erhältlich, je nach der Anzahl der Positionen, die sie bieten. Zum Beispiel gibt es DIP-Schalter mit 2 Positionen, 4 Positionen, 5 Positionen, 6 Positionen, 8 Positionen und 10 Positionen.

Jede Position eines DIP-Schalters entspricht einem konfigurierbaren Bit einer Zahl. Indem man diese Positionen zwischen EIN und AUS umschaltet, können Benutzer den gewünschten numerischen Wert festlegen, den sie konfigurieren möchten.

Pinbelegung

DIP-Schalter Pinbelegung
image source: diyables.io

Ein DIP-Schalter besteht aus zwei Stiftreihen, wobei die Anzahl der Stifte in jeder Reihe der Anzahl der verfügbaren Schaltstellungen entspricht. Zum Beispiel hat ein DIP-Schalter mit vier Positionen insgesamt acht Stifte, gleichmäßig verteilt mit je vier Stiften auf jeder Seite. Innerhalb der DIP-Schalteranordnung entspricht jedes Paar gegenüberliegender Stifte einem Schiebeschalter. Wichtig ist, dass zwischen Pins auf den beiden Seiten kein Unterschied gemacht werden muss, da sie austauschbar verwendet werden können.

Wie es funktioniert

Bei DIP-Schaltern bedeutet eine ON-Position, dass der Schalter betätigt bzw. geschlossen ist. Dies impliziert, dass eine elektrische Verbindung hergestellt ist, die den Stromfluss durch den Schalter ermöglicht.

Umgekehrt bedeutet der Schalter in der OFF-Position, dass der Schalter ausgeschaltet oder offen ist. In diesem Zustand ist die elektrische Verbindung unterbrochen, wodurch der Stromfluss durch den Schalter verhindert wird.

Zur Klarstellung:

  • EIN-Stellung: Stellt einen geschlossenen Stromkreis her, durch den der Strom fließen kann.
  • AUS-Stellung: Öffnet einen offenen Stromkreis und blockiert den Stromfluss.

Wenn eine Seite eines Schalters mit Masse (GND) verbunden ist und die andere Seite an einen Pin des Arduino Nano ESP32 angeschlossen ist, und der Pin des Arduino Nano ESP32 als digitaler Eingang mit Pull-Up-Widerstand konfiguriert ist, veranschaulicht die untenstehende Tabelle die Beziehung zwischen der Position des Schalters und den vom Arduino Nano ESP32 gelesenen Werten:

DIP switch position Binary representation Circuit state Arduino Nano ESP32 pin state
ON 1 CLOSED LOW
OFF 0 OPEN HIGH

In den nächsten Teilen verwenden wir zum Beispiel einen DIP-Schalter mit 4 Positionen. Sie können ihn leicht an DIP-Schalter mit 2 Positionen, 3 Positionen, 5 Positionen, 6 Positionen, 8 Positionen und 10 Positionen anpassen.

Verdrahtungsdiagramm

Arduino Nano ESP32 DIP-Schalter-Schaltplan

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

Arduino Nano ESP32 Code - DIP-Schalter

Wir werden anhand von zwei Codebeispielen lernen:

  • Das Auslesen des Ein/Aus-Zustands einzelner Positionen am DIP-Schalter.
  • Die Positionen in eine Zahl kodieren.

Arduino Nano ESP32-Code – Lesen des EIN/AUS-Zustands des DIP-Schalters

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-esp32/arduino-nano-esp32-dip-switch */ #define POSITION_NUM 4 #define ON LOW #define OFF HIGH // define the Arduino Nano ESP32 pins connected to the dip switch const int SWITCH_PINS[] = { D4, D5, D6, D7 }; void setup() { // initialize serial communication Serial.begin(9600); // set the dip switch pins as inputs with pull-up resistors enabled for (int i = 0; i < POSITION_NUM; i++) pinMode(SWITCH_PINS[i], INPUT_PULLUP); } void loop() { // Read the state of each switch position for (int i = 0; i < POSITION_NUM; i++) { Serial.print("position "); Serial.print(i + 1); Serial.print(": "); int state = digitalRead(SWITCH_PINS[i]); if (state == ON) Serial.println("ON "); else Serial.println("OFF "); } Serial.println(); // add a delay to prevent rapid readings delay(500); }

Schnelle Schritte

Um mit dem Arduino Nano ESP32 zu beginnen, folgen Sie diesen Schritten:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zu wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Komponenten gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
  • Verdrahten Sie gemäß dem oben gezeigten Verdrahtungsdiagramm.
  • Verbinden Sie das Arduino Nano ESP32-Board per USB-Kabel mit dem PC.
  • Öffnen Sie die Arduino IDE.
  • Wählen Sie das richtige Board und den richtigen Port aus.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf das Arduino Nano ESP32 hochzuladen.
  • Schalten Sie nacheinander jede Position des DIP-Schalters auf ON.
  • Sehen Sie das Ergebnis im Serial Monitor.
COM6
Send
position 1: OFF position 2: OFF position 3: OFF position 4: OFF position 1: ON position 2: OFF position 3: OFF position 4: OFF position 1: ON position 2: ON position 3: OFF position 4: OFF position 1: ON position 2: ON position 3: ON position 4: OFF position 1: ON position 2: ON position 3: ON position 4: ON
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino Nano ESP32-Code - Kodierung der Zustände des DIP-Schalters in eine Zahl

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-esp32/arduino-nano-esp32-dip-switch */ #define POSITION_NUM 4 #define ON LOW #define OFF HIGH // define the Arduino Nano ESP32 pins connected to the dip switch const int SWITCH_PINS[] = { D4, D5, D6, D7 }; void setup() { // Initialize serial communication Serial.begin(9600); // Set the DIP switch pins as inputs with pull-up resistors enabled for (int i = 0; i < POSITION_NUM; i++) pinMode(SWITCH_PINS[i], INPUT_PULLUP); } void loop() { int encoded_state = 0; for (int i = 0; i < POSITION_NUM; i++) { int state = digitalRead(SWITCH_PINS[i]); if (state == ON) encoded_state |= 1 << (POSITION_NUM - i - 1); } Serial.print("encoded state: "); Serial.println(encoded_state); // add a delay to prevent rapid readings delay(500); }

Schnelle Schritte

Um mit dem Arduino Nano ESP32 zu beginnen, folgen Sie diesen Schritten:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zu wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
  • Laden Sie den obigen Code auf den Arduino Nano ESP32 hoch.
  • Stellen Sie nacheinander jede Position des DIP-Schalters auf EIN.
  • Sehen Sie das Ergebnis im Serial Monitor; es sieht so aus, wie unten gezeigt.
COM6
Send
encoded state: 0 encoded state: 1 encoded state: 2 encoded state: 3 encoded state: 4 encoded state: 5 encoded state: 6 encoded state: 7 encoded state: 8 encoded state: 9 encoded state: 10 encoded state: 11 encoded state: 12 encoded state: 13 encoded state: 14 encoded state: 15
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Bitte beachten Sie, dass der Wert von den Positionen jedes einzelnen DIP-Schalters abhängt. Die untenstehende Tabelle zeigt die Zuordnung zwischen ON/OFF-Positionen und dem Ganzzahlwert für einen DIP-Schalter mit vier Positionen:

Position-1Position-2Position-3Position-4Binary ValueDecimal Value
OFF OFF OFF OFF 0000 0
OFF OFF OFF ON 0001 1
OFF OFF ON OFF 0010 2
OFF OFF ON ON 0011 3
OFF ON OFF OFF 0100 4
OFF ON OFF ON 0101 5
OFF ON ON OFF 0110 6
OFF ON ON ON 0111 7
ON OFF OFF OFF 1000 8
ON OFF OFF ON 1001 9
ON OFF ON OFF 1010 10
ON OFF ON ON 1011 11
ON ON OFF OFF 1100 12
ON ON OFF ON 1101 13
ON ON ON OFF 1110 14
ON ON ON ON 1111 15

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!