読者です 読者をやめる 読者になる 読者になる

esp-wroom-02でLCD(I2C)ディスプレイを使う

・目的

  esp-wroom-02を使いLCDディスプレイにHello worldを表示させる

 

・使用したもの

   esp-wroom-02

 

ESP-WROOM-02ピッチ変換済みモジュール《T型》

ESP-WROOM-02ピッチ変換済みモジュール《T型》

 

 

   STNキャラクタ液晶(16x2) [1602A-V2]

 

 

   液晶I/Fモジュール(I2C) [IFB-I2C-8574]

 

キャラクタLCD(1602LCD)用I2C変換モジュール

キャラクタLCD(1602LCD)用I2C変換モジュール

 

 

   単三乾電池

   ノートパソコン

   ブレッドボード

   ジャンパワイヤ

 

 

・方法

  (1)回路を組みたてる

     Esp-wroom-02は電源電圧が3V、ディスプレイは電源電圧が5V

                  となっていることに注意すること。I/FモジュールのSDAを

                  デジタルピン12に、SCLを12に接続。

                  図1に回路図を示した。(但し1602A-V2とIFB-I2C-8574の図が

     見つからなかったので他のもので代用して図1の回路図を描いた。)

     

f:id:shangtian:20170407090352p:plain

 図1:ダウンロードモード

    (2)I2Cアドレスを確認

     LCDディスプレイを使用するにはI2Cアドレスを

     調べる必要が有ります。詳しくは以下の記事(方法(3))

     に載っています。

shangtian.hatenablog.com

    

 

  (3)プログラム

       プログラムコードを図2に示した。esp-wroom-02にプログラム

                 を書き込むときは、ダウンロードモードにする必要がある。

                 図1の回路を組んだ後、RSTからGNDをジャンパワイヤで

                 接続し、引き抜くことでモードの変更が可能になる。

                 この作業を行わないとプログラムを書き込むときにエラー

                 が発生するので注意が必要だ。

 

 

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define SDA 12 //SDAの接続先をD12ピンに設定
#define SCL 13 //SCLの接続先をD13ピンに設定

LiquidCrystal_I2C lcd(0x3F,16,2); //I2Cアドレス入力
void setup()
{
  Wire.begin(SDA,SCL);//I2C通信で使用するピンを設定
  lcd.init();
  lcd.backlight();
  lcd.print("Hello World");
  
}
 
 
void loop() {

}
 

図2:プログラムコード

  (4)プログラム実行

    プログラムを実行するときは回路を少し組み替える必要がある。

    図3を参照。赤丸で囲まれているように、ジャンパワイヤを組み

    RSTからGNDにジャンパワイヤをつなげて抜くことでesp-wroom-02

              は実行モードに変更できる。

 

f:id:shangtian:20170407092600p:plain

図3:実行モード

 

 

・結果

  うまくいくと図4の写真のようになる。

f:id:shangtian:20170407092445j:plain

図4:こんにちは

<参考文献>

ESP8266 と I2C | macsbug