Getting distance information using the Ultrasonic sensor.
レッスン9"超音波センサーを使用して距離情報を取得する"をやっていく。
何を学習するか
このレッスンを終了すると、次のことができるようになります。
- 超音波センサーを制御し、出力として距離を取得します
何が必要か
- 初期設定後のCrowPiボード
Requires switching modules using the switch
- いいえ
CrowPi上の超音波センサーの位置
超音波距離センサーの操作
このレッスンで使用するPythonスクリプトは以下の通り。
Examples/distance.py
#!/usr/bin/python # -*- coding: utf-8 -*- # Author : www.modmypi.com # Link: https://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) TRIG = 16 ECHO = 12 print("Distance Measurement In Progress") GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN) GPIO.output(TRIG, False) print("Waiting For Sensor To Settle") time.sleep(2) GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO)==0: pulse_start = time.time() while GPIO.input(ECHO)==1: pulse_end = time.time() pulse_duration = pulse_end - pulse_start distance = pulse_duration * 17150 distance = round(distance, 2) print("Distance: %scm" % distance) GPIO.cleanup() |
例のごとく、GPIO.setmodeとpin番号を修正。
修正後
GPIO.setmode(GPIO.BOARD) TRIG = 36 ECHO = 32 |
どのくらいの精度なのかは不明だけど工夫次第で色々遊べそうだな。
例えば、ぶつからないロボットカー🚙とか