ESP32-S3 自動給水プランター

鉢に挿した静電容量式の土壌プローブと、水タンクの中の小型 12 V ポンプです。土が乾くとポンプが水をやり、湿ると止まります。タンクのフロートスイッチが、空焚きになる前にポンプを止めて赤い LED を点灯し、水の補充を知らせます。パソコンもインターネットもなしで、単独で動きます。

プログラム

Chip BASIC:1行が1つの命令で、読んで変更できます。コンパイラーはサイトのリリースごとにチェックしています。

REM Vaso che si annaffia
REM @part terra = soil
REM @part tanica = float
REM @part interruttore = mosfet
REM @part pompa = pump on=interruttore
10 LET secco = 30 : REM @cfg secco 5..60 Annaffia sotto (%)
20 IF terra.MOISTURE < secco AND tanica THEN pompa ON
30 IF terra.MOISTURE >= secco + 15 OR tanica = 0 THEN pompa OFF
40 IF tanica = 0 THEN LED red, on
50 IF tanica THEN LED red, off
60 WAIT 1s
70 GOTO 20

こうなります: 土が湿っているときはポンプがオフ、水分が30%を下回ると動き出し、45%で止まります。タンクが空だとポンプは動かず、赤い LED が点灯します。シミュレーターでは、土のスライダーを下げ、フロートをクリックしてタンクを空にします。

▶ IDE で開く

シミュレーターでは、ハードウェアなしでロジックがすぐに動くのを確認できます。シミュレーターは配線をチェックしません。配線はボードで確認し、IDE の配線チェックが手順を案内します。

部品

コンパイラーがプログラムから部品を見つけます。各部品には専用のページがあり、全体を作る前に実行できるテスト用プログラムがあります。

  • LED(抵抗付き:220 Ω、UNO R4 では 470 Ω)
  • 土壌水分センサー鉢の土に挿して、湿り具合を 0 %(乾燥)から 100 %(湿っている)で表します。
  • フロートスイッチタンクの中に入れるフロートです。水がフロートを設定の水位まで持ち上げている間は 1 になります。
  • MOSFET ドライバーボードのピンでオン・オフできるスイッチです。12 V のポンプ、ファン、バルブに使います。
  • 12 V ポンプ水を送る小型の水中ポンプです。植物への水やりや鉢への給水に使います。

ESP32-S3 への配線方法

  1. + 赤 → ESP32-S3: GPIO4220 Ω の抵抗を通す
  2. − → ESP32-S3: GND共通グラウンド:この接続は必須です。
  3. SIG → ESP32-S3: GPIO2ピンがスイッチを閉じるタイミングを伝えます。負荷の電流はスイッチを通り、ボードには流れません。
  4. GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
  5. AOUT → ESP32-S3: GPIO9
  6. VCC → ESP32-S3: 3V3
  7. GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
  8. 信号 → ESP32-S3: GPIO1内部プルアップ:押すと 1 と読めます
  9. GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
  10. pompa: + → interruttore: V+
  11. pompa: − → interruttore: OUT−
  12. 12 V 電源: − → interruttore: GND共通グラウンド:この接続は必須です。
  13. 12 V 電源: + → interruttore: V+電源は、すべての配線を確認してから最後につなぎます。

動かないとき

ライト: プログラムは動いているが、何も起きない
LED の向きが逆か、直列の抵抗が付いていません。 長い足をボードのピン側に、短い足を GND 側に付け、間に抵抗(220 Ω、UNO R4 では 470 Ω)を入れます。

変更できること

しきい値は10行目の `secco` 設定です(IDE ではスライダー)。サボテンは低め、バジルは高めにします。水は少しずつ与えてください。水がプローブに届くまで時間がかかります。水分量を1分ごとにスマートフォンへ送る、または朝だけ水やりするようアシスタントに頼めます。

対応するボード

  • ESP32-S3 Freenove: 対応
  • Nordic nRF54LM20 DK: 対応
  • Arduino UNO R4 WiFi: 対応