2016-04-12 17 views
0

私は実際にこの防水型超音波センサーDYP-ME007Y-PWM(http://hanjindata.lgnas.com:10000/myweb/P0400/P0400.pdf)を古典的なRaspbian OSのラズベリーPI計算モジュールで使用したいと考えています。それは4つのピン(gnd、Trig、Echo、5V)を持っています。私は、センサの動作とmannageはここ(http://www.micropik.com/PDF/HCSR04.pdfDYP-ME007Y-PWM超音波センサーを使用

exempleため、このような超音波センサの他の種類との良好な結果を持ってどのように超音波を説明し、いくつかのチュートリアルを見つけた

Raspberry Pi | Sensor 
GND   | GND 
5V   | 5V 
22   | Trig 
23   | Echo 

: はここに私の概略図であります私のコードは次のとおりです。

# Import required Python libraries 
import time 
import RPi.GPIO as GPIO 

# Use BCM GPIO references 
# instead of physical pin numbers 
GPIO.setmode(GPIO.BCM) 

# Define GPIO to use on Pi 
GPIO_TRIGGER = 22 
GPIO_ECHO = 23 

print "Ultrasonic Measurement" 

# Set pins as output and input 
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger 
GPIO.setup(GPIO_ECHO,GPIO.IN)  # Echo 

# Set trigger to False (Low) 
GPIO.output(GPIO_TRIGGER, False) 

# Allow module to settle 
time.sleep(0.5) 

# Send 10us pulse to trigger 
while True: 
    GPIO.output(GPIO_TRIGGER, True) 
    time.sleep(0.00001) 
    GPIO.output(GPIO_TRIGGER, False) 

    start = time.time() 
    while GPIO.input(GPIO_ECHO)==0: 
     start = time.time() 

    while GPIO.input(GPIO_ECHO)==1: 
     stop = time.time() 

    # Calculate pulse length 
    elapsed = stop-start 
    # Distance pulse travelled in that time is time 
    # multiplied by the speed of sound (cm/s) 
    # That was the distance there and back so halve the value 
    distance = (elapsed * 34000)/2 

    print "Distance : %.1f" % distance 
    time.sleep(0.05) 
# Reset GPIO settings 
GPIO.cleanup() 
私は動作しません

、私はいつも私は私のセンサーで行うものは何でも同じ出力を得る 誰がこのセンサーとalreeadyの遊びを持っていますか?あなたが見ることができるように、データシートはきれいなので、私の貧しいエレクトロニクス技術が見逃しているものが表示されます。

おはようございます!

答えて

0

あなたは最初からするGPIO_ECHOを期待しています。最初にの書類によると、であり、次に に戻ります。

たぶん

while GPIO.input(GPIO_ECHO)==0: 
    # some short sleep might be better 
    pass 

start = time.time() 

while GPIO.input(GPIO_ECHO)==1: 
    pass 

while GPIO.input(GPIO_ECHO)==0: 
    pass 

stop = time.time() 

立ち上がりエッジを検出し、立ち下がりエッジのために利用可能な方法は、例えば、raspi.tv arcticleを参照、があります。これらの方法を使う方が良いかもしれません。

0

によると:

https://forum.arduino.cc/index.php?topic=153700.30

センサーは、十分な電力を得るために非常に敏感である - あなたの5Vがあまり低下しないことを確認してください。

また、ラズベリーPiのGPIOピンは3V3です。センサーからの出力(おそらく5Vです)が気に入らず、センサーがラズベリーpiの3V3出力でトリガーしないことがあります。

関連する問題