Arduino,I2C通信により4本のケーブルでLCDを動かす!
この記事はこんな人にオススメです
  • Arduino初心者
  • LCDをつけてみたい人
  • 内側の仕組みを理解したい人

こんにちは.けんゆー(@kenyu0501_)です.
今日はArduinoでLCD(Liquid Crystal Display)を使っていきます!
日本語でいうと液晶表示ディスプレイですね.

実は,KUMANの電子工作キットに入っていたLCDはI2C通信モジュールがもともと備えつけられていました!
(IIC/12C/TWI 1602 Serial LCD Module)

I2C通信によって,モニターとArduinoは4本のワイヤで接続が可能なのです!LCDだけだと接続するためにかなり多くのワイヤが必要ですが,それがすごく少なくてすみます.

このブログでは「Hello,World!」を最終ゴールに,I2C通信,接続方法,プログラムをそれぞれ解説していきます.

I2C (Inter-Integrated Circuit) とは!?

I2Cとは,シリアル通信の方法の1つです.
シリアルとは直列の意味で,この伝送方法では,相手側に伝えたいデータを1bitずつ順番に送ることになります.

今回は,LCDを動かす際に用いるのです.

I2C通信のメリット

メリットは,LCDの回路を組む際にワイヤ数を減らすことができます.

理由は,2本のバスライン(SDA,SCL)のみのデータ通信が可能な点です.

上図はこちらのサイトから参考にしました
(参考:新人エンジニアの赤面ブログ「通信って?不思議の国のアクノリッジ〜前編〜」

詳しくは上記サイトに載っていますので参考にしてみて下さい!

ArduinoとLCDの接続について

画像のように繋ぎます!
つなぐだけでは,「Hello, World!」は出てきませんが,とりあえず繋いでみましょう!

4本だけなのですごく簡単です!

もし仮に,画面が映らなかったら,まずはポテンショメータをドライバで回してコントラストを調整して下さい!

プログラミング

あとは,プログラムをArduinoに送るだけですが,ヘッダーをインストールする必要があります.

まずはプログラムです.
(参考:1602 I2Cアダプターの利用

このままでは,動きませんので以下のヘッダーをインクルードをしましょう!

ヘッダーのインクルード

#include <LiquidCrystal_I2C.h>を使えるようにするために,ちょっと一手間入ります.

こちらのgithubのページ(https://github.com/marcoschwartz/LiquidCrystal_I2C)からLiquidCrystal_I2C-master.zipを落としてきます.

落としたら,Arduino側で

「スケッチ」→「ライブラリをインクルード」→「.ZIP形式のライブラリをインストール」へと進んでさっき落としたファイルをZIP形式にして取り込んで下さい!!

ZIP形式に圧縮して下さいね!!!

そうすると,ヘッダー <LiquidCrystal_I2C.h> が使えます!!

これでArduino側にプログラムを送ると「Hello, world!」が表示されるはずです!

プログラムの lcd.print(“Hello, world!”); に好きな文字を入れると表示が可能になります!

使用した機器たちを紹介

今回使用したI2Cが付属されているLCDはこちら!

電子工作モジュールはセットで買った方がお得です.