Raspberry Pi - DIP Switch
DIP (Dual In-line Package) Schalter finden breite Anwendung in der Elektronik für Konfigurationsaufgaben wie die Festlegung von Geräteadressen, das Umschalten von Features und mehr. Dieses Tutorial zielt darauf ab, die Nutzung des DIP Switch mit Raspberry Pi zu erläutern. Konkret werden wir behandeln:
- Den DIP Switch verstehen und wie er funktioniert
- Den DIP Switch mit Raspberry Pi verbinden
- Raspberry Pi programmieren, um die ON/OFF-Zustände des DIP Switch zu lesen
- Raspberry Pi programmieren, um die numerischen Werte zu lesen, die durch den DIP Switch eingestellt wurden

Hardware Erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den DIP Switch
DIP Switches werden hauptsächlich zur Konfiguration von Geräten verwendet und ermöglichen es Benutzern, Parameter wie Geräteadressen, Kommunikationseinstellungen, Sicherheitscodes, Betriebsmodi und Systemeinstellungen in verschiedenen Branchen und Anwendungen festzulegen.
Ein DIP Switch besteht aus mehreren kleinen Schiebeschaltern, die zusammen verpackt sind. Jeder Schiebeschalter wird als "Position" bezeichnet. DIP Switches gibt es in verschiedenen Ausführungen, je nach der Anzahl der Positionen, die sie haben. Zum Beispiel gibt es 2-Position, 4-Position, 5-Position, 6-Position, 8-Position und 10-Position DIP Switches.
Ein DIP Switch kann eine konfigurierbare Zahl darstellen. Jede Position am Switch entspricht einem Bit der Zahl. Durch das Umschalten der Positionen zwischen ON und OFF können wir die gewünschte Zahl einstellen, die wir möchten.
Pinout

Ein DIP Switch besteht aus zwei Reihen von Pins, wobei die Anzahl der Pins in jeder Reihe der verfügbaren Switch-Positionen entspricht. Beispielsweise enthält ein 4-Position DIP Switch insgesamt 8 Pins, gleichmäßig aufgeteilt mit 4 Pins auf jeder Seite. In der DIP Switch-Struktur repräsentiert jedes Paar von Pins, die einander gegenüberliegen, einen Schiebeschalter. Bemerkenswert ist, dass es nicht notwendig ist, zwischen den Pins auf den beiden Seiten zu unterscheiden, da sie austauschbar sind.
Wie es funktioniert
Bei DIP Switches bedeutet es, wenn ein Schalter in der ON-Position ist, dass der Schalter eingeschaltet oder geschlossen ist. Dies zeigt an, dass eine elektrische Verbindung hergestellt wird, wodurch der Strom durch den Schalter fließen kann.
Umgekehrt, wenn ein Schalter in der OFF-Position ist, zeigt dies an, dass der Schalter ausgeschaltet oder offen ist. In diesem Zustand ist die elektrische Verbindung unterbrochen und der Strom kann nicht durch den Schalter fließen.
Zur Klarstellung:
- ON-Position: Zeigt einen geschlossenen Stromkreis an, der Stromfluss ermöglicht.
- OFF-Position: Zeigt einen offenen Stromkreis an, der Stromfluss verhindert.
Wenn wir eine Seite des Schalters mit GND und die andere mit einem Raspberry Pi Pin verbinden und dann den Raspberry Pi Pin als Pull-up Digital-Eingang konfigurieren, zeigt die folgende Tabelle die Beziehung zwischen der Schalterposition und den vom Arduino gelesenen Werten:
| DIP Switch Position | Binäre Darstellung | Schaltungszustand | Raspberry Pi Pin-Zustand |
|---|---|---|---|
| ON | 1 | GESCHLOSSEN | LOW |
| OFF | 0 | OFFEN | HIGH |
In den nächsten Teilen werden wir einen 4-Position DIP Switch als Beispiel verwenden. Sie können dies leicht für 2-Position DIP Switches, 3-Position DIP Switches, 5-Position DIP Switches, 6-Position DIP Switches, 8-Position DIP Switches und 10-Position DIP Switches anpassen...
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Code - DIP Switch
Wir werden durch zwei Code-Beispiele lernen:
- Lesen des ON/OFF-Zustands der einzelnen Position am DIP Switch.
- Kodierung der Positionen in eine Zahl.
Raspberry Pi Code - Lesen des ON/OFF-Zustands des DIP Switch
Schnelle Schritte
- Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
- Falls Sie Raspberry Pi zum ersten Mal verwenden, sehen Sie wie Sie den Raspberry Pi einrichten
- Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi unter Verwendung des eingebauten SSH-Clients auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC über SSH mit Raspberry Pi verbinden.
- Stellen Sie sicher, dass Sie die RPi.GPIO-Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
- Führen Sie die Verkabelung gemäß dem obigen Schaltplan durch
- Erstellen Sie eine Python-Skriptdatei dip_switch.py und fügen Sie folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
- Schalten Sie jede Position am DIP Switch nacheinander auf ON.
- Sehen Sie das Ergebnis im Terminal.
Das Skript läuft in einer endlosen Schleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.
Raspberry Pi Code - Kodierung der DIP Switch-Zustände in eine Zahl
Schnelle Schritte
- Erstellen Sie eine Python-Skriptdatei dip_switch_encode.py und fügen Sie folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
- Schalten Sie jede Position am DIP Switch nacheinander auf ON.
- Sehen Sie das Ergebnis im Serial Monitor, es sieht etwa so aus:
Bitte beachten Sie, dass der Wert von den Positionen der einzelnen Schiebeschalter abhängt. Die folgende Tabelle zeigt die Zuordnung zwischen ON/OFF-Position und dem Ganzzahlwert für einen 4-Position DIP Switch:
| 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 |
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.