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:
Code:
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()
Ein Video dazu gibt es hier: http://www.youtube.com/watch?v=0ALpTiyItzQ
Lesezeichen