はんだづけカフェ店長が前回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を使うための、基本的な使い方を解説しました。