ゆるく楽しむプログラミング
> トップページ > 天気予報 > M5Stackで天気予報表示

天気予報と温湿度表示

M5Stackで作成した『天気予報表示』とTWELITEを使った『屋外温度表示』を合体して一つのガジェットにしてみました。
更に、室内温湿度と気圧表示、チャイムを追加しており、更に雨降り警報器も合体予定です。

使用デバイス
FeatherWing - 3.5インチ 480 x 320 タッチスクリーンTFT
Adafruit ESP32 Feather Board
BME280
TWELITE DIP / TWELITE PAL
圧電スピーカー
ユニバーサル基板

FeatherWing - 3.5インチ 480 x 320 タッチスクリーンTFT

TFT コントローラ HX8357
SPI MODE 0 / MSB First

コマンド一覧

コマンド パラメタ 動作
0x01 SOFTWARE RESET
0x11 Sleep Out
0x13 NomalDisplayMode
0x20 Display Inversion Off
0x28 Display OFF
0x29 Display ON
0x36 1Byte スキャン方向
0x3A 0x05 16Bit 5-6-5 Mode ⇒
0xB4 0x00 表示色反転モード
0xB6 0x15,0x02 フレームレート設定
コマンド パラメタ 動作
0x2A 0,startX,0,endX Colmun Address
0x2B 0,startY,0,endY Row Address
0x2C データ BitmapData

タッチスクリーン コントローラ TSC2007
 I2C アドレス 0x48~0x4B (ディフォルト 0x48)

 読み取り座標 (0,0)ー(4096,4096)  ペン圧 Z1,Z2:0~255
 ※ ただし、TFTの方が面積が小さいため、座標の有効読み取り範囲は (150,130)ー(3800,4000)
コマンド 動作
0xC0 X位置読み取り
0xD0 Y位置読み取り
0xE0 Z1位置読み取り
0xF0 Z2位置読み取り
読み出しコマンドで各12Bitの値が返る。

16Bitのデータに読み込みむには4BitのBitシフトが必要です。

Adafruit ESP32 Feather

FeatherWing - 3.5インチ 480 x 320 タッチスクリーンTFTにはめ込んで使用できるようになっています。


Adafruit ESP32 Featherから見たピン配置は▼です。
信号名 ピン番号 備考
SPI - SCK 5  
SPI - MOSI 18  
SPI - MISO 19  
TFT - CS 15  
TFT - DC 33  
SD - CS 14  
I2C - SCL 22 BME280のSCLに接続
I2C - SDA 23 BME280のSDAに接続
TS - IRQ 32  
U2RXD 16 TWELITE DIPのTXに接続
U2TXD 17 TWELITE DIPのRXに接続
SPEKER 21 圧電スピーカーに接続 

温湿度・気圧センサー BME280

湿度用のレジスタが増えている以外は BMP280 と同じです。
秋月電子で購入したBME280ユニットはディフォルトではSPI接続なので、ジャンパーを変更してI2Cインターフェイスにしています。

レジスタ名 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
湿度LSB 0xFE 湿度LSB<7:0>
湿度MSB 0xFD 湿度MSB<7:0>
気温XLSB 0xFC 気温XLSB<7:4> 0 0 0 0
気温LSB 0xFB 気温LSB<7:0>
気温MSB 0xFA 気温MSB<7:0>
気圧XLSB 0xF9 気圧XLSB<7:4> 0 0 0 0
気圧LSB 0xF8 気圧LSB<7:0>
気圧MSB 0xF7 気圧MSB<7:0>
CONFIG 0xF5
CNTL_MEAS 0xF4 気温オーバーサンプリング[2:0] 気圧オーバーサンプリング[2:0] 動作モード[1:0]
STATUS 0xF3 計測状態 レジスタ状態
RESET 0xE0 リセット[7:0]
ID 0xD0 チップID[7:0]
補正値 0xA1~0x88 補正値データ 24Byte(12Word)

漢字表示 ~東雲フォントをSDカードから読み込み ~

東雲フォントをSDカードに入れてみた』と同じです。

お天気アイコン ~JPEG画像表示~

M5Stackで天気予報』と同じです。

天気予報情報読み込み

M5Stackで天気予報』と同じです。

ケースの3D形状データ



WatherFocustCASE.zip  ※STL形式の形状データ

スケッチとSDカードに入れて置くデータ(アイコン画像、気象区コード、プロパティファイル)


Adafruit ESP32 Featherのスケッチ
WeatherForecast-V2.zip


SDカードのルートフォルダにコピーしてください。
WeatherForecast.json のSSIDとPWDをご自宅の環境に合わせて変更してください。
気象区はスケッチ起動後にConfigから変更できます。
SD_CARD.zip

解説動画