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通信とは,1台のマスタ(Master)と1台または複数のスレーブ(Slave)との間をSCLとSDAの2本の線でパーティーライン状に接続して通信します。
I2C通信対応のセンサー等を用いることで、回路が簡素化できます。
マスタとは マスタ側からスレーブに対して送信や受信の指示
マイコンボード(arduino)側
スレーブとは I2Cに対応したセンサーやLCD ディスプレイモジュール側
各スレーブは固定のスレーブアドレスがあります。 SDA Serial Data データ用信号線
SCL Serial Clock クロック用信号線
SCL Serial Clock クロック用信号線
Rp プルアップ抵抗
○ LCD ディスプレイモジュールとArduinoの接続方法には2種類あります。
① LCD ディスプレイモジュールとArduinoをダイレクトに繋ぐ方式
② LCD ディスプレイモジュールとArduinoの間にシリアル インタフェース ボード モジュールを経由する方式
② LCD ディスプレイモジュールとArduinoの間にシリアル インタフェース ボード モジュールを経由する方式
があります。今回は②について制御します。
目 次
-
- 構成部品
- 配線図
- スケッチ
- 解説
- 結果
- まとめ
#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.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を参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。