2.4 Inch LCDをRaspberry Piと接続してRetroPieで使用してみました。
[関連記事]
2.4 Inch LCD Display Module
以前使用したこのがある2.4インチ 240x320 SPI TFT LCD ILI9341よりも基板が小さく裏面がスッキリしているタイプのLCDを探していたら、このLCDを発見したので特になにも考えずに購入してみた。
しかし前回のLCDと違うタイプのようで、接続するピンの数から違うため前回の接続方法を使用することができなかった。
またこのタイプのLCDはネット上でも情報が少ないため、メモとして残しておきたい。
2.4 Inch LCD Display Module |
購入したLCD
2.4 Inch LCD Display Modul [AliExpress]
パッケージにはILI9341V SPIとの記載があります。
2.4 Inch LCD Display Module (裏面) |
LCDパネル(GMT024-10)を調べてみるとDeive ICはST7789のようです。
LCDはよく使われる2.4インチLCDと違い7ピンしかありません。
今回は下記のようにRaspberry Pi 3 Model B+と接続してみました。
CS → PIN24(GPIO8:SPI_CE0)
DC → PIN29(GPIO5)
RST → PIN31(GPIO6)
SDA → PIN19(GPIO10:SPI_MOSI)
SCK → PIN23(GPIO11:SPI_SCLK)
VCC → PIN17(3V3:power)
GND → PIN20(GND)
RetroPieをSDカードにインストールする。
今回は"retropie-4.5.1-rpi2_rpi3.img.gz"を使用。
※SPIはオンにしない。
fbcp-ili9341をダウンロード
sudo apt-get install cmake
cd ~
git clone https://github.com/juj/fbcp-ili9341.git
cd fbcp-ili9341
st7735r.hを変更
sudo vi st7735r.h
#if defined(ST7789) || defined(ST7789VW)
#define DISPLAY_NATIVE_WIDTH 240
#define DISPLAY_NATIVE_HEIGHT 320
st7735r.cppを変更
sudo vi st7735r.cpp
#ifdef ST7789
//
//
//
//
if ((madctl & MADCTL_ROW_ADDRESS_ORDER_SWAP))
SPI_TRANSFER(0x37, 0, 0);
#endif
ビルド
mkdir build
cd build
cmake -DSTATISTICS=0 -DST7789=ON -DSPI_BUS_CLOCK_DIVISOR=8 -DGPIO_TFT_DATA_CONTROL=5 -DGPIO_TFT_RESET_PIN=6 -DDISPLAY_INVERT_COLORS=ON ..
make -j
sudo ./fbcp-ili9341
・-DSTATISTICS=0 :オーバーレイ統計の無効
・-DST7789=ON :ST7789有効
・-DSPI_BUS_CLOCK_DIVISOR=8 :表示速度の指定(6~30の偶数)
・-DGPIO_TFT_DATA_CONTROL=5 :データ/制御(DC)をGPIO5に
・-DGPIO_TFT_RESET_PIN=6 :リセットをGPIO6に
・-DDISPLAY_INVERT_COLORS=ON :ネガポジ反転
/boot/config.txtを変更
sudo vi /boot/config.txt
disable_overscan=1
framebuffer_width=320
framebuffer_height=240
hdmi_group=2
hdmi_mode=87
hdmi_cvt=320 240 60 1 0 0 0
hdmi_force_hotplug=1
/etc/rc.localを変更
sudo vi /etc/rc.local
sudo /home/pi/fbcp-ili9341/build/fbcp-ili9341 &
exit 0
再起動
sudo reboot
※設定変更時はディレクトリを削除後ビルドから
cd fbcp-ili9341
rm -rf build
RetroPieの表示 |
RetroPieが表示できるようになりました。
コントラストの調整
左:変更前 右:変更後 |
液晶パネルの質の問題もあるかもしれませんが、表示品質が余り良くないように感じます。
特に発色が薄味で好みではないのですが、少しでも良くなるよう以下の設定を変更して様子をみることにしました。
コントラストが強すぎて白飛びしていましたので一部の設定を消してみました。
st7735r.cppを変更
sudo vi st7735r.cpp
#ifndef ST7789VW // This is disabled on ST7789VW because it was observed to look visually bad, makes colors a bit too contrasty/deep
//SPI_TRANSFER(0x26/*Gamma Curve Select*/, 0x04/*Gamma curve 3 (2.5x if GS=1, 2.2x otherwise)*/);^M
#endif
写真ではわかりにくいのですが、ほんの少しだけマシになったような気がします。
本格的に変更する場合は、数値を入力したらいいと思いますが未確認です。
[2022.1.29追記]
起動の確認だけにはなりますが
retropie-buster-4.7.1-rpi4_400.img.gz (Raspberry Pi 4)
retropie-buster-4.7.1-rpi2_3.img.gz (Raspberry Pi 3 Model B+)
でも動作することを確認しました。
Raspberry Pi 4 |
config.txtの変更は行わなくても動作しますが、画面の回転の問題とかはあると思います。
また"dtoverlay=vc4-fkms-v3d"を無効にしても動作して回転も一応できるところまでは確認しましたが、config.txtを変更中に一度EmulationStationの起動ができなくなると変更した設定を消しても元に戻すことができなくなることは要検証かな。
なんかPi4(Busterかもだけど)は一筋縄でいかないことが多くて面倒ですね。
0 件のコメント:
コメントを投稿