「pH」タグアーカイブ

金魚水槽運用状況のご報告 ーエッジAI活用への道 16ー

最近の金魚水槽システムの運用状況を報告させてください。

 

 

運用状況概要

以下が金魚水槽システムの普段の使用状況です。

  • ESP32-CAMによる映像配信
  • 水槽LEDの遠隔制御
  • 水温、pHの測定&ログ記録

上記をローカルネットワーク内で無線制御で金魚水槽の管理を行っております。

管理画面のカスタマイズ

お母ちゃんが水槽管理画面とESP32-CAMの調整画面をマージしてくれました。

 

ストリーミング画像サイズなどを調整できるので非常に便利になりました!

水温、pHの記録

Maixduinoを使用していた頃と同様にESP32で測定した水槽の水温とpHをUDP送信してデータベースに保存しております。

Node-REDでデータベース(MySQL)へ保存 ーエッジAI活用への道 9ー

 

これで水の取り換え時期の判断も容易になりました♪

ESP32 Arduinoコード

デュアルコアでシステム画面表示の裏で水温とpHをはかってUDP送信を実行しております。

 

参考

 

おわりに

次は自動エサやり機を追加したい。

Maixduino で温度、pHデータをUDP送信 ーエッジAI活用への道 10ー

素晴らしき金魚水槽システムの実現を目指し、 Sipeed Maixduino で金魚水槽の 温度pH値 を取得してUDP送信し、それをブラウザ表示データベース保存までを実施しております。また水草育成促進のためにLED照射も実施しています。

データのUDP送信のご報告が抜けておりましたので、ここでさせていただきます。

 

構成

Arduinoマイコンにセンサを接続してUARTでデータをMaixduinoに送信して搭載されたESP32のWiFiでUDP送信しています。

部品

  • Sipeed Maixduino

     
  • Adafruit Metro Mini 328 – 5V 16MHz

     

  • 防水温度センサ DS18B20

     
  • pHセンサ PH-4502C

     
  • フルカラーLED Neopixel (WS2812B ) 48セル

Adafruit コード

Arduino IDEでコーディングできるマイコンのAdafruit Metro Mini 328を使用して温度とpH値、pHセンサの電圧を取得して1分おきにMaixduinoへUART送信します。

Adafruit Metro Mini 328はArduino IDEにおいてAruino UNOとして振る舞いボードライブラリのインストールなどは必要ありません。

Maixduinoコード

MicroPythonでコーディングし、MaixPy IDEで書き込みました。
MaixduinoによるUDP送信は以下のサンプルコードを参考にしております。
 https://github.com/sipeed/MaixPy_scripts/blob/master/network/demo_esp32_socket%20_udp_cli.py

Adafruit Metro Mini 328からのセンサデータをUARTで受信し、値をディスプレイ表示し、WiFiでUDP送信します。

LEDテープは急に点灯すると金魚ちゃんがビックリするとお母ちゃんに言われたので、電源投入後データ受信(1分)ごとに少しづつ輝度を上げて最終輝度に達するようにしています。

あくまで金魚ファーストです。

 

動作

水温とpHが送信されPC上でUDP送信を確認できました。
以下の動画では1秒ごとに送信してNode-REDで受信して確認しています。

おわりに

どんどん金魚水槽が理想のシステムに近づいてまいりました!引き続き頑張りましょう 🙂 

それでは次の道でお会いいましょう。

pHセンサを味見 ーエッジAI活用への道 7ー

金魚水槽管理システムを目指して前回Maixduinoに温度センサを導入いたしました。
今回はさらにpHセンサの導入を目指して、まずはpHセンサの調整・動作の確認を実施いたしました。

 

 

pHセンサ

以下のセンサを購入させていただきました。
大変 低価格で見つけた際にうれしさで口のモゴモゴがしばらく止まりませんでした。

 

 基板とBNCケーブルにセンサがついております。
 

機構としては単純でpHに応じた電圧値がPoピンから出力されます。
温度補正用に基板上の温度センサの値を出力(To)したり、所定のpHになったら警告出すピン(Do)などもありますがここでは使用しません。

構成

電圧出力P0ピンをArduinoのアナログ入力A0ピンに接続するだけです。

部品

  • Adafruit Metro Mini 328 – 5V 16MHz

     
  • pHセンサ PH-4502C

     

出力電圧調整

pHセンサ(BNCケーブルについてるやつ)はpH 7でGNDレベルの電圧を、7以上で負、7以下で正の電圧を出力するようです。

マイコンでは正の電圧しか検出できませんので、基板上のポテンショメータ(BNCコネクタ側)で出力電圧(P0)の調整をします。

基板上のBNCコネクタの信号線をGNDに短絡して、Po電圧が2.5V(アナログ出力:512)になるようにポテンショメータ(BNCコネクタ側)のつまみを回します。

この調整によって、センサの電圧出力がどのpHでも正の値となり、pH7は2.5Vで出力されます。

pH値 校正

次に出力電圧(Po)とpHを関連付ける必要があります。pHが既知の液体を測定して電圧変換式を導出します。

よいものがこれまた低価格で売っておりました。10/18に注文して11/11に台北から届きました。

250mlの水に溶かして使用します。3液体を作って電圧測定しました。

 
3点プロットした結果が以下です。

pH = -5.737 × 測定電圧 + 21.426 という変換式を得ることができました。 
 

Arduinoコード

以下が使用したpH測定用のコードです。
出力電圧(Po)の平均値からpHを算出します。

参考

以下の参考に記載されたコードを参考にしております。ありがたや。

おわりに

pHを測定できる準備ができましたので次回の道では水槽に投入して、
水温とともにログをとれるようにしたいと思っております。

それではまた 次の道で。