
土壌湿度センサーのアナログデータ採取に挑戦
どうも、じぇいかわさきです。
今までに、YL69という土壌湿度センサーのデジタル信号をラズパイで受け取ることまでは実験しうまく行っている。
デジタルの場合はある閾値で0/1判定をするので、実際には土壌がどんな状態になっているのかはわからないんですね。
そこで、今回はYL69の出力をアナログで受ける事に挑戦してみようと思います。
難しいかはやってみなければわからないので、とりあえず挑戦してみましょう。
アナログで受けるための準備
現状使用しているのはラズパイ3B+なんですが、実はラズパイってラズパイpico以外はアナログ信号を受けるようにできていません。
もし、アナログ信号を直で扱うようにするには、ラズパイpicoかArduinoを使用するしかないんですよね。
そうしたら、せっかくいろいろとやってきている実験がパーになるし、何よりもラズパイpicoにしてもArduinoにしても、OSが動いていないのでデータベースにデータを記録するにしても、別のPCを用意しなければいけない。
そういう面倒くさいことも有るんです。
所がラズパイ3B+であれば、OSが動いているので現状通りMariaDBも使用できるし、PythonからもPHPからもMariaDBに接続してデータを蓄積することができるんです。
なんたって、PCですからね。組込デバイスとはチョット違いますね。
従って、ラズパイ3B+にアナログデータを入力するためには、アナログデジタル変換をしなければいけません。
いわゆるADコンバータが必要になるんです。
無いものは自分で作る
ADコンバータ自体はICで販売されていますから、それを使ってラズパイ3B+に接続するためのインターフェースを作ることから始まります。
どうやって作るのか?
ネットを探すとたくさん出てきますので、まずはADコンバータのICを手に入れることからですね。
今回使用したADコンバータはMCP3208というADコンバータです。
このICをは入力が8チャンネルも有る12ビットのADコンバータになります。1チャンネルしか使用しませんが、他になかったのでこれを使用することにします。
接続は非常に簡単で、入力の1チャンネル目にYL69からのアナログ入力を接続します。
ICのCLK、Dout、Din、CSの4つの信号をラズパイ3B+に接続します。
ADC ----->ラズパイ3B+
CLK ----->MOSI
Dout ----->MISO
Din ------>SCKL
CS ------>CE0
これを接続すると最終的にこんな形になります。
16ピンのICをが1つですから至ってシンプルですね。
とは言え、ハンダ付けをしなければいけませんので、久々にハンダゴテを握りました。
他の事をやっていて、作業がおくれてしまったのでハードウェアを作成するまでで時間を費やしてしまいました。
さて、次はこれを動かすコードを考えていかなければなりません。
残念ながら、今回はそこまで到達できませんでしたが、YL96のデータページを参考にし、考えていきたいと思います。
さて、思ったように動くでしょうか?
これはこれで、ワクワクするな。
いいなと思ったら応援しよう!
