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:
- Wie DIP-Schalter funktionieren
- Verbindungen zwischen dem DIP-Schalter und dem Arduino Nano ESP32 herstellen
- Arduino Nano ESP32 so programmieren, dass es die Ein/Aus-Zustände des DIP-Schalters ausliest
- Arduino Nano ESP32 so programmieren, dass es den vom DIP-Schalter konfigurierten Ganzzahlwert interpretiert

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Ü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

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

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
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.
Arduino Nano ESP32-Code - Kodierung der Zustände des DIP-Schalters in eine Zahl
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.
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-1 | Position-2 | Position-3 | Position-4 | Binary Value | Decimal 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.