ESP32 S3 - DIP-Schalter
DIP-Schalter (Dual In-line Package) werden in der Elektronik häufig zu Konfigurationszwecken verwendet, etwa um Geräteadressen festzulegen, Funktionen ein- oder auszuschalten und Betriebsmodi zu definieren. In diesem Tutorial lernen Sie, wie Sie einen DIP-Schalter mit dem ESP32 S3 Board verbinden und verwenden.

Was Sie bauen werden:
- Den ON/OFF-Zustand jeder einzelnen Position des DIP-Schalters auslesen
- Alle Positionen des DIP-Schalters in einen einzigen ganzzahligen Wert kodieren
- Die Ergebnisse in Echtzeit im Seriellen Monitor von Arduino anzeigen
- Die Technik auf jeden DIP-Schalter mit 2 bis 10 Positionen anwenden
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über DIP Switch
DIP-Schalter sind grundlegende Bauteile für die Gerätekonfiguration und ermöglichen es Benutzern, Parameter wie Geräteadressen, Kommunikationseinstellungen, Sicherheitscodes, Betriebsmodi und Systemeinstellungen in vielen Branchen und Anwendungen anzupassen. Jede Position eines DIP-Schalters entspricht einem einzelnen Bit einer konfigurierbaren Binärzahl, was sie zu einer kompakten und zuverlässigen Möglichkeit macht, Hardwareoptionen ohne Software einzustellen. Durch Umschalten der Positionen zwischen ON und OFF können Sie numerische Werte und Funktions-Flags präzise festlegen, die der ESP32 S3 beim Start oder während des Betriebs ausliest.
Wichtige Spezifikationen
Ein DIP-Schalter besteht aus mehreren kleinen Schiebeschaltern, die zusammengefasst sind, wobei jeder einzelne Schalter "Position" genannt wird. DIP-Schalter sind in Varianten mit 2, 4, 5, 6, 8 und 10 Positionen erhältlich. Jede Position eines DIP-Schalters entspricht einem Bit einer konfigurierbaren Zahl, und durch Umschalten der Positionen zwischen ON und OFF können Sie einen gewünschten Zahlenwert sehr genau einstellen.
Pinbelegung
Ein DIP-Schalter besteht aus zwei Pinreihen, wobei die Anzahl der Pins in jeder Reihe der Anzahl der Schalterpositionen entspricht.
- Zwei Pinreihen — eine Reihe auf jeder Seite des Schaltergehäuses
- Ein DIP-Schalter mit 4 Positionen hat insgesamt 8 Pins (4 pro Seite)
- Jedes Paar gegenüberliegender Pins bildet einen Schiebeschalter
- Die Pins auf beiden Seiten sind austauschbar — die Polarität spielt keine Rolle

