工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino & 超音波HC-SR04によるスマート液面センサー & コントローラー

概要

超音波センサーHC-SR04とArduinoを用いた液面レベル監視・自動制御システムです。工業用レベルインジケーターの原理を小規模・家庭用に応用。タンク内の液量を連続監視し、ポンプ制御によるフィードバック制御で液面を設定範囲内に維持します。

システム構成

ブロック図

測定原理(センシングシステム)

HC-SR04は40kHz超音波を送信(Trigピン)、液面で反射した波を受信(Echoピン)。往復時間から距離を算出:

duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;  // cm単位

音速 340m/s = 0.034cm/μs を利用。往復距離なので2で割る。

制御ロジック(コントロールシステム)

Arduinoが距離データを読み取り、閾値判定でポンプを制御:

※ 距離センサーから液面までの距離なので、値が大きい=液面が低い、値が小さい=液面が高い。

ソースコード

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. Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
  2. Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
  3. Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
  4. Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
  5. 湿度センサーの検証とキャリブレーションで精密測定を実現
  6. Windows 10 IoT CoreとSHT15センサーで高精度な温湿度モニタリング
  7. トランスミッションフルード完全ガイド:役割、重要性、メンテナンス
  8. 血圧センサー:仕組みと主要応用
  9. 電圧センサー:仕組みと現代電力システムでの主要応用
  10. Arduinoセンサー:種類、応用、実世界プロジェクト
  11. 指紋センサー技術:動作原理、アプリケーション、Arduino統合