コード例 #1
0
def measureDistance():
    trigPin = 22  # указываем номер контакта Raspberry Pi, к которому подключен Trig контакт датчика HC-SR04
    echoPin = 27  # указываем номер контакта Raspberry Pi, к которому подключен Echo контакт датчика HC-SR04

    v = (
        331.5 + 0.6 * 20
    )  # скорость звука при температуре 20 градусов Цельсия(вы можете указать свое значение вместо 20) в м/с

    gpio.mode(trigPin, "out")  # устанавливаем контакт как выход

    gpio.mode(echoPin, "in")  # устанавливаем контакт как вход
    gpio.interruptMode(
        echoPin, "both"
    )  # режим прерывания, чтобы функция pulseInHigh вычислила длительность перехода сигнала с 0 до 1 и от 1 до 0

    gpio.write(trigPin, gpio.LOW)  # устанавливаем низкий уровень сигнала
    time.sleep(0.5)  # задержка в пол секунда

    gpio.write(trigPin, gpio.HIGH)  # устанавливаем высокий уровень сигнала
    time.sleep(1 / 1000000.0)  # задержка в 1 мкс
    gpio.write(trigPin, gpio.LOW)  # устанавливаем низкий уровень сигнала

    t = gpio.pulseInHigh(echoPin)  # вычисляем длительность сигнала

    d = t * v * 50  # вычисляем пройденное расстояние
    return d  # возвращаем значение
コード例 #2
0
def readDistanceCm():
    sigPin = 22
    v = (331.5 + 0.6 * 20)

    gpio.interruptMode(sigPin, "both")  # <3>

    gpio.mode(sigPin, "out")  # <4>
    gpio.write(sigPin, gpio.LOW)  # <5>
    time.sleep(0.5)  # s

    gpio.write(sigPin, gpio.HIGH)  # <6>
    time.sleep(1 / 1000.0 / 1000.0)  # <7>
    gpio.mode(sigPin, "in")  # <8>

    #Read high pulse width
    t = gpio.pulseInHigh(sigPin)  # s	# <9>
    d = t * v
    d = d / 2  # <10>
    return d * 100  # cm
コード例 #3
0
def readDistanceCm():
	sigPin=22
	v=(331.5+0.6*20)
	
	gpio.interruptMode(sigPin, "both")	# <3>

	gpio.mode(sigPin, "out")	# <4>
	gpio.write(sigPin, gpio.LOW)	# <5>
	time.sleep(0.5)	# s

	gpio.write(sigPin, gpio.HIGH)	# <6>
	time.sleep(1/1000.0/1000.0)	# <7>
	gpio.mode(sigPin, "in")	# <8>

	#Read high pulse width
	t = gpio.pulseInHigh(sigPin) # s	# <9>
	d = t*v
	d = d/2 # <10>
	return d*100	# cm
コード例 #4
0
ファイル: hc-sr04.py プロジェクト: sebastiw/beerosophy
def readDistanceCm():  # <3>
    triggerPin = 22  # <4>
    echoPin = 27  # <5>

    v = (331.5 + 0.6 * 20)  # m/s	# <6>

    gpio.mode(triggerPin, "out")  # <7>

    gpio.mode(echoPin, "in")  # <8>
    gpio.interruptMode(echoPin, "both")  # <9>

    gpio.write(triggerPin, 0)  # <10>
    time.sleep(0.5)  # <11>

    gpio.write(triggerPin, 1)  # <12>
    time.sleep(1 / 1000.0 / 1000.0)  # <13>
    gpio.write(triggerPin, 0)  # <14>

    t = gpio.pulseInHigh(echoPin)  # s	# <15>

    d = t * v  # <16>
    d = d / 2  # <17>
    return d * 100  # cm	# <18>
コード例 #5
0
def readDistanceCm():
	triggerPin = 22	# <1>
	echoPin = 27

	v=(331.5+0.6*20) # m/s

	gpio.mode(triggerPin, "out")

	gpio.mode(echoPin, "in")
	gpio.interruptMode(echoPin, "both")

	gpio.write(triggerPin, gpio.LOW)
	time.sleep(0.5)

	gpio.write(triggerPin, gpio.HIGH)
	time.sleep(1/1000.0/1000.0)
	gpio.write(triggerPin, gpio.LOW)

	t = gpio.pulseInHigh(echoPin) # s

	d = t*v
	d = d/2
	return d*100	# cm
コード例 #6
0
def readDistanceCm():
    triggerPin = 22  # <1>
    echoPin = 27

    v = (331.5 + 0.6 * 19)  # m/s

    gpio.mode(triggerPin, "out")

    gpio.mode(echoPin, "in")
    gpio.interruptMode(echoPin, "both")

    gpio.write(triggerPin, gpio.LOW)
    time.sleep(0.5)

    gpio.write(triggerPin, gpio.HIGH)
    time.sleep(1 / 1000.0 / 1000.0)
    gpio.write(triggerPin, gpio.LOW)

    t = gpio.pulseInHigh(echoPin)  # s

    d = t * v
    d = d / 2
    return d * 100  # cm
コード例 #7
0
ファイル: mx2125.py プロジェクト: upyy/xiaoche
def readAxel(pin):
    gpio.mode(pin, "in")
    gpio.interruptMode(pin, "both")
    return gpio.pulseInHigh(pin)  # <1>
コード例 #8
0
def readAxel(pin):
	gpio.mode(pin, "in")
	gpio.interruptMode(pin, "both")
	return gpio.pulseInHigh(pin)	# <1>