ESP-WROOM-02+ST7735
ESP-WROOM-02を使って1.8インチの液晶に絵を出すまでにハマりまくったので
忘れないうちにメモを書いておこう。
買ったものたち
いつもの如くアマゾンで部品を手配。
ESP-WROOM-02 32メガビット 品 4MB 技適取得済み お得な2個セット
[スイッチサイエンス] ESP-WROOM-02ピッチ変換用基板《フル版》(基板のみ)
Amazon.co.jp: HiLetgo 3.3V 5V MB102 ブレッドボード専用 パワー サプライ モジュール Arduinoと互換 [並行輸入品]: おもちゃ
とりあえず絵が出せた。
参考にしたサイトはいろいろあるけどこちら。
170321: ESP-WROOM-02+ST7735s | なんかしてるえかいくん
実にありがたい。
ついでに配線図も忘れないようにあげておく
ハマったポイント
・当初 IO0 のHi/Loだけがモード切替に関係していると思い込み、IO2、IO15の
配線をしていなかった為、うまく起動しなかった。
参考にしたサイトのこの図を見て間違いに気付くなど
・AdafruitのST7735ライブラリを最新の1.0.4に上げるが、コンパイルエラーとなる。
このページを参考に修正。
https://github.com/adafruit/Adafruit-ST7735-Library/issues/25
不思議なことにライブラリバージョン1.0.1では存在していたESP8266に関する部分が
1.0.4ではすっかり消えていた。
仕方ないので「Adafruit_ST7735.h」を直接編集して以下の部分を追加。
#elif defined(ESP8266)
volatile uint32_t *dataport, *clkport, *csport, *rsport;
uint32_t _cs, _rs, _rst, _sid, _sclk,
datapinmask, clkpinmask, cspinmask, rspinmask,
colstart, rowstart; // some displays need this changed
#endif
厄介だったのはとりあえずespの記述がある1.0.1で固定したいのだが
ArduinoIDEのライブラリマネージャーが、勝手に更新走らせるので
起動時に1.0.4のエラーが出るバージョンに書き換えられてしまうこと。
直接書き換えたのでなんとかなったけど、ちょっと焦った。
それとzipファイルから直接登録したライブラリの場所が当初表示されず
探し回った。
C:Users\[ユーザー名]\Documents\Arduino\libraries
にあるのだが、普段は表示されないっぽい。
・ST7735の配線が分からず探し回るなど。
こちらも参考にしたサイトの情報をもとに配線をする。
ST7735 -> ESP-WROOM-02
(A0 → IO4
RST → IO5
CS → IO16
SDA → IO13
SCLK → IO14
ST7735のライブラリにある、サンプルスケッチもこの配置に修正した。
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
// For the breakout, you can use any 2 or 3 pins
// These pins will also work for the 1.8" TFT shield
#define TFT_CS 16
#define TFT_RST 5 // you can also connect this to the Arduino reset
// in which case, set this #define pin to 0!
#define TFT_DC 4