I2C接続のLCDに文字列を表示する(WebIOPi 利用)


解説

「I2C LCD の仕様書」に従い、Python言語による、WebIOPiを利用した、 I2CLiquidCrystalクラス を作成しました。

作成したI2CLiquidCrystalクラスを利用してI2CLCDに文字列を表示します。

秋月電子にて販売されている「Raspberry Pi キャラクタ液晶ディスプレイモジュールキット」を使用しました。
「Raspberry Pi キャラクタ液晶ディスプレイモジュールキット」は、I2C接続小型キャラクタLCD(AQM0802A)をRaspberry Piで使用する為にバスリピーターIC(PCA9515)を実装したRaspberry Pi用変換モジュールです。

部品表

部品名 数量 商品名 参考価格
Raspberry Pi キャラクタ液晶ディスプレイモジュールキット 1 Raspberry Pi キャラクタ液晶ディスプレイモジュールキット 820円
Raspberry Pi 3 1 Raspberry Pi 3 Model B 6,300円

接続表

Raspberry Pi
キャラクタ液晶
ディスプレイ
モジュールキット
Raspberry Pi側
ピン番号 ピン名称 ピン名称
1 RST GPIO17
2 GND GND
3 LED GPIO04
4 SCL GPIO03
5 SDA GPIO02
6 3V3 3V3

WebIOPiのインストール

Raspberry Pi にWebIOPiをインストールしてない場合は、まず、WebIOPiをインストールします。

WebIOPiのインストール

I2C通信の有効化

I2C通信を有効化していない場合は、SPI通信の有効化が必要です。

I2C通信の有効化

クラスファイルの作成

Python言語による、WebIOPiを利用した、 LiquidCrystalクラス を作成します。
「/home/pi/work/webiopi」フォルダに、「i2cliquidcrystal.py」というファイル名で、以下の内容のスクリプトファイルを作成します。

スクリプトファイルの作成

LCDに文字列を表示するスクリプトファイルを作成します。
「/home/pi/work/webiopi」フォルダに、「i2clcd_helloworld.py」というファイル名で、以下の内容のスクリプトファイルを作成します。

WebIOPi サービスの設定の変更

WebIOPi のサービスを開始したときに、作成したスクリプトが実行されるように、WebIOPi サービスの設定を変更します。

WebIOPi サービスの設定は、「/etc/webiopi/config」ファイルに記述されています。

以下のコマンドを実行し、「/etc/webiopi/config」ファイルを開きます。

[SCRIPTS] セクションを探し、[SCRIPTS] セクションの「myscript =」に、作成したスクリプトファイルを指定します。

編集し終えたら、
Ctrl + O
で上書き保存し、
Ctrl + X
で nano を終了します。

実行

WebIOPi のサービスを開始します。

「Hello Wo」(「Hello World!」の先頭8文字)と経過秒数がLCDに表示されます。

lcd_helloworld.pyで、バックライトを有効にした場合


lcd_helloworld.pyで、バックライトを無効にした場合

WebIOPi のサービスを終了するには、以下のコマンドを実行します。

ダウンロード

サンプルスクリプトファイル