「シリアル通信方式」で、文字を表示します。
シリアル通信とは「連続した(Serial)」という意味で、HIGHとLOWの連続したデータ
を1本の信号線を使って連続的にやり取りする方式です。
シリアル通信にはI2C通信やSPI通信、UART通信などがあるそうですが、今回はI2C(アイ・スクエアド・シー)通信です。
配線図
- SDA(黄線)をArduinoの SDA端子 に接続。
- SCL(緑線)をArduinoの SCL端子 に接続。
この回路図の作図には fritzing を利用させて頂いております。https://fritzing.org/home/
使用部品
- LCD 1602 Module(液晶ディスプレイ)・・・ (スターターキット:Amazon購入)
- シリアルインターフェースモジュール ・・・ (Amazon購入)
Arduino IDE
- 「スケッチ」>「ライブラリをインクルード」>「ライブラリを管理」を選択。
- ライブラリマネジャーに、「LiquidCrystal_I2C」と入力し、Enter。
- 「LiquidCrystal_I2C by Frank de Brabander」をインストールする。
- 「ファイル」>「開く」>「libraries」>「LiquidCrystal_I2C」>「examples」>「HelloWorld」>「HelloWorld」を開く。
- //Compatible with the Arduino IDE 1.0
- //Library version:1.1
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
- void setup()
- {
- lcd.init(); // initialize the lcd
- lcd.init();
- // Print a message to the LCD.
- lcd.backlight();
- lcd.setCursor(3,0);
- lcd.print(“Hello, world!”);
- lcd.setCursor(2,1);
- lcd.print(“Ywrobot Arduino!”);
- lcd.setCursor(0,2);
- lcd.print(“Arduino LCM IIC 2004”);
- lcd.setCursor(2,3);
- lcd.print(“Power By Ec-yuan!”);
- }
- void loop()
- {
- }
・LCD 1602 Module(液晶ディスプレイ)LCDディスプレイ】は16文字 x 2行表示のため、
6行目 LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display の(0x27,20,4) を(0x27,16,2)に、
・18行~21行を削除。
・14行目 lcd.setCursor(3,0); の (3,0) を (0,0) に、
・16行目 lcd.setCursor(2,1); の (2,1) を (0,1) に、
書き変えて、スケッチをコンパイルする。
まとめ
- シリアルモニタに、1行目に 「Hello, world!」、2行目に 「Ywrobot Arduino!」の文字が表示されました。
- Arduino と LCD1602液晶ディスプレイ を I2C接続 できるシリアルインターフェースモジュール使って、文字を表示してみました。
- 「SCL」・「SDA」の2本の線でデータのやり取りでき、「パラレル通信」よりすごくシンプルな配線です。