VL53L0XレーザーToFセンサで液面レベルを高精度検出(Arduino)
必要な部品と材料
| Arduino UNO | ×1 |
| ProtoCentral VL53L0X レーザーToFセンサ ブレークアウトボード | ×1 |
使用するアプリとオンラインサービス
- Arduino IDE
- Processing
プロジェクト概要
液面レベル測定は、工業用から家庭用(水槽の水位管理など)まで幅広く用いられます。従来は液体に浸したプローブ間の導電率(抵抗変化)を測る方法や、フロート式の機械的なセンサが一般的でした。しかし、これらは液体に接触するため、以下の課題があります。
なぜ従来法が使えなかったか
今回の用途では、液体の性質上、容器内部にセンサを設置できませんでした。食品を扱う場合も、食品衛生規格に適合したセンサの調達や管理が課題になります。
そこで、非接触・非侵襲なレーザーToF(Time-of-Flight)センサを用いるアプローチを採用しました。液体汚染のリスクが完全に排除されます。
実装方法

ProtoCentralのブレークアウトボードには、STマイクロエレクトロニクス製VL53L0Xが搭載されています。このセンサは不可視のIRレーザー光を対象物に照射し、反射光が検出器に戻るまでの時間を計測して距離を求めます。最大測定距離は2メートルですが、水槽実験では2mmの分解能で水位を検出できました。

センサボードは、Bluetoothモジュール内蔵のArduino互換ボード「ProtoFly」に接続し、Li-ionバッテリでワイヤレス化しました。このユニットを水槽の上部に固定し、小型ポンプで注水する様子を計測します。

高さデータはBluetooth経由でPCへ送信し、Processing製のGUIでリアルタイムに記録・表示します。
結果
非接触・非侵襲な手法で、信頼性の高い液面計測が少ないインターフェース作業で実現できました。Fritzing用の配線ガイドも近日公開予定ですが、Arduinoへの接続はライブラリとサンプルコードが提供されており、直感的に行えます。
コードとリソース
ProtoCentral VL53L0X ブレークアウトボード ライブラリ
回路図(ハードウェア設計ファイル)
製造プロセス
- Raspberry PiでTMP006赤外線温度センサーを使う – Pythonライブラリとセットアップガイド
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- ZigbeeセンサーとGravioエッジプラットフォームでインタラクティブレーザープロジェクターを構築
- ppDAQC Pi-PlateからInitialStateへ温度データをストリーミング - ヘッドレスRaspberry Piで実現
- Raspberry PiでPIRモーションセンサーとLEDを制御
- Raspberry Piフィットネストラッカーでハムスターの日々の運動量を追跡
- Raspberry PiとTwilioで実現するトイレ占有センサー:音声通話とSMSで通知
- Acconeer A111パルスレーダーをRaspberry Piと統合:実践ガイド
- Firebase経由で2台のArduino間を温湿度データで連携するIoTチュートリアル
- レーザーセンサー解説:動作原理と産業アプリケーション
- 高性能液体金属ウェアラブル圧力センサーで精密健康モニタリング