129 UltraSound
超音波距離センサー(HC-SR04)
サンプルコードの動作
超音波距離センサーを電源ONにして、0.5秒ごとに測距します。
サンプルコード使用時の接続
FaBo BLOCKS #129 をFaBo BLOCKS 519 FaBo Jetson基板 5、6、22があるGPIOポートへ接続します。
センサーの動作電圧はDC5.0Vなので#519基板のスライドスイッチを5V側にします。
GPIO22は、省電力にするためのアナログスイッチとなります。
測距センサーの電源スイッチとなります。HighでON、LowでOFFとなります。
サンプルコード
# FaBo 129 UltraSound HC-SR04
# coding: utf-8
import Jetson.GPIO as GPIO
import time
import sys
#FaBo BLOCKS Jetson Nano #519 RJ11 GPIO Setting
Trig = 5
Echo = 6
PowerOn = 22
class Sensor():
def __init__(self):
GPIO.setmode(GPIO.BCM)
GPIO.setup(Trig, GPIO.OUT)
GPIO.setup(Echo, GPIO.IN)
GPIO.setup(PowerOn, GPIO.OUT)
GPIO.output(PowerOn, GPIO.HIGH)
def getDistance(self):
GPIO.output(Trig, GPIO.HIGH)
time.sleep(0.00001)
GPIO.output(Trig, GPIO.LOW)
signaloff=0
signalon=0
while GPIO.input(Echo) == 0:
signaloff = time.time()
while GPIO.input(Echo) == 1:
signalon = time.time()
return (signalon - signaloff) * 17000
sensor = Sensor()
while True:
try:
distance = sensor.getDistance()
print("{:.0f}cm".format(distance))
time.sleep(0.5)
except KeyboardInterrupt:
GPIO.cleanup()
sys.exit()