Wie es funktioniert
Wenn eine Schalterposition auf ON steht, ist der Stromkreis zwischen den beiden zugehörigen Pins geschlossen, und Strom kann fließen. Wenn eine Position auf OFF steht, ist der Stromkreis offen, und es kann kein Strom fließen.
Sicherheitshinweise
Verbinden Sie eine Seite jeder Schalterposition mit GND und die andere Seite mit einem GPIO-Pin des ESP32 S3, der als digitaler Eingang mit Pull-up konfiguriert ist. Dadurch bleibt der Pin in einem definierten HIGH-Zustand, wenn der Schalter offen ist, und wird auf LOW gezogen, wenn der Schalter geschlossen ist.
| Position des DIP-Schalters | Binäre Darstellung | Zustand des Stromkreises | Zustand des ESP32 S3 Pins |
|---|---|---|---|
| ON | 1 | GESCHLOSSEN | LOW |
| OFF | 0 | OFFEN | HIGH |
In den folgenden Abschnitten wird ein DIP-Schalter mit 4 Positionen als Beispiel verwendet. Sie können Code und Verdrahtung leicht an DIP-Schalter mit 2, 3, 5, 6, 8 und 10 Positionen anpassen.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32 S3 Code - DIP-Schalter
Die folgenden Abschnitte stellen zwei sich ergänzende Sketches vor, die beide Möglichkeiten zeigen, einen DIP-Schalter mit dem ESP32 S3 zu verwenden. Der erste Sketch liest jede Position einzeln aus, während der zweite alle Positionen in eine einzige Ganzzahl kodiert. Beide Sketches verwenden interne Pull-up-Widerstände, daher sind keine externen Widerstände erforderlich.
ESP32 S3 Code - Den ON/OFF-Zustand des DIP-Schalters auslesen
Der folgende Code liest jede Position des DIP-Schalters unabhängig aus und gibt ihren Zustand ON oder OFF im Seriellen Monitor aus. Dieser Ansatz ist nützlich, wenn jede Position eine eigene Funktion oder Einstellung in Ihrem ESP32 S3 Projekt steuert.
Schnelle Schritte
- Neu beim ESP32 S3? Absolvieren Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3.
- Führen Sie die Verdrahtung wie im obigen Diagramm gezeigt durch.
- Verbinden Sie das ESP32 S3 Board über ein USB-Type-C-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32 S3 Board und den COM-Port aus.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP32 S3 hochzuladen.
- Schalten Sie jede Position des DIP-Schalters nacheinander auf ON.
- Sehen Sie sich das Ergebnis im Seriellen Monitor an.
- Profi-Tipp: Wenn Sie dies für mehr Positionen anpassen, fügen Sie einfach weitere Pin-Definitionen und Schleifendurchläufe hinzu, passend zur Anzahl der Positionen Ihres DIP-Schalters.
ESP32 S3 Code - Die Zustände des DIP-Schalters in eine Zahl kodieren
Der folgende Code behandelt jede Position des DIP-Schalters als einzelnes Bit und fasst alle Positionen zu einem ganzzahligen Wert zusammen. Das ist ideal, um Konfigurationscodes, Geräteadressen oder Mehrbit-Einstellungen in einem einzigen Vorgang auf Ihrem ESP32 S3 auszulesen.
Schnelle Schritte
- Neu beim ESP32 S3? Absolvieren Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3.
- Führen Sie die Verdrahtung wie im obigen Diagramm gezeigt durch.
- Verbinden Sie das ESP32 S3 Board über ein USB-Type-C-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32 S3 Board und den COM-Port aus.
- Laden Sie den obigen Code auf den ESP32 S3 hoch.
- Schalten Sie jede Position des DIP-Schalters nacheinander auf ON.
- Sehen Sie sich das Ergebnis im Seriellen Monitor an — es sieht aus wie die folgende Ausgabe.
- Profi-Tipp: Erweitern Sie bei einem DIP-Schalter mit mehr Positionen die Kodierungsschleife entsprechend; die Umrechnung von binär zu dezimal skaliert automatisch.
Bitte beachten Sie, dass der kodierte Wert von der Stellung jedes einzelnen Schiebeschalters abhängt. Die folgende Tabelle zeigt die vollständige Zuordnung zwischen den ON/OFF-Positionen und der resultierenden Ganzzahl für einen DIP-Schalter mit 4 Positionen:
| Position-1 | Position-2 | Position-3 | Position-4 | Binärwert | Dezimalwert |
|---|---|---|---|---|---|
| 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 |
Anwendungen
DIP-Schalter sind vielseitige Konfigurationswerkzeuge, die in vielen praktischen ESP32 S3 Projekten und eingebetteten Systemen vorkommen. Hier sind einige häufige Anwendungen:
- Einstellen der Geräteadresse: Weisen Sie mehreren identischen Geräten am selben Bus eindeutige I2C- oder RS485-Adressen zu, ohne die Firmware zu ändern.
- Funktionen umschalten: Aktivieren oder deaktivieren Sie optionale Funktionen wie Debug-Ausgaben, den WLAN-Modus oder Peripheriemodule auf Hardwareebene.
- Auswahl des Betriebsmodus: Wechseln Sie zwischen verschiedenen Betriebsmodi (z. B. Master/Slave, eigenständig/vernetzt), indem Sie beim Start den kodierten DIP-Wert auslesen.
- Eingabe eines Sicherheitscodes: Verwenden Sie einen DIP-Schalter als einfachen Hardware-Sicherheitsmechanismus, um den Zugang zu einem System oder Gehäuse zu schützen.
- Kalibrierungs-Offsets: Speichern Sie Feinabstimmungs-Offsets oder Verstärkungseinstellungen für Sensoren, die vor Ort ohne Neuprogrammierung angepasst werden müssen.
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.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Herausforderungen
Vertiefen Sie Ihr Verständnis von DIP-Schaltern mit dem ESP32 S3, indem Sie sich diesen zusätzlichen Übungen stellen. Jede Herausforderung baut auf den Fähigkeiten aus dem Tutorial auf und regt Sie an, neue Anwendungsfälle zu erkunden.
- Einsteiger: Ändern Sie den Lese-Sketch so, dass für jede Position des DIP-Schalters eine eigene LED gesteuert wird — die LED leuchtet, wenn die Position auf ON steht, und ist aus, wenn sie auf OFF steht.
- Fortgeschritten: Verwenden Sie die kodierte Ganzzahl aus dem Binär-Sketch, um die I2C-Adresse eines OLED-Displays oder Sensors zur Laufzeit festzulegen, ohne den Quellcode zu ändern.
- Profi: Bauen Sie ein RS485-Netzwerk mit mehreren Geräten, in dem jeder Knoten beim Start seine eigene DIP-Schalter-Adresse ausliest und nur auf Befehle reagiert, die an diesen Knoten adressiert sind.