RaspberryPi 入門 ‐I2C通信によるLCD表示

こんにちは!なかぢです。

さぁ、平成最後の年となる2018年も残すところ4日となりました。いかがお過ごしでしょうか?

この間、コンビニのくじ引きで、ディズニーくじがあってラストワン賞が欲しかったので、大人買いしてしまいました。。。

 

 

 

 

さてさて、今日のお題はI2C通信によるLCD表示ですが、そもそもI2Cとは?

I2Cとは?

クロックに同期させてデータの通信を行う同期式シリアル通信のひとつです。

R(RS-232Cとかありますが、その部類と同じような感じです。)
I2CはSPIと並んで,E2PROMやセンサとのデータ通信によく使われています。
I2Cでは,クロック(SCL),データ入出力(SDA)の2本の信号線を用いて通信します。

では、このI2Cを使って、LCD(ディスプレイ)に文字を表示させてみましょう!

使用するLCDは、こちらです。

 

 

 

 

 

これ自体は、1602 I2C Serial LCD Moduleというものになります。(たぶん商品名)

組み込み系などでは基本となりますが、部材やセンサーなどには、必ずデータシートと呼ばれる説明書みたいなものがあります。 購入した部材やセンサーなどに大体ついていますが、ない場合もあるのでなかった場合はググったり、お店の人に聞いてもらってください。(※これがないと、使い方がわかりません。。)

LCDのデータシートがググったら出てきたので貼っておきます。

https://opencircuit.nl/ProductInfo/1000061/I2C-LCD-interface.pdf

データシートを読みながら、参考になる配線をやってみるとこんな感じ

 

 

 

 

RaspberryPi側の設定は、I2C通信を有効にする必要があります。

 

 

 

 

インタフェースタブに、「I2C」があるので、それを有効にして一度再起動します。

再起動後に、配線が正しいかを確認するため

ターミナルを起動して次のように入力してEnterを押します。

「sudo i2cdetect 1」

なにかを聞かれるのでYと入力すると、正しくI2Cが結線されていれば

I2Cのベースアドレスが表示されます。

(写真上だと、「27」がI2Cのベースアドレスになります。)

 

 

 

 

次にLCDに表示するためのプログラムを作成します。

参考とさせていただいたサイトを貼っておきます。

https://terutakke.com/diary/1602-i2c-serial-lcd-modul/

このプログラムを実行すると・・・・

おぉ~!毎度おなじみの「Hello World!」ではありませんかw

一行出すのにこんなにプログラムを打つとは思ってもいませんでした。。。 奥が深い・・・

如何でしたでしょうか? だんだんと難しくなってはいますが、できないとは思わないですw

なぜかって? ほかの人も実現してるのだから自分でもできるって思ってるからですw (すげーポジティブwww)

ではでは、よい年を~。 なかぢでした。

 

About the author

なかぢ

Add Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

By なかぢ

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト

メタ情報