ESP-IR+TPH Monitor

ESP-WROOM-02搭載 WiFi + 赤外線 + 温湿度気圧センサ プログラマブルホームIoT基板

主な特徴

WiFiマイコンモジュール ESP-WROOM-02搭載

WiFi内蔵のESP-WROOM-02マイコンモジュールを搭載しました。 別途WiFi用のモジュールを用意することなく、マイコンとインターネットを接続できます。 手軽にIoTデバイスの開発が可能です。 また、ESP-WROOM-02は世界的に人気の高いArduinoIDEで開発することができます。 既に様々なライブラリが用意されているので、簡単にHTTPアクセスやWebサーバーを実装できます。

温度、湿度、気圧センサー搭載可能

温度、湿度、気圧測定センサーを接続できます。センサーは高精度で、A/Dコンバーターを必要としない BME280に対応します。 コネクタから接続する形式なので、ケーブルを使えば離れた対象物の温度などを測定できます。

家電と連携できる赤外線送受信機能

赤外線送信機能によりエアコンやテレビなどの家電製品を制御できます。 赤外線LEDが1つだけだと向きが少しずれると通信できないことが多いですが、 縦/横方向2個搭載したことで、通信範囲が格段に改善されます。 赤外線受信機能もあるので、お使いの家電のリモコンのデータ解析や、 汎用リモコンを使ったリモート制御も実現できます。

microSDカードスロット付き

microSDカードスロットがついているので、大容量のデータを保存できます。 測定した温度などのデータをログとして残したり、インターネットから取得したデータなどを 保存しておくことができます。

Revisionの違いについて

Rev1.0で裏面に配置されていたトランジスタQ1をRev1.1より表面に配置しました。 Rev1.2でmicroSDスロットの型番を変更しました。 いずれのRevも回路に変更はなく、ソフトウェアも完全互換で動作します。

購入

1)ミニマムセット

基板とDCジャック、microSDスロットのみのセットです。 他の部品の調達、はんだ付けはご自身で行っていただく必要があります。
(購入) 公式通販
(購入) スイッチサイエンス

2) 完成品

既に部品一式を基板に実装したものとBME280センサーのセットになります。ケース、電源アダプタ、プログラム書き込み用USBシリアル変換モジュールは付属しません。
(購入) 公式通販
(購入) スイッチサイエンス

利用例

Arduino holder type UNO純正ケースにて動作中の様子です。基板の大きさはArduino UNOに合わせて 設計しているので、市販のArduino用ケースで運用することができます。 (Arduino holder type UNOケースはかなりきつめに設計されているので、強く押さないと入らない 場合がありますが、基板の不良ではありません。また、全ての市販ケースの対応を保証するものではありません。)

応用アプリケーション例

  • 温度、湿度、気圧ロガー
  • ペットや植物のためのエアコンを自動制御して室温を管理するシステム
  • 外出先から室内の温度チェック、帰宅前にエアコンをONするシステム
  • 高温時にエアコンを自動でONする熱中症防止機能
  • 就寝前にテレビやエアコンを自動でOFFする消し忘れ防止機能
  • スマホから各部屋の温度管理や、エアコンのコントロールをするスマートホーム機能
  • ブラウザから本ボードを制御する応用例 を紹介しています。

これらの応用例を実現するプログラム、機器は付属しません。 ご自身で準備していただく必要があります。

ブロックダイアグラム

使い方

開発環境、プログラム書き込み方法についてはこちらをご覧ください。

電源

1A以上の5V DC電源をお使いください。(電源は付属しません) 入力電圧は4.6V-6Vです。 DCジャックCON1はセンタープラスの2.1mmです。 推奨ACアダプタはこちら。 DCジャックを使わない場合は コネクタP4のVIN, GNDピンより給電することもできます。 DCジャックを使う場合はP4のVINは出力専用です。入力には使用しないでください。 ESP-WROOM-02, microSDなどに必要な3.3VはU2のレギュレータにより生成します。 P4の3V3端子は出力専用です。入力には使用しないでください。

LED1とSPI SCK

本ボードでは端子節約のため、LED1とSPI SCK信号が共通になっています。 SPIを使用するとLED1の状態が変わることがありますので、必要に応じて再度LED1を設定して下さい。

BME280モジュール接続端子

BME280センサーモジュール接続端子としてP2 (GY-BME280 用)、およびP3 (AE-BME280用) を用意しています。CS信号は共通なので、両方同時には使用できません。 また、BME280用CS信号(IO15)は起動モード設定のためプルダウンされています。 起動後はIO15を出力にしてHIGHに設定して下さい。また、ケーブルなどで端子配列を合わせれば他のSPI通信モジュールもご使用いただけます。(例 : スイッチサイエンスBME280モジュール)

