ESP32-S3 階段の足元灯
階段に人感センサーと明るさセンサーを付けます。暗い中で誰かが通ると 12 V の LED テープが点灯し、最後の動きから2分間そのままです。昼間は何も起きません。LED テープは、ボードからではなく専用の 12 V 電源から MOSFET スイッチ経由で動かします。
プログラム
Chip BASIC:1行が1つの命令で、読んで変更できます。コンパイラーはサイトのリリースごとにチェックしています。
REM Luce delle scale
REM @part scale = motion
REM @part luce = bh1750
REM @part interruttore = mosfet
REM @part striscia = ledstrip on=interruttore
10 LET buio = 10 : REM @cfg buio 1..100 Buio sotto (lux)
20 LET minuti = 2 : REM @cfg minuti 1..10 Resta accesa (minuti)
30 IF scale AND (luce.LUX < buio OR acceso = 1) THEN striscia ON : LET acceso = 1 : LET t = TIME()
40 IF acceso = 1 AND TIME() - t > minuti * 60000 THEN striscia OFF : LET acceso = 0
50 WAIT 200
60 GOTO 30こうなります: 昼間は動きがあってもテープはオフのまま、暗いときは動きでオンになり、最後の動きから2分後に消えます。シミュレーターでは、明るさのスライダーを低くして人感センサーをクリックします。
▶ IDE で開くシミュレーターでは、ハードウェアなしでロジックがすぐに動くのを確認できます。シミュレーターは配線をチェックしません。配線はボードで確認し、IDE の配線チェックが手順を案内します。
部品
コンパイラーがプログラムから部品を見つけます。各部品には専用のページがあり、全体を作る前に実行できるテスト用プログラムがあります。
- 人感センサーPIR センサーです。人の動きを検知すると 1 になります。
- BH1750 照度センサー明るさをルクス(lux)で測ります。夕暮れと昼の違いがわかります。
- MOSFET ドライバーボードのピンでオン・オフできるスイッチです。12 V のポンプ、ファン、バルブに使います。
- 12 V LED テープ白い LED が並んだテープで、全体が点灯か消灯のどちらかです。戸棚、棚、デスクライトなどに使います。
ESP32-S3 への配線方法
- SIG → ESP32-S3: GPIO2ピンがスイッチを閉じるタイミングを伝えます。負荷の電流はスイッチを通り、ボードには流れません。
- GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
- OUT → ESP32-S3: GPIO1
- VCC → ESP32-S3: 5V
- GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
- SDA → ESP32-S3: GPIO38センサーバス:すべての I2C モジュールがこの 2 本のピンを共有します
- SCL → ESP32-S3: GPIO39
- VCC → ESP32-S3: 3V3
- GND → ESP32-S3: GND共通グラウンド:この接続は必須です。
- striscia: + → interruttore: V+
- striscia: − → interruttore: OUT−
- 12 V 電源: − → interruttore: GND共通グラウンド:この接続は必須です。
- 12 V 電源: + → interruttore: V+電源は、すべての配線を確認してから最後につなぎます。
動かないとき
変更できること
どれだけ暗ければよいかは `buio`(10行目、ルクス単位)、点灯を続ける時間は `minuti`(20行目)で、どちらも IDE ではスライダーです。明るさセンサーは LED テープから離れた向きにしてください。階段の上にもう1つ人感センサーを付けるようアシスタントに頼めます。
対応するボード
- ESP32-S3 Freenove: 対応
- Nordic nRF54LM20 DK: いいえ:部品の1つがこのボードではまだ動きません
- Arduino UNO R4 WiFi: 対応