Raspberry Pi - Ultrasone Sensor - Relay

Deze handleiding legt uit hoe u een Raspberry Pi en een ultrasone sensor gebruikt om een relay aan te sturen. In detail:

Door een relay aan te sluiten op een lamp, LED-strip, motor of actuator…, kunnen we met de Raspberry Pi en ultrasone sensor deze apparaten aansturen.

Hardware Benodigd

1×Raspberry Pi 5
1×Ultrasone Sensor
1×Relais
1×(optioneel) Solenoïde Slot
1×12V Voedingsadapter
1×DC Voedingsconnector
1×Jumper Draden
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 Ultrasone Sensor

Als u niet bekend bent met relay en ultrasone sensor (pinout, werking, programmeren…), bekijk dan de volgende tutorials:

Bedradingsschema

Raspberry Pi Ultrasone Sensor Relay bedradingsschema

This image is created using Fritzing. Click to enlarge image

Raspberry Pi Code

Snelle Stappen

  • Zorg dat u Raspbian of een ander Raspberry Pi-compatibel besturingssysteem op uw Pi heeft geïnstalleerd.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw computer.
  • Zorg dat uw Raspberry Pi verbonden is met internet als u bibliotheken moet installeren.
  • Is dit uw eerste keer met Raspberry Pi? Bekijk dan hoe u de Raspberry Pi instelt
  • Verbind uw computer via SSH met de Raspberry Pi met behulp van de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Bekijk hoe u uw PC via SSH verbindt met Raspberry Pi.
  • Zorg dat de RPi.GPIO bibliotheek is geïnstalleerd. Zo niet, installeer deze dan met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python-scriptbestand aan met de naam ultrasonic_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-ultrasonic-sensor-relay import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pins for the ultrasonic sensor TRIG_PIN = 23 ECHO_PIN = 24 # Define the GPIO pin for the relay RELAY_PIN = 18 # Set up the ultrasonic sensor pins GPIO.setup(TRIG_PIN, GPIO.OUT) GPIO.setup(ECHO_PIN, GPIO.IN) # Set up the relay pin as an output GPIO.setup(RELAY_PIN, GPIO.OUT) # Define the distance threshold in cm (adjust as needed) DISTANCE_THRESHOLD = 20 # 20 cm def get_distance(): # Send a trigger signal GPIO.output(TRIG_PIN, GPIO.HIGH) time.sleep(0.00001) GPIO.output(TRIG_PIN, GPIO.LOW) # Wait for the echo response pulse_start = time.time() pulse_end = time.time() while GPIO.input(ECHO_PIN) == GPIO.LOW: pulse_start = time.time() while GPIO.input(ECHO_PIN) == GPIO.HIGH: pulse_end = time.time() # Calculate the distance in centimeters pulse_duration = pulse_end - pulse_start speed_of_sound = 34300 # Speed of sound in cm/s distance = (pulse_duration * speed_of_sound) / 2 return distance try: while True: # Get the distance from the ultrasonic sensor distance = get_distance() print("Distance:", distance, "cm") # If the distance is below the threshold, turn on the relay if distance < DISTANCE_THRESHOLD: print("Distance below threshold. Turning on the relay.") GPIO.output(RELAY_PIN, GPIO.HIGH) else: print("Distance above threshold. Turning off the relay.") GPIO.output(RELAY_PIN, GPIO.LOW) # Add a small delay to avoid excessive readings time.sleep((0.1) except KeyboardInterrupt: # Clean up the GPIO on exiting the script GPIO.cleanup()
  • Sla het bestand op en voer het Python-script uit door het volgende commando in de terminal te typen:
python3 ultrasonic_sensor_relay.py
  • Beweeg uw hand of een object langzaam vanaf een grotere afstand naar de ultrasone sensor toe.
  • Bekijk de terminal-uitvoer, waar de afstand gemeten door de ultrasone sensor wordt weergegeven.
  • Controleer de status van de relay:
    • Wanneer u dichterbij de sensor komt en de afstand onder de ingestelde drempel komt, zal de relay inschakelen.
    • Als u zich van de sensor verwijdert en de afstand boven de drempel uitkomt, schakelt de relay uit.

    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 die in de commentaren van de broncode is opgenomen!

    ※ Notiz:

    De bovenstaande code is bedoeld voor educatieve doeleinden. De ultrasone sensor is erg gevoelig voor storing (noise). Als u van plan bent de ultrasone sensor in een echte toepassing te gebruiken, is het noodzakelijk storingen uit de meetgegevens te filteren. Voor meer informatie over het filteren van ruis uit de afstandsmetingen van een ultrasone sensor, zie deze tutorial.

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 laat stap voor stap zien hoe u de ultrasone sensor en relay aansluit en programmeert.

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