Deep Sleep

Deep Sleepモードからの復帰に使用できるよう、IO16はリセットピンに繋がっております。 特に追加の配線は必要ありません。

部品表

番号推奨部品コメント
U1ESP-WROOM-02WiFi内蔵ESP-WROOM-02モジュール
U2AZ1086H-3.3 / AMS1117-3.3SOT223パッケージ, 3.3VレギュレータIC
U3TSOP38238 / VS1838赤外線受光ユニット。3.3V電源対応、38kHzの物をご使用下さい。
Q12SD1781K / MMBT2222SOT23パッケージ赤外線LED駆動用NPNトランジスタです。500mA程度の電流が流れるので、 大電流に対応したものを推奨します。
LED1LED緑GPIOから制御できるLEDです。High出力時にONになります。SPIクロックと共通ですので、 SPI使用後は再度設定する必要があります。
LED2LED黄赤外線送信中を示すLEDです。赤外線LEDは電流が大きいので、設定ミスなどで常にON になっていると部品を痛める恐れがあります。このLEDが点灯し続けている場合は プログラムを終了して見直して下さい。
LED3, LED4赤外線LED赤外線送信LEDです。
P11x3pinヘッダPCとシリアル通信するためのコネクタです。SERIAL_TX, SERIAL_RX, GNDをそれぞれ USBシリアル変換モジュールの対応ピンに接続して下さい。3.3V信号に対応したものをお使いください。
P21x6pinソケットセンサーモジュール GY-BME280 を接続するためのコネクタです。P3とは併用できません。 モジュールご購入の際にピン配置が合っているかご確認下さい。(6pinでVcc, GND, SCL, SDA, CSB, SDOの順)
P31x6pinソケットセンサーモジュール AE-BME280 を接続するためのコネクタです。P2とは併用できません。 AE-BME280側のジャンパは配線不要です。
P41x4pinヘッダVIN, 3V3, GNDのモニタと、TOUT入力用の端子です。 DCジャックを使わない場合は、ここのVIN, GND端子に電源をつないで使うことができます。 3V3は出力専用です。外部からの入力には使用しないでください。
J1microSDスロットmicroSDスロット取付用です。CardDetect信号はマイコンには配線されていません。
CON1DCジャック2.1mm センタープラス、5Vの物をご使用ください。推奨入力電圧は4.6V – 6Vです。
SW16mmタクトスイッチ赤リセットスイッチです。
SW26mmタクトスイッチ黒ユーザー入力スイッチです。また、SW2を押したままリセットするとESP-WROOM-02が プログラム書き込みモードで起動します。
C1, C347uFレギュレータ入力、および赤外線受光ユニットのコンデンサです。 白く印刷されている方がマイナス側です。
C2100uFレギュレータ出力のコンデンサです。 白く印刷されている方がマイナス側です。
R1200 / 220LED1用の抵抗です。
R25.1kIO15プルダウン用抵抗です。IO15はBME280のCS信号となっていますので、 起動後はOUTPUTにしてHIGHに設定して下さい。
R3, R4, R610kESP-WROOM-02のプルアップ抵抗です。
R51kESP-WROOM-02 EN端子のプルアップ抵抗です。
R10, R1110赤外線LEDの電流制限用抵抗です。電流を多く流さないと送信距離が短くなるため、 10オームを推奨します。
R12, R13300Q1のベース抵抗、LED2用の抵抗です。
R3047赤外線受光ユニットの抵抗です。

サンプルプログラム

2019/6/30追記 : 最新版のESP8266core2.5.2で BME280センサーのサンプルプログラムが動作しない現象を修正しました。

プログラム環境ESP8266core内容
infraredArduino2.5.2 / 2.5.0赤外線受信ユニットで受信したデータを表示し、さらに同じデータを赤外線LEDから 送信するArduino IDE用スケッチです。お使いの機器の赤外線データ解析や、制御に使うことができます。 対応フォーマットはNECとAEHAとなります。
bme280spiArduino2.5.2 / 2.5.0SPIで接続されたBME280センサーモジュールで温度、湿度、気圧を測定して シリアルモニタに表示するArduino IDE用スケッチです。
IR-TPH-ServerArduino2.5.2 / 2.5.0ESP-IR+TPH Monitorをブラウザから制御する応用例です。

回路図、関連資料

注意事項

  • 本製品または当サイトのサンプルプログラムを使用して発生した損害に対する補償は致しかねます。 当サイトの技術情報を読んでいただいた上で、ご自身の責任でご使用下さい。
  • P2, P3に取り付けるセンサーモジュールは端子、向きがあっていることを確認して接続してください。 誤った向きや適合しないモジュールを取り付けた場合、部品を痛めるおそれがあります。