Release 2018.12.26

(日本語) Kumanの7インチモニタ

Sorry, this entry is only available in 日本語. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Raspberry Pi Zero用に小型モニタを入手したので、使い方について書いてみました。

バージョン情報

$ lsb_release -a
  Distributor ID: Raspbian
  Description:    Raspbian GNU/Linux 9.4 (stretch)
  Release:        9.4
  Codename:       stretch

$ u_name -a
  Linux RasZero 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l GNU/Linux

Kuman 800×480 7インチ LCD

Amazonで入手したタッチパネル対応の7インチ液晶です。たまたまタイムセールで1000円引きだったので、つい勢いで購入してしまいました。

付属品はHDMIケーブル、micro / Type-AのUSBケーブル、固定ネジ、それからドライバCD−ROMです。ACアダプタは付いて無いので、別途必要です。

本体は基板が予め固定されていて取り外せません。ちょっと重みがあります。測ってみたら写真の通り。

付属のHDMIケーブルは両端とも標準サイズなので、Raspberry Pi Zeroでは使えません。その場合、miniHDMI – HDMI変換アダプタか、その類のケーブルを別途用意する必要があります。

挿せば映る

基板面には、microUSB×2、HDMI入力×1のコネクタが取り付けられています。USBコネクタで電源を取ります。

“Touch”と書かれたのがMicro-USB。ちなみに“Display”は標準のHDMI。

電源用USBとHDMIを挿して、バックライトをONすれば、とりあえず映像は出ます。「映る」だけでよければ悩むところはありません。

ただし、タッチパネルを利用するのには、少し右往左往しました。

UBSコネクタは2口あるので、1つが電源用、もう1つはタッチパネルの信号用かと思い、最初そう接続していたんですが、そうではありませんでした。

勘違いしていたつなぎ方

どうやら1口で“電源”と“信号”の両方を賄わないと、タッチパネルとしては機能しないようです。つまり、ラズパイからUSB1本で接続します。

タッチパネルを使うときのつなぎ方

電力チェッカーで見ると、ディスプレイの消費電力は500~600mA程度。これをRaspberry Pi Zero側から供給しないといけません。Zero単体だけでも500mA程度消費するので、Zeroへの電源は1A以上供給出来るUSBアダプタが必要と思われます。

と、中国語の説明書を解読したら、“2Aの電源を使用しろ”と書いてありました。貧弱なPCのUSBから電源供給すると良からぬことが起きると思います。

ディスプレイとして

800×480と謳われているので画質的にはHalf-HDまでありませんが、それほど“悪い”とは感じません。普通に見れます。

ただ、IPSではないので視野角が狭いです。ちょっと正面から外れると、ネガポジ反転映像になってしまいます。また、正面から見たとしても、コントラストがそこまでありません。まあ、値段からすると自分的には十分ですが。

あと、カメラのHDMI出力を挿しても映りました。普通のHDMI機器モニタ用としてもイケるようです。

 

ドライバの使い方

挿すだけで画面は映りますが、全画面表示ではありません。

直接挿すだけだと、余白アリの状態。

800×480全画面表示にしたければ、“ドライバ”を使用するか、“config.txt”にその設定項目を記述をします。いちいち設定を覚えておかなくていいという意味では、“ドライバ”の方が楽です。

が、その場合、注意する点があります。

ドライバ使用の注意点

このディスプレイ用に用意されている“ドライバ”、実際は「“config.txt”ファイルを、予め設定が記述されているファイルで上書きする」スクリプトファイルです。

“config.txt”はディスプレイ設定用の記述がされているファイルですが、それ以外の設定に関しても記述されています(例えば、GPUメモリ割り当てに関する部分とか)。ドライバ(スクリプトファイル)の実行は、これをまるっと上書きしてしまうので、それらの設定は消えてしまいます。なので、OSのカスタム設定をしている方は、むしろ、後述している「直接“config.txt”ファイルを編集」する方がいいかなと思います。

/boot/config.txt

ただし、“config.txt”はOS上大事なファイルなので、書き間違えてしまうと起動しなくなります。必ずバックアップを取ってから作業することをお勧めします。

$ cp /boot/config.txt /home/pi/backup_config.txt

ドライバのインストール

ドライバは、付属のCD-ROMからか、オンラインでメーカーのサイトからファイルをダウンロードする事でインストールします。

