センサ/アクチュエータ実験の進め方

概要

モーションセンサ、傾きセンサ、温湿度センサ、ブザー、LCDなどを試すときの共通手順を整理したページです。個別チュートリアルに入る前の標準フローとして使います。

手順

1. 実験テーマを決める

  1. 入力系(センサ)か出力系(アクチュエータ)かを決める。
  2. 使うピンと必要部品を先に一覧化する。

2. 回路を組む

  1. 電源OFFで配線する。
  2. GNDと電源ラインを先に作る。
  3. 信号線をGPIOへ接続する。

3. プログラムを動かす

  1. Pythonスクリプトを作成する。
  2. scp でRaspberry Piへ転送する。
  3. ssh でログインして python3 で実行する。

4. 結果を記録する

  1. 成功条件(何が起きたら成功か)を明記する。
  2. 失敗時は配線・ピン番号・権限を順に確認する。

コード

import time
import RPi.GPIO as GPIO

SENSOR_PIN = 17   # コメント: センサ入力ピン(BCM番号)
BUZZER_PIN = 18   # コメント: ブザー出力ピン(BCM番号)

GPIO.setmode(GPIO.BCM)
GPIO.setup(SENSOR_PIN, GPIO.IN)                 # コメント: センサを入力設定
GPIO.setup(BUZZER_PIN, GPIO.OUT, initial=GPIO.HIGH)  # コメント: ブザー初期OFF

try:
    while True:
        detected = GPIO.input(SENSOR_PIN)       # コメント: センサ値を読む
        if detected:
            GPIO.output(BUZZER_PIN, GPIO.LOW)   # コメント: 検知時にブザーON
        else:
            GPIO.output(BUZZER_PIN, GPIO.HIGH)  # コメント: 未検知時にブザーOFF
        time.sleep(0.2)                         # コメント: 読み取り間隔
except KeyboardInterrupt:
    pass
finally:
    GPIO.cleanup()

解説

  • まず「共通フロー」を固定すると、部品が変わっても試行が安定します。
  • 入力(読む)と出力(動かす)を分けて考えるとデバッグしやすくなります。
  • 失敗時はコードより先に配線とピン番号を確認するのが近道です。

よくあるミス

  • 配線図と実配線でGNDの列がずれている。
  • センサの電源電圧(3.3V/5V)を確認せず接続する。
  • 実行時エラーを無視し、原因を切り分けない。

他ページへのリンク候補