アルディーノでダイニングの灯りも - Arduino, ESP-WROOM-02 ▲factory top


前回の 「アルディーノで居間の灯り」 で、ラズパイを司令塔にして複数のアルディーノをコントロールすると 「部屋のいろいろな灯りを ~ 同時に操作することが出来る」 と書きましたが、、

 

ボタン一つで灯りが連動すると、、便利でした(笑 2024 May

居間は明るいのに食卓コーナーは暗いのは何か落ち着きません。 その逆もしかりで、 居間は少し暗くしたのに食卓コーナーは明るいままなのも落ち着きません。 居間の明るさが自由に変えられるようになると、 食卓コーナーや台所など、 部屋の他のコーナーの明るさも合わせて変わって欲しくなります。

部屋の明るさは隅々まで同期してコントロールされるか、 周辺はメインより少し暗めだけどオフではない感じが良いように思えます。 ちなみに、メインはその時の居場所により居間だったり食卓だったりします。

さて、 これまでのダイニングの灯りは普通のLED照明です。 明るさは付属のリモコンで操作します。 なので、スマホで居間の明るさを変える度に、 わざわざダイニングのリモコンを操作する羽目になりました。 これでは面倒なので、ダイニングの灯りも作ることになりました。

そして、ボタン一つで灯りが連動するようになると、、便利でした。 これが当たり前になってしまいました。

これまでの灯り、普通のLED照明でした 今回作った灯り、拡散板をつける前の状態です
蛇足:元々は食卓はペンダントライトでしたが、 食卓の上をすっきりさせたく天井照明にしていました。

 

操作性の改善 2024 May 25

最初は白熱電球時代の調光器の感覚で、スライダーUIを使いましたが、 スライダーを動かすのが面倒なのと、 だいたい使用パターンが見えてきたので、 タッチするだけのお気楽ボタンUIにしました。 このボタンひと押しで居間とダイニングの明るさが変わります。 それぞれ調整したい時はスライダーUIを使います。 これらの改善は全てラズパイ側のコードで対応されます。

部屋の灯りタブ(旧) 部屋の灯りタブ(新)

Kitchen はまだ機能していません
この様な部屋の灯りのコントロールは、 アメリカ西海岸辺りでは Audio Visual 等のコントロールの一部として 専門にシステムを組んでくれる業者がいるようですね。 ボタン一つでカーテンが閉まり照明が暗くなり、 大きなスクリーンが下りてきて大音響で Audio Visual が楽しめる。 みたいな。

回路 2024 May 22

基本的に居間の灯りと同じですが、 居間の灯りを踏まえ部品点数を減らし簡素化しました。

最初は、居間の灯りの時の気付きで 3.3V は 48V を抵抗で電圧ドロップし 3.3V三端子へ給電しました。 ところが、いざ電源を入れてみると ESP-WROOM-02 がうまく起動しません。 検索してみると ESP-WROOM-02 はモジュール内の WiFi 回路が起動する際に 300mA 程度の電流が短時間流れるそうです。 定常電流の 80mA とこの突入電流で条件を満たす抵抗値は存在しない、 すなわち抵抗では実現できないことが分かりました。

定常消費電流 80mA で 3.3V三端子の耐圧 30V を超えない為には (48V-30V)/80mA=225Ω以上の抵抗値となります。
突入電流を 300mA として 3.3V三端子に 5V 程度の電圧を与えるには (48V-5V)/300mA=143Ω以下の抵抗値となります。
すなわち、条件を満たす抵抗値はありません。

まぁ、何ドロップであれ 48V から給電すると (48V-3.3V)x80mA=3.6W が熱になるわけで、省エネでありません。 結局今回も低電圧専用の AC-DC を使うことになりました。 さらに、レイアウトを決めてからこの事実が分かったので、 2つの AC-DC は親亀の上に子亀になってしまいました(笑。

リセット回路は ESP-WROOM-02 モジュール内のものを使うことにして、 外部の電源投入時リセット回路は省略しました。

 

製作 2024 May 27

居間の灯りよりは簡素化しました、大きな2つの抵抗は1.3Ωです (クリックで拡大)
ファンを取り付ける前です(クリックで拡大)
ファンを取り付けた状態です。 今回は天井の引掛けシーリングに取付けます(クリックで拡大)
暫定の拡散板にて、居間の灯りと(ほぼ)同じですね

 

部品

固定IPアドレスを一つ追加

ターゲット 固定IPアドレス MACアドレス 接続方法
RasPi http://192.168.1.6 b8:27:eb:4c:0a:14 SSID2 接続
Arduino(ESP-WROOM-02)居間 http://192.168.1.7 3C:61:05:D6:C3:D9 SSID2 接続
Arduino(ESP-WROOM-02)ダイニング http://192.168.1.8 3C:61:05:D5:90:30 SSID2 接続
Windows PC http://192.168.1.4 有線接続
※今回追加

 

ソフトウェア 2024 May 24

アルディーノのコードは、基本的に居間のアルディーノと同じです。
「アルディーノで居間の灯り」→ ソフトウェア

両者の違いは、識別子とIPアドレスの2点だけです。
  • 識別子(名称)
    壁のスイッチで電源を切られると設定されていた明るさデータも消えます。 そこで起動時にラズパイに前回の設定値を毎回問い合わせます。 その際に自分はどの照明かを伝える為の名称が違います。
      Serial.println("\nconnected and request initial data.");
      // 初期値リクエストコマンド送信
      //client.write("lightL\nstart\n.\n.\n.", 19);
      client.write("lightD\nstart\n.\n.\n.", 19);
      //client.write("lightK\nstart\n.\n.\n.", 19);
    

  • IPアドレス
    アルディーノチップのMACアドレスが異なり、 ルーターが割り当てる固定IPアドレスが違います。
一方、ラズパイ側のコードには幾つかの改善が入りました。
ラズパイのコードは GitHub へ。

 

開発環境「スケッチ」からエラーが

久々にスケッチを起動しコンパイル&ロードしている内にシリアルポートからエラーが。
A fatal esptool.py error occurred: could not open port 'COM3':
PermissionError(13, '~文字化け~', None, 5)

動作していたシリアルポート番号ではアクセス出来ないと言われます。 この辺りの仕組みはよく知らないので検索し以下の指南に従いました。 エラーが出たら新しいポート名にするという回避策で、 エラーの原因や解決にはなりませんが、、まぁ、これで良しです。

  • Windows Device Manager より、項目「ポート(COMとLPT)」で、 エラーの出るポートを右クリ
  • プロパティ → ポートの設定 → 詳細設定、を選択
  • ポート番号(選択)プルダウンメニューから、空いているCOMポート番号を選択
  • OK で戻り、PC を再起動

 

今後の課題

拡散板を暫定のコンビニ袋ではなくちゃんとした拡散版にしたいのはもちろんですが、
居間にいて見渡せる空間は、 居間とダイニングに加え、 対面式の台所と廊下につながるコーナーがあります。 この部分の灯りも連動するときっと面白いと思いますが、 その辺はまたいずれ時間を作って、、