概要
ESP32-WROOM-02の評価ボードとDHT20があったのでお試しで温湿度を計ってみた
配線
ESP32のほうにGrove端子をつなぐところがないので、コネクターをぶった切って連結ピンにはんだ付け。
↓こんなかんじ(GNDが外れてる。。)
配線は↓
シンプル
開発環境
とりまarduino IDEでやる
公式サイトからDLして適当にインスコ
久しぶりにIDEを開いてみるとおしゃれなUIになってダークモードに対応しておるな...僥倖僥倖
コードを書いてビルドからのボードに書き込みをしたいところなんだけど、
ESP32-WROOM-02へ書き込めるようにするためボードマネージャからパッケージをインスコしないといけない。
基本設定を開いて追加のボードマネージャのURLの部分に着目。
その行の一番右にあるウィンドウボタンを押すと
ボードマネージャのURLを張り付ける欄がでてくるので
http://arduino.esp8266.com/stable/package_esp8266com_index.json
https://dl.espressif.com/dl/package_esp32_index.json
を張り付けた。
OKを押して変更した基本設定を保存。そうすると何か読み込み処理が走るので完了するまでまつ。
その後、画面左のペインからボードマネージャを選択して、検索窓に「ESP」と入力する
そうすると、ESP8266というパッケージが検索されるので、それをインストールする。
(上の画像ではすでにインストール済)
インストールが終わったら適当なスケッチに
int count=0;
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("hello world! count=" + String(count++));
delay(1000);
}
と入力する。(hello world用のコード)
ESP32のボードがつながってるシリアルポート(COM1とか2とか)を調べて、
ボードとポートを選択する
ボードにはGeneric ESP8266 Module
を選択して、
ポートにはさっき調べたESP32のポートを選択する。からのOK
あとは書き込みボタンを押せば、ソースをビルドして書き込んでくれる
書き込みが完了したらツール>シリアルモニタ
でシリアル接続する。ボーレートを115200に変更することを忘れずに。
(変更しなかったら文字化けする)
これができたら
hello world! count=3
hello world! count=4
hello world! count=5
...
という感じで何度もhello worldがでてくるはず。
それで環境構築は完了
DHT20のライブラリ導入
温湿度センサー用のライブラリを導入する
左側のペインからライブラリを選択し、「DHT20」と入力。
すると、「DHT20」のライブラリがあるのでインストールする。
インストール処理が終わればOK.
温湿度取得サンプルの実行
ようやく温湿度をとるコードを実行できる。
実行するコードはこれを使う。
ほぼこれを使うんだけど、DHTはデフォルトでGPIO21,22を使うようだ。
今回は12と13なのでコードをちょっと修正する。
Wire.begin();
↓
Wire.begin(12,13);
これでOK。
あとはビルドして書き込めばOK
シリアルモニタを見ると、
Type Humidity (%) Temp (°C) Time (µs) Status Offset
DHT20 59.7 25.1 6527 OK -2.30 1.70
DHT20 59.7 25.1 6060 OK -2.30 1.70
DHT20 59.7 25.1 5043 OK -2.30 1.70
DHT20 59.7 25.1 6059 OK -2.30 1.70
DHT20 59.7 25.1 6069 OK -2.30 1.70
DHT20 59.7 25.1 6062 OK -2.30 1.70
DHT20 59.7 25.1 6064 OK -2.30 1.70
DHT20 59.7 25.1 6059 OK -2.30 1.70
DHT20 59.7 25.1 6064 OK -2.30 1.70
こんな表示があればOK