Hallo,
ich habe mir ein sehr billiges SRF04 aus Fernost bestellt und am GPIO des RPi angehängt:
- Trigger an GPIO 14 (Pin
- Echo an GPIO 15 (Pin 10)
- GND an GND (Pin 6)
- VCC an 3,3V (Pin 1)
Ausgelegt ist das Modul für eine Spannungsversorgung von 5 Volt, hier ist allerdings zu beachten dass die GPIO Pins am Eingang nur 3,3 Volt aushalten. Also habe ich kurzerhand 3,3 Volt probiert und siehe da, es funktioniert genauso. Allerdings gibt es eine Einschränkung: Aufgrund der geringen Spannung misst das SRF04 nur Entferungen bis ca. 50 cm!
Das Python Programm dazu:
Ein Video dazu gibt es hier: http://www.youtube.com/watch?v=0ALpTiyItzQCode:import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO_TRIGGER = 14 GPIO_ECHO = 15 adjustment = 7 print "Ultrasonic Messung mit SRF04" while True: GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger GPIO.setup(GPIO_ECHO,GPIO.IN) # Echo GPIO.output(GPIO_TRIGGER, False) time.sleep(0.5) GPIO.output(GPIO_TRIGGER, True) time.sleep(0.00001) start = time.time() GPIO.output(GPIO_TRIGGER, False) while GPIO.input(GPIO_ECHO)==0: stop = time.time() while GPIO.input(GPIO_ECHO)==1: stop = time.time() elapsed = stop-start distance = elapsed * 34300 distance = distance / 2 distance = distance - adjustment print "Distance : %.1f cm" % distance time.sleep(1) GPIO.cleanup()







Zitieren
Lesezeichen