- 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アダプターの利用)
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3f,16,2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Hello, world!"); } void loop(){ } |
このままでは,動きませんので以下のヘッダーをインクルードをしましょう!
ヘッダーのインクルード
#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はこちら!
電子工作モジュールはセットで買った方がお得です.
脳波、波で、送信に乗せて、チップとチップの間を行き来出来るんですか?。
脳波、波で、送信波に乗せて、チップとチップの間を行き来出るんですか?。