【かんすい升製作日誌】モニタリング2
前回の課題に取り組んでいます。
・複数の水分計を使いたくなりました。
・できれば、以前買った温湿度計も使いたい。
昨年のSALZシリーズ製作中から感じていたのですが、電子工作のセンシングは実はとても難しいのではないかと思っています。
昨年大いに悩んだ水分計を同時に複数使いたいと思っています。
最初に取り掛かったモニタリングは、SALZ3で使用していた装置をばらし、サーボとリレーを取り外しただけなので、問題なく動きました。
ところが、水分計を追加し、両方の値を取ろうとしているのですが、これがうまくいかないのです。
水分計2が100.0のままで、値を取得できません。
//ピン配置
// ■3V3
//G21□ □G22
//G25■ □G19:水分計センサ2
// 5V□ □G23:
//GND■ ■G33:水分計センサ1
const uint8_t WL_PIN1 = 33; // 水分計センサ1
const uint8_t WL_PIN2 = 25; // 水分計センサ2
int waterLevel1 = 0;
int waterLevel2 = 0;
水分計1:G33
水分計2:G23
にしましたが、上手く行かず、
水分計1:G33
水分計2:G25
でもうまく働きません。
去年散々味わった感覚がよみがえってきました。
Plan→Do→Seeサイクルをぐるぐる回してひとつひとつ小さな課題をクリアしていきます。
ネットで探しても、大抵の人は問題なく先に進めているのか、あまり情報が上がっていません。拙い英文読解力を用いて英文サイトも調べていくと、メーカーの文献をよく読め。とのヒントが。
ATOM Matrix
その中に回路図がありました。
電子工作の素人のため、全ては理解できていないのですが、G33はESP32-PICOに直接接続されているのに対し、G23やG25は別の線ともつながっていることわかりました。
G33と同じようなピンはG19、G22でした。
G19やG22を使えば何とかなるかもしれません。
//ピン配置
// ■3V3
//G21□ □G22
//G25□ ■G19:水分計センサ2
// 5V□ □G23:
//GND■ ■G33:水分計センサ1
const uint8_t WL_PIN1 = 33; // 水分計センサ1
const uint8_t WL_PIN2 = 19; // 水分計センサ2
int waterLevel1 = 0;
int waterLevel2 = 0;
※GND、3V3は共通で使用します。
また、温湿度計をついても合わせて取り込みたいと考えていましたが、こちらは呆気なくできてしまいました。
家にあったこちらのセンサー
ネットで検索すると、HT02というタイプでした。サンプルを見て、必要な処理を取り込みます。
ライブラリに上手くまとめられているので、サンプルからあまりイジることなく使えてしまいました。
ライブラリを検索し、「Grove_Temper_Humidity_TH02」を追加
#include <TH02_dev.h>
をインクルードし、
setup()内で
/* Power up,delay 150ms,until voltage is stable */
delay(150);
/* Reset HP20x_dev */
TH02.begin();
delay(100);
を呼び出し、
loop()内で
temper = TH02.ReadTemperature();
humidity = TH02.ReadHumidity();
を呼ぶだけです。
これで大丈夫だと思い試してみたのですが、結果は、
水分計1%:22.24
水分計2%:100
温度:17.03
湿度%:97.69
となり、まだ上手く行っていません。
水分計2%:100の値が正常に取得できていない感じです。
GWにやることができました。
この記事が気に入ったらサポートをしてみませんか?