logo
Published on

Raspberry Piに「MB7052-100」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

Raspberry Piは小型で汎用性が高く、様々なセンサーやデバイスを制御するのに適したシングルボードコンピュータです。この記事では、超音波センサー「MB7052-100」をRaspberry Piに接続し、制御する方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

1. MB7052-100超音波センサーの概要

MB7052-100は、超音波を使用して物体までの距離を非常に正確に測定できるセンサーです。これをRaspberry Piに接続することで、物体までの距離情報を取得し、それに応じた制御を行うことができます。

2. MB7052-100の接続

MB7052-100をRaspberry Piに接続するには、通常4つのピンがあります。

  • VCC(赤色): 5Vの電源
  • GND(茶色): 接地
  • Echo(青色または緑色): 超音波の反射波の受信
  • Trig(黄色またはオレンジ色): 超音波の送信

これらをRaspberry PiのGPIOピンに接続します。例えば、VCCを5Vに、GNDをGNDに、EchoをGPIOピン17に、TrigをGPIOピン18に接続することができます。

3. Pythonコードの作成

Raspberry Piでは一般的にPythonを使用してセンサーを制御します。以下は、MB7052-100を制御するための簡単なPythonコードの例です。

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

# ピンの設定
TRIG_PIN = 18
ECHO_PIN = 17

GPIO.setup(TRIG_PIN, GPIO.OUT)
GPIO.setup(ECHO_PIN, GPIO.IN)

def measure_distance():
    # トリガーピンに短いパルスを送信
    GPIO.output(TRIG_PIN, GPIO.LOW)
    time.sleep(0.5)
    GPIO.output(TRIG_PIN, GPIO.HIGH)
    time.sleep(0.00001)
    GPIO.output(TRIG_PIN, GPIO.LOW)

    # エコーピンのパルスを計測
    while GPIO.input(ECHO_PIN) == 0:
        pulse_start_time = time.time()
    while GPIO.input(ECHO_PIN) == 1:
        pulse_end_time = time.time()

    # 距離計算
    pulse_duration = pulse_end_time - pulse_start_time
    distance = pulse_duration * 17150
    distance = round(distance, 2)

    return distance

try:
    while True:
        distance = measure_distance()
        print(f"距離: {distance} cm")
        time.sleep(1)

except KeyboardInterrupt:
    GPIO.cleanup()

4. コードの実行と動作確認

Pythonコードを実行し、MB7052-100が正しく動作しているか確認します。ターミナルに距離が表示されるはずです。物体をセンサーに近づけたり遠ざけたりして、距離の変化を確認してみてください。

これで、Raspberry PiにMB7052-100を接続し、超音波センサーを制御する基本的な手順が完了しました。これをベースにして、様々なプロジェクトやアプリケーションを開発することができます。