対応したLCDについて
- 対応したLCDはコントローラにST7789を使用したもので、こちらとかで購入できるものです。
- CS信号を省略することで7ピンのヘッダに収まるようになっています。解像度は240×240とOLEDの96×64に対して高いものとなっており、価格はOLEDより300円ほど安いようです。
プログラム対応について
- プログラム対応としては、ラズパイのSPIポートを2つ使うという、ちょっと勿体ない方法を採りました。(ハードウェア改造なしで対応するため)
- ハードウェアとしてはSPIポート(ポート0)のCS0信号がLCDのバックライト信号(BLK)に結線されるので、SPI通信で表示更新のタイミングでバックライトが点滅してしまうことになります。
- ので、表示用には別のSPIポート(ポート1)を使い、CS0信号ではなくCS1が変化するようにします。CS0信号はGPIOポートとして制御し、”H”レベル(バックライトON)としておきます。
- GitHub上のコードは、デフォルトのOLED(SSD1331)を使用する設定となっているので、config.iniの書き換えが必要(ST7789部分のコメントアウトを外す)となります。また、依存ライブラリ(luma.lcd)も修正しているので別途インストールが必要です。
- numpyなど、luma.lcdの依存ライブラリもインストールが必要だったりしますので、install.shの内容を参考にして下さい。(Raspbianインストール直後など、まっさらな状態なら、install.shを実行すればよい形になっています)
ピン番 | OLED | LCD |
1 | GND | GND |
2 | VCC | VCC |
3 | SCL | SCL |
4 | SDA | SDA |
5 | RES | RES |
6 | DC | DC |
7 | CS | BLK |
LCDの基板サイズが少し大きいので、下の写真のようにボード(RpiWiー001)から少しはみ出る格好になります。
近々、低コスト版(アンテナ、MicroSDを省いた最小セット)としてリリースすることを考えています。