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 のサービスを終了するには、以下のコマンドを実行します。