Raspberry Pi - Deursensor - Servo Motor

Deze handleiding legt uit hoe u de Raspberry Pi en een deursensor gebruikt om een servo motor aan te sturen. In detail:

Deze procedure wordt telkens herhaald.

Hardware benodigd

1×Raspberry Pi 5
1×Deursensor
1×Servomotor
1×Jumperdraden
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 Servo Motor en Deursensor

Als u niet bekend bent met servo motoren en deursensoren (inclusief pinouts, werking en programmering), kunnen onderstaande tutorials u helpen:

Bedradingsschema

Raspberry Pi Deursensor Servo Motor bedradingsschema

This image is created using Fritzing. Click to enlarge image

Let op: het hierboven getoonde bedradingsschema is alleen geschikt voor een servo motor met een laag koppel. Mocht de motor trillen in plaats van draaien, dan moet een externe voeding worden gebruikt om meer vermogen te leveren aan de servo motor. Hieronder wordt het bedradingsschema getoond met een externe voeding voor de servo motor.

TO BE ADD IMAGE

Vergeet niet om de GND van de externe voeding te verbinden met de GND van de Raspberry Pi.

Raspberry Pi Code - Deursensor bestuurt Servo Motor

Snelle Stappen

  • Zorg ervoor dat u Raspbian of een ander voor Raspberry Pi geschikt besturingssysteem hebt geïnstalleerd.
  • Zorg ervoor dat uw Raspberry Pi is verbonden met hetzelfde lokale netwerk als uw pc.
  • Zorg ervoor dat uw Raspberry Pi is verbonden met internet als u libraries 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 met de ingebouwde SSH-client op Linux en macOS of met PuTTY op Windows. Zie hoe u uw pc via SSH met Raspberry Pi verbindt.
  • Zorg ervoor 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 door_sensor_servo.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-door-sensor-servo-motor import RPi.GPIO as GPIO import time # Constants won't change DOOR_SENSOR_PIN = 18 # Raspberry Pi GPIO pin connected to the door sensor's pin SERVO_PIN = 20 # Raspberry Pi GPIO pin connected to the servo motor's pin # Variables will change angle = 0 # The current angle of the servo motor prev_door_state = None # The previous state of the door sensor door_state = None # The current state of the door sensor # Setup GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(DOOR_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(SERVO_PIN, GPIO.OUT) # Create PWM instance for servo servo_pwm = GPIO.PWM(SERVO_PIN, 50) # 50 Hz frequency # Initialize servo position servo_pwm.start(0) try: while True: prev_door_state = door_state # Save the last state door_state = GPIO.input(DOOR_SENSOR_PIN) # Read new state if prev_door_state == GPIO.LOW and door_state == GPIO.HIGH: print("The door-opening event is detected") # Change angle of servo motor if angle == 0: angle = 90 else: angle = 0 # Control servo motor according to the angle duty_cycle = (angle / 18) + 2.5 # Convert angle to duty cycle servo_pwm.ChangeDutyCycle(duty_cycle) time.sleep(0.1) # Add a small delay to avoid rapid sensor readings except KeyboardInterrupt: servo_pwm.stop() GPIO.cleanup()
  • Sla het bestand op en start het Python script door het volgende commando in de terminal uit te voeren:
python3 door_sensor_servo.py

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

  • Breng een magneet dicht bij de reed switch en beweeg deze vervolgens weer weg. Herhaal dit enkele keren.
  • Kijk hoe de hoek van de servo motor verandert.

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 zien hoe alles in praktijk werkt.

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