前へ⇒ 防犯・災害対策に!Raspberry Piで作るセンサー連動自動撮影カメラシステム
※当サイトは、アフィリエイトプログラムを利用して商品を紹介しています。
近年増える線状降水帯やゲリラ豪雨。河川や自宅周辺の水位をいち早く知ることが、防災行動に直結します。Raspberry Piと超音波センサーを使えば、水位を自動で計測するシステムを簡単に自作可能!

超音波を発射して反射までの時間を測ることで距離を計算できます。避難判断や早期警戒につながる電子工作を初心者向けに解説します。
1. 必要なもの
- Raspberry Pi 5(Raspberry Pi 4でも可)
- HC-SR04 超音波距離センサー
- ジャンパーワイヤー(オス-メス)
- 抵抗(2.2kΩと3.3kΩ) → 電圧を5V→3V以下に変換するために使用
- ブレッドボード(あると便利)
[PR]抵抗セット
![]() | 【30種類 各20ヶ】抵抗器セット 金属皮膜抵抗器 電子工作 部品 レジスタ レジスタンス 抵抗 電子パーツ 抵抗セット 価格:682円 |

[PR]HC-SR04 超音波距離センサー
![]() | 【2個入】HC-SR04 超音波距離センサー 距離測定モジュール Arduino/Raspberry Pi対応 超音波センサーモジュール 電子工作用 価格:750円~ |

抵抗値の見方(色コード)
抵抗には、4本または5本のカラーリングが印刷されています。
色の組み合わせで抵抗値を表しています。

例:2.2kΩ の抵抗(4本帯)
帯の順 | 色 | 意味 |
---|---|---|
1本目 | 赤 | 2 (数字) |
2本目 | 赤 | 2 (数字) |
3本目 | 赤 | 乗数 100 → 22×100 = 2200 Ω = 2.2kΩ |
4本目 | 金 | 誤差 ±5% |
例:3.3kΩ の抵抗(4本帯)
帯の順 | 色 | 意味 |
---|---|---|
1本目 | オレンジ | 3 |
2本目 | オレンジ | 3 |
3本目 | 赤 | ×100 → 33×100 = 3300 Ω = 3.3kΩ |
4本目 | 金 | ±5% |
2. HC-SR04センサーの接続
HC-SR04には 4本のピン があります。

HC-SR04 ピン | 接続先(Raspberry Pi) | 説明 |
---|---|---|
VCC | 5Vピン(Pin 2) | 電源 |
TRIG | GPIO24(Pin 18) | トリガー信号 |
ECHO | GPIO23(Pin 16) GNDピン(Pin 9) | 抵抗で分圧してから接続 (2.2kΩと3.3kΩ使用) |
GND | GNDピン(Pin 6 ) | グランド |
Raspberry pi本体 GPIOピンの配置
3.3V (1) (2) 5V
GPIO2 (3) (4) 5V
GPIO3 (5) (6) GND
GPIO4 (7) (8) GPIO14
GND (9) (10) GPIO15
GPIO17(11)(12) GPIO18
GPIO27(13)(14) GND
GPIO22(15)(16) GPIO23
3.3V (17)(18) GPIO24
GPIO10(19)(20) GND
GPIO9 (21)(22) GPIO25
GPIO11(23)(24) GPIO8
GND (25)(26) GPIO7
ID_SD (27)(28) ID_SC
GPIO5 (29)(30) GND
GPIO6 (31)(32) GPIO12
GPIO13(33)(34) GND
GPIO19(35)(36) GPIO16
GPIO26(37)(38) GPIO20
GND (39)(40) GPIO21
HC-SR04のECHOピン接続
HC-SR04 の ECHO ピンは 5V 出力なので、Raspberry Pi の GPIO(3.3V 仕様)に直接つなぐと破損の恐れがあります。そのため、抵抗で分圧して 3V 前後に落とす必要があります。
接続方法
- HC-SR04のECHO → 2.2kΩ抵抗 → 分岐点
- 分岐点 → GPIO23(Pin 16)
- 分岐点 → 3.3kΩ抵抗 → GND(Pin 9)
回路イメージ


電圧計算(抵抗分圧)
- Vin = 5V
- R1 = 2.2kΩ(上側)
- R2 = 3.3kΩ(下側)
R1
Vout = Vin × (R2 / (R1 + R2))
= 5V × (2.2 / (2.2 +3.3))
= 5V × (2.2 / 5.5)
= 2.0V
R2
Vout = Vin × (R2 / (R1 + R2))
= 5V × (3.3 / (2.2 + 3.3))
= 5V × (3.3 / 5.5)
= 3.0V
これで安全に動作します。

