Top Page Index About Link Mail Form ●このページの応用機器製作します |
2012.9.23
→Raspberry Pi拡張基板と microSDカードアダプタ
→Raspberry Pi専用 USB-HUB
→Raspberry Pi用 10inch液晶モニタの作成
Raspberry Pi用ディスプレイとして aitendoから出ている 7inch液晶キット 4U@2011-2P070-C382Jを組み立ててみました。そのままコネクタをつなぐだけでも映りますが、実用に耐えるようにちゃんとケースに入れます。
画像は作成途中の様子。 ほぼできていますが、表面パネルが無い状態です。キット付属の OSDキーボードが長すぎるので同等のものを自作しています。キーボード右端の黄色いボタンは4方向超小型ジョイスティックです。これでボタン4つ分を一つにまとめています。
※回路図のコネクタのピン番号は JST PHシリーズに合わせてあります。aitendoのデータ(PDF)はどういうわけかピン番号が JSTのとは逆にふられています。
液晶表示コントローラ基板 4U@2011はタカチの薄型のプラケース TW13-3-18Bに入れ、その外側に液晶を貼りつけた形になっています。
HDMIで映像が映るので綺麗です。ただ、液晶のドットが 1024x600なのに対して Raspberry Piがその解像度を(今のところ)出せません。それ故、Raspberry Pi側は 1280x720p 60Hzで出力するようにし、液晶コントローラ側で縮小して表示します。
この場合の Raspberry Piの config.txtのうち、画面設定は以下の通り。framebuffer_xxxを省くと 16色モードになります。
# 1280x720p 60Hz hdmi_group=2 hdmi_mode=85 disable_overscan=1 framebuffer_depth=32 framebuffer_ignore_alpha=1
この設定が一番きれいなようですが DMTモードなので HDMIから音声が出力されません。液晶コントローラの都合(?)で縦方向の圧縮が少々劣りますが、HDMI音声が必須の場合は以下の設定がいいようです。
# 720p 60Hz hdmi_group=1 hdmi_mode=4 disable_overscan=0 overscan_left=-20 overscan_right=-20 overscan_top=-32 overscan_bottom=-32
両方同じ 720p 60Hzのはずですが、どういうわけか上の設定の方がきれいに見えます。
追記。その後の実験で画面モードはこちらに変更しています。→Raspberry Pi + 4U@2011 + 7inch LCD(LTM07C382)の画像モード
なお、「Raspberry Pi用」と書きましたが、7inchと小さいのでこれでプログラミングするのには向きません。静止画・動画再生するとかその手のアプリケーション実行用ですね。Raspbmcとか。Raspbmcの場合は config.txtはいじらなくてもとりあえず 720pで動作するようです。
DIY店で 0.75mm厚のポリプロピレンシートを買ってきてかぶせてみました。これで実用に耐えます。このシートは腰が強いので曲げるに苦労します。曲げる部分にカッターで軽く切れ目を入れるのですが、ケースとして使うので強度が落ちるのは困るのであまり深くはしたくないところ。遠慮して浅くしたら上辺の部分が広がって少し浮いてしまいました。
また、材質が粘るのでドリルだと小さな穴がきれいに開きません。大きな穴ならラウンドカッターもありますが、数mm程度の穴は無理です。何かいい道具は無いものか。
追記。革細工用のポンチなどが使えそうです。→穴あけポンチ
中身はこんな感じ。きっちり収まっています。奥の赤い基板が液晶のインバータで、その下にスピーカー用のアンプがあります。4U@2011にはスピーカーアンプも内蔵していますが使っていません。というのも、上記の HDMIから音声出力されない設定でも使えるよう、音声は Raspberry Piのアナログオーディオ出力をつなぎたかった為です。
アナログオーディオ出力は左下の φ3.5オーディオコネクタにつなぎます。そこから見えにくいですが左のミキサー基板へ入ります。またこの基板には 4U@2011からのオーディオ出力も入ります。これらをミキシングして左下隅のボリュームでレベル調整してからインバータ下のアンプへ行き、スピーカー出力されます。これで HDMIからの音声も外部からの音声も同様にスピーカーから出力できます。
上ケースの、液晶の裏側にあたる部分は適当に切り抜いています。液晶からの熱を逃がすのと、スペース確保の為。液晶のバックライトがけっこう熱くなります。
上面と側面。薄くまとめています。一応チルトスタンドも装備。チルトスタンドの止めピンは画像ではゼムクリップとリン青銅板のバネで作っていますが、ちょっと位置が高すぎた。後で調整しよう。
後ろのは以前に作ったコンポジットビデオ専用の 4:3 7inch液晶モニター。こうしてみると分厚い。頑丈そうではあるけど。
安価な HDD内蔵可能な HDMIメディアプレーヤー FS-HDMD100につないだところ。この組み合わせだとどういうわけか最初、音声が出ませんが、4U@2011のリモコンでミュートを押してまた解除すると出るようになります。あるいは、液晶の OSDで音声設定をいじると出るようになります。それ以外は問題なく使えます。
更に、モニターの方を先に電源を入れておかないと全く音が出なかったりします。
FS-HDMD100は同じ型番でもいくつかバージョンというか仕様が異なる製品があるようです。うちのはたぶん最初期型。
ヘッドフォン出力とメイン電源の ON/OFF回路を追加しました。
後で追加したので仮想グランド回路とか無駄があります。
回路付近のクローズアップ。PAM8403のアンプは以前に作った基板を使っていますが、他はユニバーサル基板で手配線なのでなんかすごいことに。
チルトスタンドの止めピンも交換しました。材料はタミヤのスリムタイヤセットのランナー(プラモデルのランナーと同じ)。この止めピンは内側で手作りの板バネで支えてあるので、押すと引っ込みます。足を出す時や格納する時はピンを押しながら。
メイン電源ボタンのあたり。4U@2011基板の OSDパネルにも電源ボタンはありますが、OFFにしてもバックライトが消えないのであまり意味がありません。使い終わっても片付けない場合にもいちいち ACアダプタコネクタを抜き差しするのはめんどくさいので追加しました。
↑そのうちに OSDパネルの緑の LED(電源ON時に点灯)とバックライトのインバータを同期させようかと思っています。OSDで BRIGHTNESSを変更しても変化が無いのですが、インバータの ADJピンが未接続なのが原因か? 4U@2011の ADJが効かないのであれば、半固定抵抗で 0-5V調整すればバックライトの明るさ調整ができるはず。後で試してみます。
その後、色々試した所、現在では以下の設定で使っています。
# 1360x768 60Hz hdmi_group=2 hdmi_mode=39 hdmi_ignore_edid=0xa5000080
以下の設定は解像度が高すぎて文字が小さくなりすぎるのでフォント設定の変更が必要になりますが、動画再生が綺麗なのでその用途にはこちらもよろしいかと思います。HDMIから音も出るし。
# 1080p 60Hz hdmi_group=1 hdmi_mode=16
なお、なぜか sdtv_acpectの設定が HDMI出力の設定に影響するようです。sdtv_aspect=1のままにしておかないとデスクトップ画面のドットのアスペクト比が 1:1にならず、表示が縦長になったり omxplayerの 4:3と 16:9の設定が違ってきます。
# 要 /boot/edid.dat hdmi_edid_file=1 hdmi_force_edid_audio=1 hdmi_ignore_edid=0xa5000080
の設定にしておいて、config.txtと同じフォルダに edid.datを置くとそちらの設定で動作するようです。しかし、くろかわさんの EDIDをファイルにして入れてみたのですが、「UNSUPPORTED」と言われて動作しませんでした。他にも同様な EDIDデータをネットで拾って試しましたが、1024x600だといずれも UNSUPPORTEDでした。
2013.6.20 追記。以下の設定で 1024x600で使えるようです。
hdmi_cvt=1024 600 60 3 0 0 0 hdmi_group=2 hdmi_mode=87 hdmi_ignore_edid=0xa5000080
↑起動時にディスプレイに「800x600」と出るのでディスプレイ内部では横800ピクセルとして処理していると思われますが、Raspberry Pi側は横1024ピクセルで動作しています。ウィンドウ表示も omxplayerのアスペクト比も正常なのでこれが最適でしょう。