Raspberry Pi - DIP Switch
DIP (Dual In-line Package) switches worden veel gebruikt in de elektronica voor configuratietaken zoals het instellen van apparaatadressen, het aan- of uitzetten van functies en meer. In deze tutorial onderzoeken we het gebruik van de DIP switch met de Raspberry Pi. We behandelen specifiek:
- Wat een DIP switch is en hoe deze werkt
- Hoe u een DIP switch aansluit op de Raspberry Pi
- Hoe u de Raspberry Pi programmeert om de AAN/UIT-status van de DIP switch uit te lezen
- Hoe u de Raspberry Pi programmeert om de numerieke waarde die is ingesteld met de DIP switch te lezen

Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over DIP Switch
DIP switches worden voornamelijk gebruikt voor het configureren van apparaten, waarmee gebruikers parameters kunnen instellen zoals apparaatadressen, communicatiestandaarden, beveiligingscodes, werkingsmodi en systeemvoorkeuren in verschillende industrieën en toepassingen.
Een DIP switch bestaat uit meerdere kleine schuifschakelaars die samen verpakt zijn. Elke schuifschakelaar wordt een "positie" genoemd. DIP switches zijn verkrijgbaar in verschillende typen, afhankelijk van het aantal posities. Bijvoorbeeld DIP switches met 2, 4, 5, 6, 8 of 10 posities.
Een DIP switch kan een configureerbaar getal representeren. Elke positie op de switch correspondeert met een bit van dat getal. Door de posities tussen AAN (ON) en UIT (OFF) te schakelen, kunt u het gewenste getal instellen.
Pinout

Een DIP switch bestaat uit twee rijen pinnen, waarbij het aantal pinnen in elke rij overeenkomt met het aantal posities van de schakelaar. Bijvoorbeeld een 4-positie DIP switch heeft in totaal 8 pinnen, gelijk verdeeld met 4 pinnen aan elke kant. In de opbouw van de DIP switch vertegenwoordigt elk paar pinnen tegenover elkaar een schuifschakelaar. Het is niet nodig om te differentiëren tussen pinnen aan de twee zijden, omdat ze onderling verwisselbaar zijn.
Hoe het werkt
Bij DIP switches betekent een schakelaar in de AAN-positie (ON) dat de schakelaar gesloten is. Dit betekent dat er een elektrische verbinding is gemaakt waardoor stroom kan lopen.
Als een schakelaar in de UIT-positie (OFF) staat, dan is deze open. In deze toestand is de elektrische verbinding verbroken en kan geen stroom door de schakelaar lopen.
Ter verduidelijking:
- ON-positie: Gesloten circuit, waardoor stroom kan lopen.
- OFF-positie: Open circuit, waardoor stroom wordt geblokkeerd.
Wanneer we één zijde van de switch verbinden met GND en de andere zijde met een Raspberry Pi pin, en deze Raspberry Pi pin configureren als een pull-up digitale ingang, dan illustreert de volgende tabel de relatie tussen de schakelaarpositie en de waarden gerapporteerd door de Raspberry Pi:
| DIP switch positie | Binair | Circuit status | Raspberry Pi pin status |
|---|---|---|---|
| ON | 1 | GESLOTEN | LOW |
| OFF | 0 | OPEN | HIGH |
In de volgende secties gebruiken we een 4-positie DIP switch als voorbeeld. U kunt deze gemakkelijk aanpassen voor 2-, 3-, 5-, 6-, 8- of 10-positie DIP switches...
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Raspberry Pi Code – DIP Switch
We leren aan de hand van twee voorbeelden:
- Het uitlezen van de AAN/UIT-status van elke positie van de DIP switch.
- Het coderen van de posities naar een getal.
Raspberry Pi code – Uitlezen van de AAN/UIT-status van de DIP switch
Snelle Stappen
- Zorg dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem heeft geïnstalleerd op uw Pi.
- Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
- Zorg dat uw Raspberry Pi verbonden is met internet als u bibliotheken moet installeren.
- Als dit de eerste keer is dat u een Raspberry Pi gebruikt, bekijk dan hoe u de Raspberry Pi instelt.
- Verbind uw pc via SSH met de Raspberry Pi, gebruikmakend van de ingebouwde SSH-client op Linux en macOS, of PuTTY op Windows. Zie hoe u via SSH verbinding maakt met de Raspberry Pi.
- Zorg dat u de RPi.GPIO bibliotheek geïnstalleerd heeft. Zo niet, installeer deze dan met het volgende commando:
- Maak de bedrading zoals in bovenstaand bedradingsschema.
- Maak een Python scriptbestand dip_switch.py aan en voeg de volgende code toe:
- Sla het bestand op en voer het script uit met het volgende commando in de terminal:
- Schakel elke positie van de DIP Switch één voor één op AAN (ON).
- Bekijk het resultaat in de Terminal.
Het script draait in een oneindige lus totdat u Ctrl + C indrukt in de terminal.
Raspberry Pi code – Coderen van de DIP switch status in een getal
Snelle Stappen
- Maak een Python scriptbestand dip_switch_encode.py en voeg de volgende code toe:
- Sla het bestand op en voer het script uit met het volgende commando in de terminal:
- Schakel elke positie van de DIP switch één voor één op AAN (ON).
- Bekijk het resultaat in de Serial Monitor, het ziet er ongeveer zo uit:
Let op dat de waarde afhangt van de posities van de schuifschakelaars. De onderstaande tabel toont de mapping tussen de AAN/UIT positie en de gehele waarde voor een 4-positie DIP switch:
| Positie-1 | Positie-2 | Positie-3 | Positie-4 | Binair | Decimaal |
|---|---|---|---|---|---|
| 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
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u op weg om sneller vertrouwd te raken met de DIP switch en Raspberry Pi.