3. Pythonプログラム
ターミナルを開きます。Ctrl + Alt + T
を同時に押す。
ターミナルで nano shikoshikosuii.py
と入力し、新しいファイルを作成。
nano shikoshikosuii.py
次に、以下のプログラムを入力します。
from gpiozero import DistanceSensor
from time import sleep
import tkinter as tk
import threading
# 最大測定距離(メートル単位)
MAX_DISTANCE = 5.0
# センサー設定
# echo = GPIO23, trigger = GPIO24
sensor = DistanceSensor(echo=23, trigger=24, max_distance=MAX_DISTANCE)
# GUIウィンドウの準備
root = tk.Tk()
root.title("水位計")
root.geometry("400x200")
label = tk.Label(root, text="測定中...", font=("Helvetica", 24))
label.pack(pady=50)
def measure_loop():
while True:
reversed_distances = []
# 10回分の測定(10秒間)
for _ in range(10):
actual_distance = sensor.distance * MAX_DISTANCE
reversed_distance = max(0.0, MAX_DISTANCE - actual_distance)
reversed_distances.append(reversed_distance)
sleep(1)
average = sum(reversed_distances) / len(reversed_distances)
cm_value = average * 100
# GUIラベルに値を表示
label.after(0, lambda v=cm_value: label.config(
text=f"水位: {v:.1f} cm"))
# 測定を別スレッドで実行(GUIが固まらないように)
threading.Thread(target=measure_loop, daemon=True).start()
# GUI起動
root.mainloop()

4. プログラムを保存して実行
nanoで入力が終わったら、以下の手順で保存します。
Ctrl + O
を押す(ファイルを保存)Enter
を押す(ファイル名を確定)Ctrl + X
を押す(エディターを終了)
ターミナルを開きます。Ctrl + Alt + T
を同時に押す。以下を入力してプログラムを実行します。
python3 shikoshikosuii.py
すると新しいウィンドウが開き、10秒ごとの平均水位が表示されます。

5. Tkinterとは?
Tkinterは、Pythonに標準で入っている GUI(グラフィカル・ユーザー・インターフェイス)ライブラリ です。
これを使うと、黒いターミナルの文字だけでなく、ボタンやラベルを使った ウィンドウアプリ を作れます。
今回のプログラムでは、
tk.Tk()
→ 新しいウィンドウを作成tk.Label()
→ 測定値を表示するラベルを作成root.mainloop()
→ ウィンドウを開いたままにする
という使い方をしています。
6. 水位計以外の応用例
HC-SR04は水位計以外にもいろいろ使えます。
- 人感センサーの代わりに使う
→ 一定距離内に物体が来たらLEDを光らせる - ゴミ箱の残量測定
→ 満杯かどうかを自動で検知 - 車庫の駐車アシスト
→ 車と壁の距離を測ってLEDでお知らせ - ロボットの障害物回避
→ 距離を測って自動でストップ
もっともっと電子工作を作ってラズパイを楽しんでいきましょう!
次回は、熱中症・火災を防ぐ!Raspberry Piでつくる温度監視システムです。
イケオジ流!ラズベリーパイ(Raspberry Pi)一覧はこちら
ラズベリーパイを始めるならこれ!本体・モニター・センサー類の商品リスト
X(旧twitter) 今日のイケオジ
イケオジのキング・オブ・アスリートへの道はこちら
パイプとジョイントでアイデア無限大:[PR]スペーシアは豊富な種類のパイプとジョイント、金具類をラインナップ。自由な発想でご家庭内のちょっとしたDIYから、工場や物流倉庫などの現場改善まで 様々なアイデアを形にできます。ホームセンターでは入手できないスペーシア製品もスパクリショップならご購入可能!

ガジェット、工具、Iot製品:[PR]職場で使ったり、お子様・お孫様のおもちゃの修理、メガネや時計など身近なものの修理に 役立つ工具セットや緊急時に役立つ懐中電灯やバッテリーなど。

ミニマル×モルタルの世界観:[PR]一点一点手作業で仕上げたモルタル製インテリア雑貨。ミニマルで無骨なデザインが、空間を“整える”存在に。インテリア・ガジェット・ライフスタイル系メディアとの相性抜群。

タミヤ:[PR]模型の総合メーカー(株)タミヤの公式ECサイトならではの品揃え。プラモデル、ラジコン、ミニ四駆から塗料・工具、資料本等約5,700点の商品を取り揃えております。

オフロードラジコン専門店:[PR]アメリカの大手ラジコンメーカーTraxxasの日本正規販売代理店「KS HOBBY」。Traxxasのラジコンは高品質な素材と頑丈な設計、実車同様の リアリティーな外観で、40代の男性を中心にコアなファンが多く、カスタムパーツが正規品でも多く設定されており、趣味として 長く楽しまれています。

DIYギター:[PR]数時間~数週間で造るのを楽しめ、できあがったギターも調整しながら一生楽しめる趣味となるでしょう!

さあ、勇気を出してイケオジブログをシェアしよう!
コメントを残す