2015年08月24日

ESP8266+Arduino IDE+I2C+ST7032液晶ディスプレイを使う

esp826605-01.jpg

ESP8266(WROOM-02)がArduino IDEで動くようになりましたので、手始めにキャラクタ液晶をつないでみました。

使ったのは、以前Arduino Pro Miniで使用した、aitendoの激安液晶です。
ソフトウェアも、同じく

I2C液晶のArduinoライブラリ – ST7032 | オレ工房

を使わせていただきました。

ライブラリ(ST7032.cpp)は微小な修正が必要でした。
このファイルは、ドキュメントフォルダの中の

 Arduino\libraries\arduino_ST7032-master\ST7032.cpp

に格納されています。

修正は、ST7032.cppの30行過ぎのあたり、以下の赤い部分を追加しました。
#include "ST7032.h"
#include "Arduino.h"
#include <Wire.h>
#if defined(__AVR__)
#include <avr/pgmspace.h>
#endif


配線は、下図のようになります。
これはこちらの回路からの差分です。
Arduinoのスケッチ書き込みに必要な回路は省略しています。
esp826605-02.png


以上で、上記のST7032ライブラリに付属しているサンプルスケッチが動作しました。

なお、上の配線はI2CのSDA・SCLがそれぞれIO4・IO5になっていますが、このマッピングはESP8266のボードによって異なります。
今回は、Arduinoe IDEのボードメニューから"Generic ESP8266 Module"を選択しており、このボードでのピン配置に従います。

このピン配置の情報は、先日Arduino IDEに追加したボード情報の中で記述されています。
ファイルは、
 %USERPROFILE%\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\variants\generic

というフォルダの中の"pins_arduino.h"です。
(%USERPROFILE%には、"C:\Users\ユーザ名"が入ります。
また、"1.6.5-947-g39819f0"の部分はIDEのバージョンによって変わってきそうです。)

このファイルでは、I2CおよびSPIのピン配置が以下のように定義されています。

static const uint8_t SDA = 4;
static const uint8_t SCL = 5;

static const uint8_t SS = 15;
static const uint8_t MOSI = 13;
static const uint8_t MISO = 12;
static const uint8_t SCK = 14;

static const uint8_t BUILTIN_LED = 1;

static const uint8_t A0 = 17;


ちなみに、Generic以外に定義されているボードは、現時点では

adafruit
nodemcu
thing
wifio

の4つでした。


なお「thing」はSparkfunの出しているESP8266ボードですが、このボードの解説ページ(以下のリンク)は分かりやすくて良いと思います。

ESP8266 Thing Hookup Guide - learn.sparkfun.com

ESP8266でArduinoを動かす場合、簡単なスケッチでもファイルサイズは200KB超と結構大きなものができてきますが、上の解説によると、WiFiや通信機能を動作させるために、裏で行う様々な処理のためのコードが含まれているそうです。
posted by boochow at 01:36| Comment(0) | ESP8266/ESP32 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
人気記事