【Arduino】 1602A+LCD ディスプレイモジュール

LESSON 024

1602A+LCD ディスプレイモジュールで文字を表示する。

  
1602Aとは、 1602 LCD ブラック IIC/ I2C / TWI/SPI シリアル インタフェース ボード モジュールと言います。
 
Arduino は I2C通信 を経由して LCD ディスプレイ を制御します。
  
  Arduino ⇔ 1602A ⇔ LCD ディスプレイ
  
○ I2C通信とは,1台のマスタ(Master)と1台または複数のスレーブ(Slave)との間をSCLとSDAの2本の線でパーティーライン状に接続​して通信します。
  I2C通信対応のセンサー等を用いることで、回路が簡素化できます。
  
  マスタとは  マスタ側からスレーブに対して送信や受信の指示
         マイコンボード(arduino)側
   
  スレーブとは I2Cに対応したセンサーやLCD ディスプレイモジュール側
         各スレーブは固定のスレーブアドレスがあります。    SDA Serial Data  データ用信号線
    SCL Serial Clock クロック用信号線

    Rp   プルアップ抵抗

   
○ LCD ディスプレイモジュールとArduinoの接続方法には2種類あります。
   
① LCD ディスプレイモジュールとArduinoをダイレクトに繋ぐ方式
 
② LCD ディスプレイモジュールとArduinoの間にシリアル インタフェース ボード モジュールを経由する方式
 

 があります。今回は②について制御します。

 

      
目 次

    • 構成部品
    • 配線図
    • スケッチ
    • 解説
    • 結果
    • まとめ
       
構成部品

Arduino​
USBケーブル​
ブレッドボード​
LCDディスプレイモジュール + 1602A
         
配線図   
  
                  
     可変抵抗は液晶パネルのコントラスト調整用
  
   
スケッチ《 test019》   
   
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
  lcd.init(); 
  lcd.backlight();
}
void loop(){
  lcd.setCursor(0, 0);
  lcd.print("Hello, World!");
  lcd.setCursor(5, 1);
  lcd.print("Arduino");
  delay(2000);
  lcd.clear(); 
  lcd.setCursor(17, 0);
  lcd.print("Hello");   
  lcd.setCursor(18, 1);
  lcd.print("ABC");
  for (int i=0; i<22; i++) {
     lcd.scrollDisplayLeft();
     delay(800);
  }
}

  
解説
#include <LiquidCrystal_I2C.h>
 
 Arduino IDE に LiquidCrystal_I2C.h が インクルードされてなければ、
 
 LiquidCrystal_I2C.h (LiquidCrystal_I2C-1.1.2.zip)をダウンロードして下さい。
 
 .ZIP形式のライブラリをインストール をクリックし上記のファイルを選択しインストールして下さい。

  
LiquidCrystal_I2C lcd(sa,cols,rows);
    パラメーター
       sa:スレーブアドレス
       enable:LCDのイネーブルピンに接続されているArduinoピンの番号
       LCDは4本のデータライン(d4、d5、d6、d7)のみを使用して制御
     

  • void setup()

    lcd.init();
       ディスプレイの初期化

    lcd.backlight();
       バックライトON

  • void loop()

    LESSON 023 と同じ 
       

       
  

まとめ

○ マイコンボードのArduino Uno や Raspberry Pi にモニターがないため、パソコンに 接続している時は必要は情報は得られますが、マイコンボード単独で動かすと情報が得られません。よって、このLCD ディスプレイを用いる事で、簡単な情報を得ることが出来ます。そして、I2C通信を利用することで、回路が簡単になります。
          
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。

目次