ESP32-S3 水切れ植物アラーム
鉢に挿した静電容量式の土壌水分センサーが、土が乾くと赤い LED を点灯し、水をやるまで2秒ごとにビープ音を鳴らします。センサーはキットのボリュームの代わりにアナログ入力につなぎます。はんだ付けも、インターネット接続も不要です。
プログラム
Chip BASIC:1行が1つの命令で、読んで変更できます。コンパイラーはサイトのリリースごとにチェックしています。
10 LET a = AREAD()
20 IF a > 2500 THEN LED red, on : SOUND "beep"
30 IF a <= 2500 THEN LED red, off
40 WAIT 2s
50 GOTO 10こうなります: 土が湿っているときはすべてオフ、乾くと赤い LED が点灯して2秒ごとに鳴ります。シミュレーターでは、アナログ入力のスライダーを上げると土が乾いた状態になります。
▶ IDE で開くシミュレーターでは、ハードウェアなしでロジックがすぐに動くのを確認できます。シミュレーターは配線をチェックしません。配線はボードで確認し、IDE の配線チェックが手順を案内します。
部品
コンパイラーがプログラムから部品を見つけます。各部品には専用のページがあり、全体を作る前に実行できるテスト用プログラムがあります。
- LED(抵抗付き:220 Ω、UNO R4 では 470 Ω)
- パッシブブザー
- アナログセンサー(ボリュームまたは LDR)
ESP32-S3 への配線方法
- 信号 → ESP32-S3: GPIO9
- VCC → ESP32-S3: 3V3
- GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
- + → ESP32-S3: GPIO5
- − → ESP32-S3: GND
- + 赤 → ESP32-S3: GPIO4220 Ω の抵抗を通す
- − → ESP32-S3: GND共通グラウンド:この接続は必須です。
動かないとき
- ライト: プログラムは動いているが、何も起きない
- LED の向きが逆か、直列の抵抗が付いていません。 長い足をボードのピン側に、短い足を GND 側に付け、間に抵抗(220 Ω、UNO R4 では 470 Ω)を入れます。
- ブザー: プログラムは動いているが、何も起きない
- 信号がブザーに届いていません。配線が別のピンにあるか、マイナス側が GND につながっていません。 信号は図のピンに、マイナス側は GND につなぎます。
- アナログセンサー: プログラムは動いているが、何も起きない
- 信号線がアナログピンにつながっていないか、ボリュームの中央のピンと端のピンが入れ替わっています。 中央のピンを図のアナログピンに、両端のピンを 3.3 V と GND につなぎます(5 V は使わないでください)。
変更できること
しきい値は20行目と30行目の 2500 です。鉢で実測(水やり直後と乾いたときの値)して、その間の値にします。光だけで十分なら20行目の SOUND を消すか、2秒ごとではなく1時間に1回のチェックにするよう Chip に頼んでください。
対応するボード
- ESP32-S3 Freenove: 対応
- Nordic nRF54LM20 DK: 対応
- Arduino UNO R4 WiFi: 対応