goo blog サービス終了のお知らせ 

不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

CrowPiレッスン9:超音波センサーを使用して距離情報を取得する

2020-11-07 17:18:05 | CrowPi

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


このスクリプトを実行すると、障害物までの距離がターミナルに表示される。


どのくらいの精度なのかは不明だけど工夫次第で色々遊べそうだな。
例えば、ぶつからないロボットカー🚙とか


最新の画像もっと見る

コメントを投稿