ダウンロードの場合

ネットから落とす場合、説明書に載っている手順は以下の通りです。

$ sudo rm -rf LCD-show
$ git clone https://github.com/goodtft/LCD-show.git

1つ目のコマンド“rm”は、残っているディレクトリを消すためだと思うので、初めてインストールする場合、もしくは重複した名前のディレクトリが無いと確実に分かっていれば、やる必要ないかなと思います。

2つ目の“git clone”で、piのカレントディレクトリ(ホーム)へドライバファイルが格納されます。

オフラインでの場合

CD-ROMに入っている「LCD-show.tar.gz」ファイルを、piのHomeディレクトリ内にコピーします。USBメモリやSDカードでPCから持ってくると楽かと思います。

そして、このファイルを展開します。

$ cd /home/pi
/home/pi $ sudo tar zxvf LCD-show.tar.gz

ドライバの適用

“ドライバ”をインストールすると、ホームの階層に「LCD-show」というディレクトリが作成されます。

その中に機種別のシェルスクリプトファイルがあり、それぞれを実行することで、HDMI出力を対応させたり、元に戻したりします。シェルスクリプトとは、ターミナルで普段使う「コマンド」を、自動で連続処理させる「手順表」です。

まずスクリプトファイルを実行形式として扱えるよう、パーミッションを変更します。これをし忘れると、スクリプトが走らず、機能しません。

$ cd /home/pi                    // ファイルのある階層へ移動
/home/pi $ chmod -R 755 LCD-show // ディレクトリごとパーミッションを変更

ディレクトリ内の任意のスクリプトファイルを実行します。今回使っているのは7インチ800×480なので、「LCD7B-show」を実行することになります。

$ cd /home/pi/LCD-show                 // ドライバファイルのある階層へ移動
/home/pi/LCD-show $ sudo ./LCD7B-show  // 800×480用の書き換えスクリプト(ドライバ)を実行

一瞬、エラーっぽい表示が出ますが、ちゃんと“config.txt”が上書きされ、自動でリブートがかかります。次にデスクトップが表示される時は、ちゃんと全画面表示になっているかと思います。

左:ドライバ適用前、右:適用後

設定を戻す

他のディスプレイへ繋ぎ直す時は、Kumanのディスプレイ使用中に、HDMI出力を“標準仕様”へ戻しておかないといけません。「HDMI-show」スクリプトを実行します。

$ cd /home/pi/LCD-show                // ドライバファイルのある階層へ移動
/home/pi/LCD-show $ sudo ./HDMI-show  // 標準設定のファイルに書き換える

し忘れると、再起動しても画面表示出来ません。結果、再度この7インチに接続しないといけなくなり、二度手間になります。

ただし、OS起動時に“config.txt”を直接修正しちゃう裏技もあります。電源投入後、特定のタイミングでキーボードのShiftを押します。

この画面が出たらShiftキーを押す

「Edit config」で、“config.txt”ファイルが直接編集できます。

ネックになっている設定項目(次章参照)を#でコメントアウトします(分からなければ、とりあえず全部消してしまうのもアリです。その場合、起動後バックアップを上書きします)。

終わったら、「Exit」でOS起動に戻ります。

もし、全消し起動した場合、バックアップしていたファイルで“config.txt”を上書きして戻しておきます。

$ sudo cp /home/pi/backup_config.txt /boot/config.txt

この方法は起動時のトラブルシューティング全般に役立つと思うので、覚えておいて損はないです。

config.txtの編集

付属のCD-ROMにあるマニュアルによると、このディスプレイを使うために必要な記述内容は、以下のように記されています。

max_usb_current=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0

“ドライバ”使用を避ける場合、これらの記述を“config.txt”へ変更・追記する事になります。

再度書きますが、“config.txt”は下記のディレクトリにあります。

/boot/config.txt

間違えるとOSが動かなくなってしまう可能性もあるので、必ず現状の“config.txt”をバックアップしておきます。

$ cp /boot/config.txt /home/pi/backup_config.txt

“config.txt”はOS構成ファイルの一部なので、sudo権限でないとファイル操作できません。

なので、手順としては、一旦他へコピーし、必要項目を書き直して保存してから、実際の“config.txt”へ上書きします。

$ cp /home/pi/backup_config.txt /home/pi/kuman_disp_config.txt
$ leafpad /home/pi/kuman_disp_config.txt

