こんにちは!こんばんは!
ちゃとらです(・ω・)/
今回は、LCD(I2C)に文字を表示させる方法について解説します。
I2C通信方式なので、配線が楽かつプログラムも難なく作ることができます。
図も交えながら分かりやすく解説していきますよ!
今回扱うLCD

LCDの種類 | Grove LCD(文字:白, バックライト:青) |
値段 | 1200円程 |
生産国 | 中国 |
サイズ | 4.00 x 8.00 x 1.30 cm |
通信規格 | I2C |
seeed社が製造しているLCDで、僕は札幌の電子部品専門店で1200円ぐらいで購入しました。
通信規格がI2Cなので、パラレル通信タイプのLCDよりも配線数が少なく簡単に回路を組むことが可能です。
物によっては文字の色・バックライトの色が赤だったり黒だったり様々です。
通販では「スイッチサイエンス」や「秋月電子」などで売られています。
LCDについて
LCDとは
何回かLCDと出てきていますが、LCDとは何なのでしょうか?
LCDとは、Liquid Crystal Displayの略で、液晶を使ったディスプレイ装置の総称。「液晶ディスプレイ」と同義であり、低消費電力で薄くて軽いFPDの一種。
液晶パネルは、2枚のガラス基板の間に液晶を封入したもので、電圧の有無により液晶分子の向きが変わり、光の透過率が増減することで画像を表示する。液晶自体は発光しないため、外光の反射を利用する反射型と、バックライトの光を使う透過型がある。
液晶の種類により、TN液晶やSTN液晶などの単純マトリクス方式と、TFT液晶などのアクティブマトリクス方式がある。TV用や、パソコンなどのモニタ用に広く普及している。
引用元:モノシリ|LCDの解説 – 製造業技術用語
要はLCDとは液晶のことです。
ここでは、小型ディスプレイだと思ってくれたらOKです。
I2Cとは
今回使うLCDはI2Cという通信規格ですが、具体的にI2Cって何なのでしょうか?
I2Cはフィリップス社が提唱するシリアルバス(通信インターフェイス)です。日本語の読み方は 「アイ・アイ・シー」「アイスクエアド・シー」が正しいそうですが、表記上「I2C」と表記されることが多く「アイ・ツー・シー」とも呼ばれています。
I2Cは同じ基板内での近い距離で直結したデバイスと100kbpsまたは400kbpsの速度でシリアル通信を行うのが主で、離れた装置間の通信には向いていません。
I2Cは1つのマスターで複数のスレーブデバイスと通信することが可能な為、省配線や省スペース化が容易に実現可能です。
引用元:I2C(Inter-Integrated Circuit)とは|東阪電子機器株式会社
要はI2Cとは、1つのマスター(親機)と多くのスレーブ(子機)で通信可能な通信規格であり、比較的少ない配線数で接続できますが、通信速度が遅く遠距離の通信には向いていません。
以下の図はI2Cの参考図です。

親機のSDA(データの送受信)とSCL(クロック信号)を各子機のSDAとSCLに並列的に対応させればよいので、多くの機器とのデータ送受信が可能で配線数が少なく簡単に回路を組むことができます。
しかし、各機器は並列で接続され機器同士のやり取りが遅くなってしまうので、他の通信方式と比較すると通信速度は遅くなってしまいます。
最近では「マスタ・スレーブ方式」という物騒な名前で呼ばれつつありますが、「コントローラ・ターゲット方式」と名付けようという提案もあるようです。
使い方
以下の手順でArduinoを使ってLCDに文字を表示させます。
- 「GROVE – LCD RGB Backlignt」ライブラリをインストールする
- ArduinoとLCDを接続する
- プログラムを書いて実行する
配線数が少なくかつライブラリを使ってプログラムを書くので、かなり簡単にディスプレイ表示させることができます。
手順を1つ1つ紹介しますが、Arduino IDEはインストールされていることを前提として話を進めて行きます。
Arduino IDEをまだインストールしていない人は以下の記事を参考にしてください!

ライブラリをインストール
まずは、ライブラリをインストールをします。
今回は「rgb_lcd.h」を使用したいので、「GROVE – LCD RGB Backlignt」というライブラリをインストールします。
ライブラリを使わなくてもLCDを動かすことができますが、めちゃくちゃ苦労します。
楽できるツールはどんどん使っていきましょう!
Arduino IDEを開き「ツール」→「ライブラリを管理…」を選択し、ライブラリマネージャで「GROVE – LCD RGB Backlignt」と検索しライブラリをインストールしましょう。
枠内の右下に出てくる「インストール」ボタンをクリックすればインストールできます。


接続
次に接続ですが、以下のように配線すればOKです。
Grove LCD | Arduino |
GND | GND |
VCC | 5V |
SDA | A4(SDAピンでも可) |
SCL | A5(SCLピンでも可) |


LCDの「SDA,SCL」はArduinoの「A4,A5」もしくは「SDA,SCL」に接続しましょう。
プログラムを書いて実行
では、以下のプログラムをArduinoに書き込んで文字を表示させてみましょう!
#include "rgb_lcd.h"
rgb_lcd lcd; // lcdの様々な機能を使用可能にするためのオブジェクト作成
void setup()
{
lcd.begin(16, 2); // 2行16列全てのマスを使用すると設定
lcd.setCursor(3, 0); // カーソルを1行4列目に移動させる
lcd.print("Grove LCD");
lcd.setCursor(4, 1); // カーソルを2行5列目に移動させる
lcd.print("Display!");
}
void loop()
{
}


このようにして、画面に文字を表示させることができます。
他の機能としては、文字を点滅させる機能やスクロールさせる機能などがあります。
「GROVE – LCD RGB Backlignt」のスケッチ例に様々なサンプルがあるので、色々試すことができます。
まとめ
やってみると結構簡単にできますよ!
今回はここまでです。
ちゃとら(・ω・)/