Raspberry Piで「I2C LCD Breakout」を使ってみた!

投稿者:

はんだづけカフェ店長が前回Arduinoで動かした「I2C接続の小型LCDボード」を、今回はRaspberry Piで使ってみました。「I2C接続の小型LCDボード」でできる事についてはこちらの記事をどうぞ。

なお、今回利用するRaspberry PiのOSはRaspbian “wheezy”です。Raspberry PiはType Bを、I2C接続の小型LCDボードは3.3V版を利用しました!

1.Raspberry Pi側での準備

まずは、Raspberry PiでI2C接続を行うための準備をします。

$ sudo vi /etc/modules

/etc/modulesを開いたら、ファイルの後ろに次の二行を付け加えて、保存します。

i2c-bcm2708
i2c-dev

次に、/etc/modprobe.d/raspi-blacklist.confを開き、"blacklist i2c-bcm2708"をコメントアウトします。(記述がない場合は必要ありません)

#blacklist i2c-bcm2708

ここまで終わったら、一旦Raspberry Piを再起動して設定を反映させます。再起動が終わったら、 i2c-toolsをインストールします。

$ sudo apt-get install i2c-tools

2.液晶の接続

液晶とRaspberry PiのGPIO端子を、以下のように接続します。5V版の基板を使っている方は、VDDを2pinに接続します。

XRST -> なし
VDD -> 1pin
GND -> 9pin
SDA -> 3pin
SCL -> 5pin

Raspberry PiのGPIO端子のピン配置については、こちらのページを参考にして下さい。

3.接続の確認

i2cdetectコマンドを使って、液晶が正しく検出されるかチェックします。

$ sudo i2cdetect 1

Raspberry Pi Type Bの256MBモデルでは、引数を0にします。

$ sudo i2cdetect 0

実行すると、以下のように表示されました。

$ sudo i2cdetect 1

WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3e --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

液晶のアドレスは、0x3eであることがわかりました。

4.コマンド送信

i2csetコマンドを使って、液晶にコマンドを送信します。まずは初期設定。秋月電子通商さんの商品ページに掲載されている、データシートを見ながらポチポチ打ち込みます。

$ sudo i2cset -y 1 0x3e 0 0x38 0x39 0x14 0x70 0x56 0x6c i
$ sudo i2cset -y 1 0x3e 0 0x38 0x0d 0x01 i

これで準備完了。画面右上にカーソルが出ればOKです。何か文字を表示させてみます。

$ sudo i2cset -y 1 0x3e 0x40 0x53 0x57 0x49 0x54 0x43 0x48 i

$ sudo i2cset -y 1 0x3e 0x00 0xc0 i #下段へ移動

$ sudo i2cset -y 1 0x3e 0x40 0x53 0x43 0x49 0x45 0x4e 0x43 0x45 i

無事、「SWITCH SCIENCE」と表示されれば成功です。

試作品を使ったので緑色ですが、 製品の基板は青色です。

画面をクリアしたい時は、

$ sudo i2cset -y 1 0x3e 0x00 0x01

とコマンドを打ちましょう。カーソルの移動などといった、これらのコマンドは、データシートの「Instruction Description」という所に掲載されていますので、参考にしてみてください。以上、Raspberry PiでI2C LCD Breakoutを使うための、基本的な使い方を解説しました。