Arduino & 超音波HC-SR04によるスマート液面センサー & コントローラー
概要
超音波センサーHC-SR04とArduinoを用いた液面レベル監視・自動制御システムです。工業用レベルインジケーターの原理を小規模・家庭用に応用。タンク内の液量を連続監視し、ポンプ制御によるフィードバック制御で液面を設定範囲内に維持します。
システム構成
ブロック図
- Arduino UNO: メインマイコン
- HC-SR04超音波センサー: タンク天面に取り付け、液面までの距離を測定
- 潜水ポンプ ×2: タンク内排水用・貯水槽から給水用(単方向ポンプ)。双方向ポンプなら1台で代替可能
- モータードライバー: ポンプ駆動用(12V駆動のため必須。ブロック図では省略)
測定原理(センシングシステム)
HC-SR04は40kHz超音波を送信(Trigピン)、液面で反射した波を受信(Echoピン)。往復時間から距離を算出:
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // cm単位
音速 340m/s = 0.034cm/μs を利用。往復距離なので2で割る。
制御ロジック(コントロールシステム)
Arduinoが距離データを読み取り、閾値判定でポンプを制御:
- 距離 > 10cm(液面低い): タンク内ポンプOFF、貯水槽ポンプON → 給水
- 距離 < 6cm(液面高い): 貯水槽ポンプOFF、タンク内ポンプON → 排水
- 6〜10cm: 両ポンプOFF(目標範囲内)
※ 距離センサーから液面までの距離なので、値が大きい=液面が低い、値が小さい=液面が高い。
ソースコード
int tankPump = 3;
int reserviorPump = 2;
int trigPin = 9;
int echoPin = 10;
long duration;
int distance;
void setup() {
Serial.begin(9600);
pinMode(tankPump, OUTPUT);
pinMode(reserviorPump, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
ultrasound();
pump();
}
void ultrasound() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance:"); Serial.println(distance);
delay(1000);
}
void pump() {
if (distance > 10) {
digitalWrite(tankPump, HIGH);
digitalWrite(reserviorPump, LOW);
} else {
digitalWrite(tankPump, LOW);
}
if (distance < 6) {
digitalWrite(reserviorPump, HIGH);
digitalWrite(tankPump, LOW);
} else {
digitalWrite(reserviorPump, LOW);
}
}
今後の改良案
- 双方向ポンプ採用でポンプを1台に集約
- OLED/LCDディスプレイで液面・温度表示
- IoT接続でクラウドデータ蓄積・遠隔監視・アプリ制御
- 満水時の安全ブザー、オーバーフロー防止ロジック追加
提供ファイル
- Arduinoスケッチ
- 回路図・ブロック図・配線写真
製造プロセス
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
- Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
- Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
- 湿度センサーの検証とキャリブレーションで精密測定を実現
- Windows 10 IoT CoreとSHT15センサーで高精度な温湿度モニタリング
- トランスミッションフルード完全ガイド:役割、重要性、メンテナンス
- 血圧センサー:仕組みと主要応用
- 電圧センサー:仕組みと現代電力システムでの主要応用
- Arduinoセンサー:種類、応用、実世界プロジェクト
- 指紋センサー技術:動作原理、アプリケーション、Arduino統合