液晶HATについて

240x240, 1.3inch IPS LCD display HAT for Raspberry Pi

商品説明
https://www.waveshare.com/1.3inch-lcd-hat.htm

ラズパイ表面上のGPIOピンと接続することでコンパクトな液晶デバイスになります。
表示にはSPI(Serial Peripheral Interface)機能を使用します。

作業を始める前の緒注意

  • 本項目実施前は、液晶HATは点灯しません。
  • あらかじめraspi-configよりラズパイのSPI機能を有効化しておく必要があります。

ドライバーのビルド

液晶HATを動作させるためのソフトウェアがインターネットで公開されています。

https://github.com/juj/fbcp-ili9341

実行コマンド

コンソール画面(またはSSH接続時)にて、以下のコマンドを順に実行します。

sudo apt-get install cmake
cd ~
git clone https://github.com/juj/fbcp-ili9341.git
cd fbcp-ili9341
mkdir build
cd build
cmake -DSPI_BUS_CLOCK_DIVISOR=6 -DWAVESHARE_ST7789VW_HAT=ON -DSTATISTICS=0 -DDISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING=ON ..

解説
「-DDISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING=ON」について
縦画面・横画面のアスペクト変更を任意に定義する意図で設定しました。
「fbcp-ili9341」は「横画面 4:3」のアスペクト比で固定されていて、デフォルト動作では液晶の上下に黒帯表示されますが
このオプション追加によって液晶の全画面にスケーリングする動作となります。

補足:アスペクト指定について

make -j
sudo install fbcp-ili9341 /usr/local/bin/fbcp-ili9341


設定ファイルの変更

nanoを使ったファイル編集

「nano」は、OSに標準で用意されているスクリーンエディタです。

nano <ファイル名>

で対象ファイルを編集できます。
今回の場合、対象ファイルの編集にはスーパーユーザー権限が必要なので

sudo nano <ファイル名>

と実行します。
ファイルオープン後は、カーソルで移動し内容を変更することができます。

最低限のショートカットとして以下の操作を使用します。

内容ショートカット備考
ファイルの保存Ctrlキー & Oキー
nanoの終了Ctrlキー & Xキー未保存時はセーブ保存の選択が出る


/etc/rc.local

以下のコマンドを実行します。

sudo nano /etc/rc.local

exit 0の前に「fbcp-ili9341 &」を追加する。

fbcp-ili9341 &
exit 0

Ctrl + Xで編集を終了します。


/boot/config.txt

sudo nano /boot/config.txt

下の設定を追加する。

framebuffer_width=320
framebuffer_height=240
hdmi_group=2
hdmi_force_hotplug=1

Ctrl + Xで編集を終了します。

framebufferのサイズはコンソール時の解像度で、実際はスケーリングされて240x240解像度の画面で表示されます。
このオプションが無指定だと、640x480解像度のコンソールで視認性がよくありません。
最低限「raspi-config」や「ifconfig」が確認できる程度に解像度を調整します。



設定が終わったら

sudo reboot

ラズパイを再起動させます。

起動直後は黒いままですが、1~2分後、液晶HATに画面が表示がされます。

作業が完了したら

各種Retro Pieの設定調整を行います。
ROMイメージの配置手順に進んでください。

参考文献

この技術情報を公開にあたり、以下のサイトを参考にいたしました。

1.3インチ 240×240 IPS LCDディスプレイHAT メモ

fbcp-ili9341 readme