Raspberry Piでi2c接続のHD44780 キャラクタLCDモジュールを使う

rpi-lcd-eyecatch

概要

Raspberry PiのGPIOピンとキャラクタLCDモジュールをつないで、Pythonプログラムで文字を表示させるまでを紹介します。

必要なもの

  1. ネットワークに接続可能なRaspberry Pi
  2. メス - メスジャンパワイヤ4本
  3. i2cインターフェースボード付きキャラクタLCDモジュール

必要ソフトウェア導入

1. TheRaspberryPiGuy氏の配布しているLCD制御プログラムをインストールします

※install.shを実行すると、自動的にLCDを利用する準備を行って、Raspberry Piを再起動させます。

git clone https://github.com/the-raspberry-pi-guy/lcd.git
cd lcd/
sudo sh install.sh

※デモプログラムの実行がうまくいかない場合、追加で下記手順を実施します。

2. raspi-config -> Interfacing Options -> I2Cと進み、有効化

raspi-config

3. i2c-tools, python-smbus, libi2c-devをインストールします

sudo apt-get install i2c-tools python-smbus libi2c-dev

4. i2c-bcm2708をロードします

sudo modprobe i2c-bcm2708

5. i2c-devをロードします

sudo modprobe i2c-dev

ワイヤリング

・i2cインターフェースボードとRaspberry Piをそれぞれ下記のようにジャンパワイヤでつなぎます。
今回利用するRaspberry Pi側GPIOピンは、全世代のRaspberry Piで共通です。

※LCDの種類により、5Vと3.3Vを適宜変えてください。
 LCDに対応していない電圧を流すと故障の原因になります。

i2cボード Raspberry Pi
GND - PIN6(GND)
VCC - PIN4(5V)
SDA - PIN3(GPIO2)
SCL - PIN5(GPIO3)

GPIO配線

デモプログラムの実行

LCD表示テスト(Ctrl + cで停止)

python demo_lcd.py

時間表示プログラム(Ctrl + cで停止)

python demo_clock.py

テキストスクロールデモ(Ctrl + cで停止)

python demo_scrolling_text.py

※各デモプログラムでエラーが発生する場合、[i2cdetect -y 1]でLCDモジュールのアドレスを探して、lcddriver.pyのADDRESSの箇所を書き換えてください。

lcd-module-demo

デモプログラムの表示ができたら、任意のデモプログラムをコピーしてオリジナルのものを作ってみましょう!

参考サイト

GitHub:the-raspberry-pi-guy/lcd
https://github.com/the-raspberry-pi-guy/lcd