【ESP8266】2.2インチ ディスプレイILI9341にDHT22で湿温度と時計を表示する

この記事も古くESP8266でディスプレイILI9341にDHT22湿温度センサーを使って時計と湿温度を表示させています。未解決は曜日が表示できない。追加しました。

すでに1年ほど使用していますが結構使えます。

ケースはほぼ前面のみで、3Dプリンターで適当に作りました。

材料

自分の買ったところは主に海外通販のBanggoodやebay.comです。安いのでそちらのほうがオススメですが、面倒な場合は以下のアマゾンのページでも買えます。

2.2インチ ディスプレイILI9341

DHT22湿温度センサー

ESP8266

これとブレッドボードがあればテストできる。

2.2インチ ディスプレイILI9341を使えるようにする

ライブラリ インストール方法

各種ライブラリをインストールします。インストール方法は簡単で、以下から検索して該当ライブラリの「インストール」を押すだけ。

スケッチ > ライブラリのインクルード > ライブラリを管理

Adafruit GFX Library

Adafruit SSD1306をインストール

Adafruit SSD1306

以下のファイルを編集

C:\Users\go\Documents\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.h

以下の「//(コメントアウト)」を取り除いて有効にする。

このようにする↓

ディスプレイ

Adafruit_ILI9341

DHT22 温湿度センサー

DHT senser libraryをインストールした。

このままだと以下のようなエラーが出るのでAdafruit_Sensorインストール

Adafruit_Sensor

ライブラリないので手動でインストール

Common sensor library. Contribute to adafruit/Adafruit_Sensor development by creating an account on GitHub.

こちらからダウンロードして以下のようにZip形式のライブラリをインストールする。

配線

ディスプレイ

  • 9,SDO/MISO :  未使用
  • 8,LED :            3.3V
  • 7,SCK :            D5/DPIO14
  • 6,SDI/MOSI :   D7/GPIO13
  • 5,DC/RS :        D4/GPIO02
  • 4,RESET :        3.3V
  • 3,CS :              D1/GPIO5 D8/GPIO15に変更
  • 2,GND :           GND
  • 1,VCC :            Vin

DHT22 温湿度

  • Out : D6/GPIO12
  • + : 3.3V
  • –  : GND

4Pinのやつも買ったのでメモ、↓左から。

  1. + : 3.3V
  2. Out : D6/GPIO12
  3. 使わない
  4. –  : GND

ディスプレイに湿温度と時計を表示するスケッチ

time.hで曜日の取得方法がわからないのでこれから調べます。配列に入っているはずだけど?もしかしたら無い?はずないですよね。NTPサーバーから取ってくるデータなので。

というより、4連8×8ドットマトリクスLED時計で曜日あるので表示できるはずだけど、Arrayの中身がいまいちわからない。

こちらの配列みたい↑ 曜日追加できました。

BME280で温度・湿度・気圧取得 失敗したメモ

以下、失敗メモです。

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

スケッチ > ライブラリのインクルード > ライブラリを管理 SparkFun_BME280_Arduino_Library SparkFun_BME280_Arduino_Library  

Adafruit_BMP280

    https://robotzero.one/esp8266-and-bme280-temp-pressure-and-humidity-sensor-spi 試したけど、できなかった・・・

以下はループする

センサーが壊れてる???

タイマーで5分おきに温湿度を取得

MsTimer2

こんなエラーが・・・ESP8266では使えないらしい。

MsTimer2 library only works on AVR architecture

シェアする

  • このエントリーをはてなブックマークに追加

フォローする