ESP8266 Development Board DHT11&OLED付き

ちょっと中休みというか、また妙なものを買って対応に困ってるのでメモ。

 

何となく、今さらESP-12FにDHT11がくっついたボードを購入。

 https://www.banggood.com/ESP8266-IoT-Development-Board-DHT11-Temperature-and-Humidity-Yellow-Blue-OLED-Display-SDK-Programming-Wifi-Module-p-1471313.html?rmmds=myorder&cur_warehouse=CN

 

あとでAliExpressで検索したら、どうも何かの教材だったらしい。

 https://www.aliexpress.com/item/32974689009.html?ESP8266 Internet of Things Development Board SDK Programming Video Full Course Wifi Module Small System Board

詳細がどこにもないので、ここにある回路図が役に立った。

 

試しにUSB接続したけど、LEDは点灯しても何も起きない。

これはやっぱり自力でプログラムを入れないとダメらしい。

しかし購入先には詳細もなければサンプルのコードもないので、ESP8266でDHT11を使ってる例を探し、以下のところを参照した。

 https://www.14core.com/wiring-dht11-dht22-with-oled-screen-on-esp8266-12e/

リンク先に必要なライブラリがあるので、それを入れて準備はOK。

プログラムをArduino IDEにコピペして、コンパイル。

ハードはNodeMCU 1.0を選択した。あとはデフォルト。

でもこれが一筋縄ではいかず、エラーが多発。

 

最初のエラーは「#include "ESP8266WiFi.h"」の位置だった。

以下に書いてあるのを見つけて、その通りにしたら本当に治った。

 https://github.com/esp8266/Arduino/issues/798

そういえば、以前も似たような症状になったことがあったな。忘れてたけど。

 

その次には良くあるエラー。

 arduino error: expected '}' at end of input

単純に、「}」がひとつ足りなかった。

「void loop() {」の前に「}」を入れたらコンパイルが通った。

 

次に、コンパイルしたものの、シリアルモニタで確認したら出てきたエラー。

 Failed to read from DHT sensor!

これはDHTの接続が違っていたため。

回路図を見ながら(でも解像度が悪いので大変だった)、

 #define DHTPIN 5

に書き換えたら接続できた。

シリアルモニタで再度確認、ちゃんと計測してるのがわかる。

これで動作は問題なさそうなのがわかった。

というわけで、あとはOLEDに表示されない問題。

まためんどくさいことをやってるので、一旦ここで区切る。(続きあるかなあ…)

Sponsered Link

コメント