pH測定で用いるガラス電極法に触れてみる


アナログとデジタルの記事でpHメーターに必要なAD変換を学ぶ上で最低限のアナログ-デジタルに触れた。

早速、pHメーターを使ってみようと思ったが、肝心のAD変換器がまだ届いていない。



そういえば前にBCC Micro:bitで取得した温度を表示したことがあったなとことを思い出し、仕様を調べてみたら、


※画像:入出力端子 — BBC micro:bit MicroPython 1.0.1 ドキュメントより引用後改変


※画像:入出力端子 — BBC micro:bit MicroPython 1.0.1 ドキュメントより引用後改変


P0やP1でアナログ値を読み込む機能があった。

これはAD変換に該当するらしい。


というわけで早速BBC Micro:bitにpHメーターを繋いでみることにした。




はじめに回路図をFritzingで作成しようと思ったが、pHメーターに5Vの供給の為の拡張ボードや電池の配置方法がわからなかったので、写真ベースで進める。


Liquid PH Value Detection Detect Sensor Module – diymore



BBC Micro:bitを5Vの電圧の供給ができるT字拡張ボードに接続して、




pHメーターのV+を5V、GをGND、PoをP0に繋いで、MakeCodeで

※BBC Micro:bitと繋げるGNDはV+の横のピン

※POはphの測定値の出力(output)の略


Aボタンを押したら、P0端子でアナログ値を読み込むようにした。

※最初だけのアイコンを表示はBBC Micro:bitに無事にコードがフラッシングされたか?の指標の為に設けた


水道水に電極を指してAボタンを押してみたところ、BBC Micro:bitのディスプレイに748という数字が表示された。

続いて、ちょうど重曹の粉があったので、水道水に溶かして電極を指してAボタンを押してみたところ、916という数字が表示された。


重曹は炭酸水素ナトリウム(NaHCO3)でpHはアルカリ性(pHが8以上)を示し、水道水は中性(pH 7)付近になるので、得られた結果は100倍の値だと推測して、


上記のコードに書き直してみた。

コード変更後に重曹水のpH測定の実行結果は下記の動画のようになった。



pHメーターのPH4502Cから得られたアナログ値が100倍した値であるか?

BBC Micro:bitの方のAD変換器がどのように値を読み込むか?

といったことを調べる必要はあるが、とりあえずアナログ値を読み込むところまではできた。


pHメーターとサーボモータをつなぎ、サーボモータをバルブのようにして、pHを測定して値が低ければ、自動でバルブを開いてアルカリ性の溶液で点滴してpHを上げるといった自動化の夢が広がった。

Micro:bitで二種類のサーボモータの動作を比較してみる


関連記事

施設栽培で軽微な鉄欠乏の症状を見逃すな