なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

HDC1000温湿度センサーモジュールから温度と湿度を読み取る - Wifi温度湿度計の製作(9)

Posted by arms22 on 2016年10月15日 0  0

IMGP1291
さて今回は秋月電子の「HDC1000温湿度センサーモジュール」から温度と湿度を周期的に読み取って、シリアルポートに出力する方法を紹介しまします。ついでにESP-WROOM-02のVCC電圧も監視しちゃうよ。


HDC1000温湿度センサーモジュールの接続


秋月電子:HDC1000温湿度センサーモジュールピン配置図
HDC1000温湿度センサーモジュールのピン配置図

ESP-WROOM-02 vs HDC1000温湿度センサーモジュール
3.3V -> +V(1)
IO4 -> SDA(2)
IO5 -> SCL(3)
GND -> GND(5)

SDA/SCLのプルアップ抵抗はHDC1000温湿度センサーモジュール実装されているので追加不要です。RDYは今回使わないので未接続でOKです。ESP-WROOM-02を連続して動かしていると結構熱を持つので、センサーモジュールはできるだけESP-WROOM-02から離れた位置に実装するのが良いでしょう。


ライブラリのインストール

Adafruitが配布しているHDC1000用のライブラリをインストールします。

  1. Arduino IDEのライブラリマネージャー(ツール > ライブラリをインクルード > ライブラリを管理)を開く
  2. 検索フィルターに“hdc1000”を入力
  3. Adafruit_HDC1000_Libraryを選んでインストール


スケッチ

温度と湿度を読み出して露点温度を計算し温度・湿度・露点温度ついでにVcc電圧をシリアルポートに出力し、15秒間ディープスリープに入ります。以降、これを繰り返します。ESP.getVcc()でVcc電圧を読み取っています。単位はmV(3.3Vの場合、3300)なので1000で割ってシリアルに出力しています。Vcc電圧の読み取りには少しお作法が必要でsetup関数の前に以下の文を追加する必要があります。

ADC_MODE(ADC_VCC);



シリアルモニターを開いて、ボーレートを115200に設定すると以下のように表示されます。
※実際には下記表示とともにESP-WROOM-02が起動時に出力するメッセージが文字化けして表示されます。

Temperature: 23.33 Humidity: 49.27 Dew Point: 12.07 Vcc: 3.20


参考URL

HDC1000使用 温湿度センサーモジュール: 組立キット 秋月電子通商 電子部品 ネット通販
http://akizukidenshi.com/catalog/g/gM-08775/


ESPr Developer(ESP-WROOM-02開発ボード)
スイッチサイエンス
売り上げランキング: 85,465

Wifi温度湿度計の製作(8) - ソフトウェア開発環境を準備する。

Posted by arms22 on 2016年10月03日 2  0

Wifi温度湿度計のソフトウェア開発環境の構築手順について解説します。

Arduino IDEのインストール


ArduinoのウェブサイトでArduino IDEの最新バージョンをダウンロードします(記事執筆時点で1.6.12が最新)。

Arduino - Software
https://www.arduino.cc/en/Main/Software


ボードマネージャから Arduino core for ESP8266 WiFi chip をインストール

  • Arduino IDEを起動し初期設定を開きます(Arduino > Preferences…)
  • 「追加のボードマネージャのURL」に次のURLを入力します
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • メニューからボードマネージャを開いて(ツール > ボード > ボードマネージャ…)、”esp8266"を検索します
  • 見つかったesp8266を選択してインストールボタンを押します


ボードの設定

インストールが完了したらボードメニュー(ツール > ボード)から”Generic ESP8266 Module”を選択。ツールメニューに幾つかの項目が追加されるので下記のように設定します。

  • ボード: Generic ESP8266 Module
  • Flash Mode: QIO
  • Flash Frequency: 40MHz
  • CPU Frequency: 80MHz
  • Flash Size: 4M (3M SPIFFS)
  • Debug port: なし
  • Rest Method: ck
  • Upload Speed: 115200
  • シリアルポート:Wifi温度湿度計基板と接続されているポートを指定してください


USBシリアル変換モジュールの接続

IMGP1289
ESP-WROOM-02 vs USBシリアル変換モジュール
TXD --> RXD
RXD <-- TXD
GND <-> GND


スケッチの書き込み

void setup() {
 Serial.begin(115200);
 Serial.println("Hello esp8266 world!");
 ESP.deepSleep(30 * 1000 * 1000);
}

void loop() {
}

  1. 新しいスケッチ(ファイル > 新規ファイル)に上記コードを貼り付けます。
  2. MODEキーを押したままRSTキーを解除してESP-WROOM-02をUARTダウンロードモードで起動させます。
  3. スケッチの書き込みボタンを押します。

error: espcomm_upload_mem failed

と表示された場合、うまくUARTダウンロードモードで起動していないと考えられるので上記書き込み手順を再度実施してください。Arduino Unoと比べてコンパイル・書き込みに時間がかかります。

シリアルモニタを開いてボーレートを115200に設定します。30秒毎に下記メッセージがモニタ画面に表示されれば書き込み成功です。
Hello esp8266 world!



参考リンク

ESP-WROOM-02開発ボードをArduino IDEで開発する方法 - スイッチサイエンス
http://trac.switch-science.com/wiki/esp_dev_arduino_ide

Installation - ESP8266 Arduino Core
http://esp8266.github.io/Arduino/versions/2.3.0/doc/installing.html


ESPr Developer(ESP-WROOM-02開発ボード)
スイッチサイエンス
売り上げランキング: 85,465

該当の記事は見つかりませんでした。