Raspberry Pi - Schakelaar

De toggle switch, vaak aangeduid als de AAN/UIT schakelaar, heeft twee standen: AAN (gesloten) en UIT (open). Wanneer u de schakelaar bedient, wisselt deze tussen de twee standen en blijft die stand behouden, ook nadat u de schakelaar loslaat.

Deze tutorial leert u hoe u de Raspberry Pi gebruikt in combinatie met de AAN/UIT schakelaar. We behandelen in detail:

Raspberry Pi ON/OFF Switch

Let op dat u dit niet verwart met:

Hardware Benodigd

1×Raspberry Pi 5
1×Draden
1×AAN/UIT Vierkante Schakelaar
1×(Alternatief) AAN/UIT Ronde Schakelaar
1×(Optioneel) Krimpkous
1×(Optioneel) Soldeerbout
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de AAN/UIT Schakelaar

Een schakelaar die van toestand verandert van AAN naar UIT, of UIT naar AAN, wanneer u erop drukt en die toestand behoudt nadat u hem hebt losgelaten, wordt een AAN/UIT Schakelaar genoemd. Om de toestand te wijzigen, moet u de schakelaar nogmaals indrukken.

De Pinout van de Schakelaar

Er bestaan twee typen AAN/UIT schakelaars: twee-pins en drie-pins.

In deze tutorial gebruiken we een twee-pins schakelaar. Bij dit type hoeft u niet te letten op welke pin u gebruikt.

ON/OFF Switch pinout

Hoe het Werkt

Er zijn twee manieren om een AAN/UIT schakelaar te gebruiken. Hieronder vindt u een bedradingstabel voor de AAN/UIT schakelaar en de leesstatus op de Raspberry Pi bij beide methodes:

pin 1 pin 2 Raspberry Pi Input Pin's State
1 GND Raspberry Pi Input Pin (met pull-up) HIGH ⇒ UIT, LOW ⇒ AAN
2 VCC Raspberry Pi Input Pin (met pull-down) HIGH ⇒ AAN, LOW ⇒ UIT

U kiest één van deze twee opties. De rest van deze tutorial gebruikt de eerste optie.

Bedradingsschema

Raspberry Pi ON/OFF Switch wiring diagram

This image is created using Fritzing. Click to enlarge image

Om uw bekabelingsopstelling te vereenvoudigen en te organiseren, raden we het gebruik van een Schroevenklemaansluiting-shield voor Raspberry Pi aan. Deze shield zorgt voor veiligere en beter beheerbare verbindingen, zoals hieronder weergegeven:

Raspberry Pi Schroevenklemaansluiting-Shield

Voor een veilige en betrouwbare verbinding raden we aan om met een soldeerbout de draden en pinnen van de AAN/UIT schakelaar te solderen. Achteraf kunt u voor extra veiligheid krimpkous gebruiken.

Raspberry Pi Code - AAN/UIT Schakelaar

Net als bij een knop heeft een AAN/UIT schakelaar ook last van ‘debouncing’ (voor meer informatie zie: Waarom is debouncing nodig voor knop en AAN/UIT schakelaar?).

※ Notiz:

Er zijn twee veelvoorkomende toepassingen:

  • Ten eerste: Als de schakelaar op AAN staat, voer dan een actie uit. Als de schakelaar op UIT staat, voer dan de tegenovergestelde actie uit.
  • Ten tweede: Als de schakelaar wisselt van AAN naar UIT (of andersom), voer dan een actie uit.

Snelle Stappen

  • Zorg dat u Raspbian of een ander besturingssysteem compatibel met Raspberry Pi geïnstalleerd heeft op uw Pi.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw PC.
  • Zorg dat uw Raspberry Pi met internet verbonden is als u bibliotheken moet installeren.
  • Als dit de eerste keer is dat u een Raspberry Pi gebruikt, zie dan hoe u de Raspberry Pi instelt.
  • Verbind uw PC met de Raspberry Pi via SSH, gebruikmakend van de ingebouwde SSH-client op Linux en macOS, of PuTTY op Windows. Zie hoe u uw PC verbindt met de Raspberry Pi via SSH.
  • Controleer of u de RPi.GPIO-bibliotheek geïnstalleerd heeft. Zo niet, installeer deze dan met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python scriptsbestand switch.py aan en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/tutorials/raspberry-pi/raspberry-pi-switch import RPi.GPIO as GPIO # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pin for your switch SWITCH_PIN = 16 # Define debounce time in milliseconds DEBOUNCE_TIME_MS = 200 # 200 milliseconds # Set the initial state and pull-up resistor for the switch GPIO.setup(SWITCH_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the switch state and previous state switch_state = GPIO.input(SWITCH_PIN) prev_switch_state = switch_state # Define a function to handle switch presses def switch_callback(channel): global switch_state switch_state = GPIO.input(SWITCH_PIN) # Add an event listener for the switch press GPIO.add_event_detect(SWITCH_PIN, GPIO.BOTH, callback=switch_callback, bouncetime=DEBOUNCE_TIME_MS) try: # Main loop while True: # Check if the switch state has changed if switch_state != prev_switch_state: if switch_state == GPIO.HIGH: print("The switch: ON -> OFF") else: print("The switch: OFF -> ON") prev_switch_state = switch_state if switch_state == GPIO.HIGH: print("The switch: OFF") else: print("The switch: ON") except KeyboardInterrupt: # Clean up GPIO on exit GPIO.cleanup()
  • Sla het bestand op en voer het Python script uit via het terminalcommando:
python3 switch.py
  • Zet de schakelaar in de AAN-stand.
  • Bekijk het resultaat in de Terminal.
  • Zet daarna de schakelaar in de UIT-stand.
  • Bekijk het resultaat in de terminal.
PuTTY - Raspberry Pi
The switch: OFF The switch: OFF The switch: OFF The switch: OFF -> ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON -> OFF The switch: OFF The switch: OFF The switch: OFF

Het script draait in een oneindige lus totdat u Ctrl + C drukt in de terminal.

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 stap voor stap door het proces.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!