キャラクタ液晶→Humble Pi→Raspberry Piのワイヤリング
キャラクタ液晶はいわゆる「HD44780互換」というありがちなものなので、きっと先達がPythonライブラリを作ってくれるだろうから、そっちは後回しにして、まずハードを繋ごう。
Humble PiはGPIOを番号順に並べてくれているのでとてもありがたい。
LCD | 16pin | 26pin | Pi Zero ヘッダー | コメント |
---|---|---|---|---|
VSS | 1 | 6 | GND | |
VDD | 2 | 2 | +5V | 10kΩ半固定抵抗入力 |
Vo | 3 | - | NC | 10kΩ 半固定抵抗センター |
Rs | 4 | 11 | GPIO17 | |
R/W | 5 | - | NC | LCD 1pinにジャンパー、半固定抵抗GND |
Enable | 6 | 12 | GPIO18 | |
DB0 | 7 | - | NC | |
DB1 | 8 | - | NC | |
DB2 | 9 | - | NC | |
DB3 | 10 | - | NC | |
DB4 | 11 | 22 | GPIO25 | |
DB5 | 12 | 18 | GPIO24 | |
DB6 | 13 | 16 | GPIO23 | |
DB7 | 14 | 15 | GPIO22 |
こんな感じ。間違っていても保証しません。
ドーターボード側で並んでいるヘッダにハンダ付けしやすいようにつないだだけなので、GPIOは適当に選んでください。
I2C接続であれば配線はもっとスマートだが、格安100円液晶だし、信号線はじゅうぶんZeroから出ているので、まあよし!
続いて、Pythonのライブラリをインストール。
キャラクタ液晶は、定石通り、Pythonで触るのがいいだろう。
キャラクタ液晶の制御ライブラリはAdafruitからも出ているらしいが、HD44780互換フルサポートで、パラレル(GPIO)とI2C両方に対応したRPLCDを選択。
Pythonが動作する環境で、管理者権限で以下を実行してインストール。
pip install RPLCD
ご参考:
GitHub - dbrgn/RPLCD: A Raspberry Pi LCD library for the widely used Hitachi HD44780 controller, written in Python. GPIO (parallel) and I²C modes supported.
Welcome to RPLCD’s documentation! — RPLCD 1.3.0 documentation
素振り。
実は紆余曲折あったのだが、それはそれとして、
import RPi.GPIO as GPIO import time from RPLCD import CharLCD lcd = CharLCD(pin_rs = 17, pin_rw = None, pin_e = 18, pins_data = [25,24,23,22], numbering_mode = GPIO.BCM, cols=8, rows=2, dotsize=8) lcd.clear() lcd.write_string("dame shain")
てな具合で書けば、まずはテキストが表示されることが分かった。
lcd = CharLCD(pin_rs = 17, pin_rw = None, pin_e = 18, pins_data = [25,24,23,22], numbering_mode = GPIO.BCM, cols=8, rows=2, dotsize=8)
は、GPIO.BCM(GPIO番号で記述する方法)と、GPIO.BOARD(ヘッダの番号で記述)のどちらでもいいみたい。
16文字x1行の液晶は、中身が8文字x2行なので、そのように記載。
(つづく)