Raspberry Pi - Touch Sensor - Relay

Deze tutorial legt uit hoe u de Raspberry Pi en een touch sensor gebruikt om een relay aan te sturen. Door de relay te verbinden met een solenoïdeslot, gloeilamp, LED-strip, motor of actuator..., kunnen we met een touch sensor deze apparaten bedienen. We leren twee verschillende toepassingen:

Toepassing 1 - De relay staat gelijk aan de status van de touch sensor. In detail:

Toepassing 2 - De relay schakelt elke keer van status wanneer de touch sensor wordt aangeraakt. Meer specifiek:

Hardware Benodigd

1×Raspberry Pi 5
1×Aanraaksensor
1×Relais
1×Breadboard (experimenteerprint)
1×Jumper Wires (kabeltjes)
1×(Optioneel) Magneetslot
1×(Optioneel) 12V Voedingsadapter
1×(Optioneel) DC Power Jack (DC stroomaansluiting)
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 Relay en Touch Sensor

Als u niet bekend bent met de relay en touch sensor (inclusief pinout, werking en programmeren), kunnen de volgende tutorials u helpen:

Bedradingsschema

Raspberry Pi Touch Sensor relay bedrading schema

This image is created using Fritzing. Click to enlarge image

Toepassing 1 - De relay staat gelijk aan de status van de touch sensor

Snelle Stappen

  • Zorg dat u Raspbian of een ander besturingssysteem dat compatibel is met Raspberry Pi op uw Pi hebt geïnstalleerd.
  • 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 u voor het eerst met Raspberry Pi werkt, bekijk dan hoe je Raspberry Pi instelt
  • Verbind uw pc met de Raspberry Pi via SSH met de ingebouwde SSH-client op Linux en macOS, of via PuTTY op Windows. Zie hoe u uw pc verbindt met Raspberry Pi via SSH.
  • Zorg dat de RPi.GPIO bibliotheek is geïnstalleerd. Zo niet, installeer deze met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python scriptbestand aan met de naam touch_sensor_relay.py 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-touch-sensor-relay import RPi.GPIO as GPIO # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin number to which the relay is connected RELAY_PIN = 20 # Define the GPIO pin number to which the touch sensor is connected TOUCH_SENSOR_PIN = 18 # Set up the GPIO pins GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Input with pull-up resistor GPIO.setup(RELAY_PIN, GPIO.OUT) # Output try: while True: touch_state = GPIO.input(TOUCH_SENSOR_PIN) if touch_state == GPIO.HIGH: print("The sensor is touched") GPIO.output(RELAY_PIN, GPIO.HIGH) # Turn the relay on else: print("The sensor is not touched") GPIO.output(RELAY_PIN, GPIO.LOW) # Turn the relay off except KeyboardInterrupt: GPIO.output(RELAY_PIN, GPIO.LOW) # Turn off the relay GPIO.cleanup()
  • Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
python3 touch_sensor_relay.py
  • Raak met uw vinger de touch sensor aan en houd deze een paar seconden vast, laat dan los.
  • Bekijk de verandering in de status van de relay. U zult zien dat de status van de relay synchroon loopt met de status van de touch sensor.

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

Uitleg van de Code

Bekijk de regel-voor-regel uitleg in de opmerkingen van de broncode!

Toepassing 2 - Touch Sensor schakelt Relay

Snelle Stappen

  • Maak een Python scriptbestand aan met de naam touch_sensor_toggle_relay.py 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-touch-sensor-relay import RPi.GPIO as GPIO import time # Constants won't change TOUCH_SENSOR_PIN = 16 # The number of the touch sensor pin RELAY_PIN = 18 # The number of the relay pin # Variables will change relay_state = GPIO.LOW # The current state of the relay prev_touch_state = GPIO.LOW # The previous state of the touch sensor touch_state = GPIO.LOW # The current state of the touch sensor # Set up GPIO GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbering GPIO.setup(RELAY_PIN, GPIO.OUT) # Initialize the relay pin as an output GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the touch sensor pin as a pull-up input try: while True: # Read the state of the touch sensor value prev_touch_state = touch_state # Save the last state touch_state = GPIO.input(TOUCH_SENSOR_PIN) # Read new state if prev_touch_state == GPIO.LOW and touch_state == GPIO.HIGH: time.sleep(0.1) # 100 milliseconds debounce time print("The sensor is touched") # Toggle the state of the relay if relay_state == GPIO.LOW: relay_state = GPIO.HIGH else: relay_state = GPIO.LOW # Control relay according to the toggled state GPIO.output(RELAY_PIN, relay_state) except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
python3 touch_sensor_toggle_relay.py
  • Raak de touch sensor meerdere keren aan en laat los.
  • Bekijk de verandering in de status van de relay. U zult merken dat de relay elke keer schakelt (aan of uit) wanneer u met uw vinger de touch sensor aanraakt.

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.

※ 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!