LCD (Liquid Crystal Display) に文字列を表示する(WebIOPi 利用)

解説

「LCD (Liquid Crystal Display) の仕様書」および「Arduino のLiquidCrystalライブラリの実装」を参考に、Python言語による、WebIOPiを利用した、 LiquidCrystalクラス を作成しました。

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

5V動作のLCDを使用しました。
LCDのデータシートによると、動作電圧(Power Supply for Logic)は「4.5V~5.5V」とあるので、Raspberry Piの5V出力ピンより、LCDに5V入力します。
LCDのデータシートによると、信号電圧のHighLevel範囲(Input Voltage - H Level)は、「2.2V~入力電圧(5V)」とあるので、GPIOの出力電圧が3.3VのRaspberry Pi のGPIO出力をそのままLCDに入力して動作します。

部品表

部品名 数量 商品名 参考価格
LCD 1 超小型LCDキャラクタディスプレイモジュール(16×2行バックライト・オレンジ)[SD1602HUOB(-XA-G-G)] 900円
100Ω抵抗 1 LCDに付属 -
10KΩ半固定抵抗器 1 半固定ボリューム10KΩ 10個200円
Raspberry Pi 3 1 Raspberry Pi 3 Model B 6,300円
ブレッドボード 1 EIC-801 250円
ジャンパーワイヤ 適量 ブレッドボード・ジャンパーコード(オス-オス)セット 100mm49個
150mm8個
200mm4個
250mm4個
のセット200円
ジャンパーワイヤ 適量 ジャンパーワイヤ(オス-メス) 10本300円

接続表

SC1602BBWB-XA-LB-G側 Raspberry Pi側
ピン番号 ピン名称 ピン名称
1 Vss GND
2 Vdd 5V
3 Vo 10KΩの半固定抵抗器を経由して5Vピンに接続
4 RS GPIO6
5 R/W GND
6 E GPIO5
7 DB0 無接続
8 DB1 無接続
9 DB2 無接続
10 DB3 無接続
11 DB4 GPIO22
12 DB5 GPIO27
13 DB6 GPIO17
14 DB7 GPIO4
 裏面J3 A 100Ωの抵抗器を経由して5Vピンに接続
 裏面R9 K  GND

接続例

WebIOPiのインストール

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

WebIOPiのインストール

クラスファイルの作成

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

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

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

WebIOPi サービスの設定の変更

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

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

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

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

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

実行

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

「Hello World!」と経過秒数がLCDに表示されます。
うまく表示されない場合は、半固定抵抗器のツマミを回して、コントラストを調整します。

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

ダウンロード

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