おはようございます。
ここ数日はめっきり暑くなってきて、台風3号が近づいてきているようですね。
ご注意:
こちらは2019年の記事となっております。
ELECROW 5インチ HDMI ディスプレイ モニター 800×480解像度 タッチスクリーン
さて、今日は5インチLCDモニタの話題です。
以前ラズパイ用に購入した小型モニタ。
HDMI接続5インチ、SPI接続の感圧式タッチパネル。
これを使うと解像度が800×480と小さいので、Jetson NanoのGPUを生かし切れていない気がします。
今日は、その小さい画面で仮想スクロール機能を使って、ubuntsuのデスクトップを仮想的に高い解像度を表示します。具体的には下の動画のような状況です。
小さい画面でも、マウスを画面脇に移動すれば、表示されていない部分が表示されますので、小さいモニタを有効活用できます。
visual code studio でコーディングも、Blenderで3Dモデリングも、Chrome でブラウジングも、Jetson Nano単体で、圧倒的に作業しやすくなります。
もちろん通常の大きいモニタを使う分には関係ありませんが、設置環境が狭かったりロボットに組み込む場合など、非常に有用でしたので、共有します♪
また、VNCリモート接続の場合も、その高い解像度で表示できますので便利です。
これはJetson Nanoに限らずubuntu、Linux環境で使用できると思います。
また、3.5インチ HDMI LCD等でも同様なことができると思います。
接続方法
まずは接続方法です。800×480標準接続だけであれば簡単です。
HDMIケーブルで、Jetson Nanoと当LCDを接続。
LCDのUSB電源も接続します。
そしてJetson Nanoを起動すれば、特に設定はいらず800×480でふつうに表示されます。ラズパイの時はいくつか設定しないとそもそも表示されなかったので、これは便利ですね♪さすがNVIDIA、グラボメーカー!
(SPIのタッチパネル機能については後述しますが、現在わたしはまだ使用できていません。)
Tips:① デスクトップスクロール機能
ではデスクトップのスクロール機能の設定です。通常はデフォルトでOKです。
ログアウト → 上記画面になり、デスクトップ環境をデフォルトの「Unity」か「Ubuntu(GNOME)」を選択できるかと思いますが、今回のスクロールデスクトップ設定は、デフォルトの「Unity」が良さそうでした。「ubuntu」の方にするとデスクトップスクロールする際に画面が乱れます。
次に、xrandrコマンドで、ディスプレイ一覧を表示します。
xxxx@xxxxjetson:~$ xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 16384 x 16384
HDMI-0 connected primary 808x485+0+32 (normal left inverted right x axis y axis) 150mm x 100mm panning 1024x768+0+0
800x480 65.68*+
DP-0 disconnected (normal left inverted right x axis y axis)
ここでは、HDMI-0 connected となっていますので、これが5インチLCDとなります。
そして次のコマンドを実行すると、デスクトップがスクロールできるようになります。
xrandr --output HDMI-0 --scale 1.1x1.1 --panning 1280x1024
–sclale スケールを1.1倍にしていますが、これを1.0にすると表示されなかったので仮に入れてあります。
–panning で解像度を設定できます。あまり高い解像度にすると動作が重くなるかもしれません。
ぜひお試しください♪
解除するには、再起動するか、次のコマンドを実行します。
xrandr --output HDMI-0 --scale 1x1 --panning 0x0
起動ごとに自動設定したい場合は、GUIで設定できます。
sudo gnome-session-properties
Startup Applications Preferences -> Add
Command に先程のコマンドを入れておきます。
次回起動時に毎回コマンドが実行されます。
Tips:② SPI接続タッチパネル
(未接続)
(現在はSPIタッチパネルが使えておりませんので、タッチパネルが不要な方はここはスルーしてください。)
当製品はSPI接続のタッチ機能が付いているのですが、ラズパイで使う場合には、SPIをオンにし、/boot/config.txt にads7846のドライバ設定をするのでした。
ですがJetson Nanoでは標準でSPIがオンになっていません。
また、カーネルビルドの段階でads7846がモジュール化されてビルドされておりません。
ですので、SPI接続のタッチパネルを使用するには、現在は色々と設定しなくてはなりません。
試行錯誤を続けているのですが、現在はまだそもそもspidevでSPIのデータ受信ができておりません。どなたか成功した方おりましたらお教えくださいm(__)m
以下、試行錯誤に参考にしたもの(備忘録)
Jetson Nanoのカーネル再コンパイル
https://qiita.com/yamamo-to/items/6fc622df7b5cce3eccfb
make menuconfig のtouch-screen の項目で、CONFIG_TOUCHSCREEN_ADS7846=M にする。
modprobe ads7846でモジュール読み込みできるようになる。
Jetson NanoのSPIを有効にする
https://www.rt-shop.jp/blog/archives/11277
他のSPI温度センサモジュールでspidevを使ってpythonからデータ受信を試みるも、データ受信できない・・・
Device tree bindings for TI’s ADS7843, ADS7845, ADS7846, ADS7873, TSC2046 SPI driven touch screen controllers.
https://www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
→デバイスツリーにこのサンプルのノードを書けばads7846モジュール読み込み時に各種オプションが読み込まれるはず
新製品: USB接続の5インチ静電式タッチパネルモニタ
下にリンク置いてありますが、新製品のラズパイ用 USB 接続タッチパネルというものがあるようです! まだ試していません。Jetson Nanoでは、カーネルビルドでデフォルト設定でTouchscreensの項目のモジュールが片っ端からすべてオフになっているようなので、やはりカーネルビルドからだと思います。多分。私、Linuxもハードも、ラズパイから触り始めた素人なので・・・
どなたか試した方がいらしたら、是非Twitterでお教えください♪そうしましたら当ブログでもご紹介致したいと思います。
devemin
初めまして、Seeed BazaarのBettyと申します。
先般Jetson Nano関連のブログ記事を拝読致しました。分かりやすい説明で大変参考になりました。面白く深い印象を残りました。
さて、誠に勝手ながら、只今本社が販売しているWio Terminalに興味がおありますでしょうか?
Wio Terminalは、マイコンにSAMD51、2.4GHz/5GHz対応の無線LANとBLE 5.0にRTL8720DNを搭載したLCDと筐体付きのボードです。
2.4インチLCD、IMU(LIS3DHTR)、マイク、スピーカー、microSDスロット、光センサー、赤外線送信機(IR 940nm)など実用的なアドオンを内容していて、IoTプロジェクトに適します。
こちら無料で製品を提供いたしますが、もし興味があれば、レビューにしていただければ幸いに存じます。
ご確認いただければ幸いに存じます。
詳しい情報についてはこちらへ:
Wio Terminal: ATSAMD51& Realtek RTL8720DN BLE 5.0 & Wi-Fi 2.4G/5G 開発ボード
https://jp.seeedstudio.com/Wio-Terminal-p-4509.html
ご多用中のところ大変申し訳ありませんが、どうぞよろしくお願いいたします。
Seeed Bazaar / Betty 様
ご連絡拝見致しました。ありがとうございます。
Wio Terminal には興味はありますが、現在進行中の作業が多く、充分な時間をかけたレビューを行うことが難しいと考えます。
せっかくのお誘いなのですが、申し訳ありませんが辞退させて頂きたいと思います。
関係ありませんが、FusionPCB サービス等、seeed様のサービスは多く利用させて頂いており、とても満足しています。
今後ともよろしくお願い致します。
「家庭用ロボットをMake.」管理人 でべ