コピーファイルに対して、前述の設定項目を書き足します。設定項目が重複する行があれば、#でコメントアウトするか、削除しておきます。

修正・追記が終わったら上書き保存して閉じます。そして、このコピーファイルをsudo権限で“config.txt”として上書きします。その後、再起動。

$ sudo cp /home/pi/kuman_disp_config.txt /boot/config.txt
$ reboot

使い方がわかるなら、nanoで直接修正する方法もあります。こっちの方が手間が少ないですが、失敗した時のリスクは高くなります。兎にも角にも、バックアップを取っておくことは忘れずに。

$ cp /boot/config.txt /home/pi/backup_config.txt
$ sudo nano /boot/config.txt
~ファイル内容の修正・追記。上書き保存。
$ reboot

Ctrl+oがファイルの保存、Ctrl+xがソフトの終了です。詳しいnanoの使い方はネットで調べてください。

解像度の変更

全画面表示に出来ても、800x480という解像度は、ウインドウの扱いには厳しいものがあります。保存ダイアログとかはみ出てしまい、ボタンに届きません。

そこで、全画面扱いつつ解像度をもう少し大きくできないか、色々試していたら、型番違いの“LCD7C-show”のスクリプトでも動く、というのが分かりました。

$ cd /home/pi/LCD-show                 // ドライバファイルのある階層へ移動
/home/pi/LCD-show $ sudo ./LCD7C-show  // 1024×640用の書き換えスクリプト(ドライバ)を実行

こちらの方が縦幅が大きい分、ウインドウが扱い易くなります。ただし、ディスプレイ解像度を超えての表示なので、明らかに文字が滲み、コントラストが落ちます。でも、まあ、使い勝手を取るなら、こちらの方が良いかなと思います。

もう少し追求すると、BとCのサイズ違いは、どうも下記1行で決定するっぽいと分かりました。

hdmi_cvt 800 480 60 6 0 0 0

そこで、試行錯誤すると、全画面表示でありながら違う解像度でも出力できました。

hdmi_cvt 1280 768 60 6 0 0 0

調べてみると、こちらに“hdmi_cvt”に関する解説があります(「Custom mode」に関する項目です)。そこから抜粋すると、

hdmi_cvt width height framerate aspect margins interlace rb

項目 内容
width 横幅ピクセル数
height 縦幅ピクセル数
framerate フレームレート(Hz)
aspect 縦横比。
1=4:3。2=14:9。3=16:9。4=5:4。5=16:10。6=15:9。
margins マージン。0=無。1=有。
interlace インターレース。0=一枚表示。1=インターレース表示。
rb reduced blanking。0=無効。1=有効。

縦横比が15:9に合致すれば全画面表示になってくれるようです。以下、試した解像度。

横(Kuman – 15:9) 走査線(縦) 横(通常TV – 16:9)
1800 1080 1920
1536 900 1600
1280 768 1360
1229 720 1280
1024 640 1138
800 480 853

大きくし過ぎると、文字が識別出来なくなってくるので、やはり~1280ぐらいが限度かなと思います。

自作フレーム

ディスプレイはパネル・基板がむき出しの「板」なので、そのままだと寝かしたまま使う羽目になります。せめて自立ぐらいしてほしいな、と専用にケースを自作しました。ほぼ100円ショップにある資材だけで済ませました。

とりあえず、立てばいいぐらいの状態なので、追々見た目を仕上げようとは思ってますが…ここまでの材料は、

  • 黒板の木材フレーム
  • フォトフレーム用蝶番
  • プラ板
  • ユリヤねじ
  • 2mm、3mmボルト
  • プラリペア

軽い方がいいだろうと思ったので、木のフレームを切って寸法を合わせました。フレームは最初ネジか接着剤で固定しようとしてたんですが、意外にプラリペアで結合してしまった方が、簡単で強度もあります。ネジ穴も、一旦大きく開けてからプラリペアで埋める方が締め易いです。

フレーム用。そのままだと大きいので、
バラして、モニタのサイズへ切り直します
ネジ穴もプラリペアで
4カ所ネジ止めは面倒だったので、下はユリヤねじで済ませました。

最後に、拾った寸法も一応資料としてどうぞ。ただ、ものさしでザックリ測ったものなので、厳密じゃないですが…

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.