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