« 横滑りして簡単に縦列駐車が可能!な全方位型タイヤ | トップページ | iPhoneに装着して使う360度カメラ”Insta360 Nano” »

2016年7月14日 (木)

Raspberry Pi 3に2.2インチの安い液晶パネル(ILI9341)つけてみた

タッチパネル機能はついてませんが、とにかく安い。価格680円でした。思わず衝動買い。

Img_0751

Amazonで「HiLetgo LCD 2.2"TFT LCDディスプレイILI9341 SPI 240*320」という名前で売られてました。

名前の通り、2.2インチで320×240の液晶パネルです。

ただしこの手の安い電子部品にありがちですが、中国発送のため、2週間近くかかって到着。最近、そういう買い物多いです。

ごらんのとおり使えるようになってますが、これが一筋縄ではいきませんで。

まず回路図ですが、以下のように接続。

Raspberrypi_tftlcd_wiring1

図中のRaspberry Piが初代ですが・・・ピンの位置は一緒です。

SPI接続を使っているため、raspi-config を立ち上げてSPIを有効にしておきます。

昔はこの液晶を使うためにドライバをインストールする必要がありましたが、今は標準で持ってるようです、ドライバ。

ということで、以下のサイトにあるようにちょっとコマンドを打ち込んだらちょちょいのちょい(古っ!)と動くはず・・・だったんですが。

RaspberryPi 2 でカラーLCD表示する方法 (最も簡単な方法): new_western_elec

これが全然無反応。

Raspberry Pi 3につないでやってたんですが、思い通りいきませんね。

挙句の果てになぜかOSがぶっ壊れました。

OSをインストールしなおし、再びトライ。

なぜか、以下のYouTube動画の説明文にある通りコマンドを打ち込んだら使えました。

sudo rpi-update

sudo modprobe fbtft_device name=tm022hdh26 rotate=90

sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

sudo FRAMEBUFFER=/dev/fb1 startx

Img_0752

USBのトラックパッド付きワイヤレスキーボードつけたら、単独動作できました。

一度上のコマンドを実行したら、”sudo modprobe fbtft_device name=tm022hdh26 rotate=90”と”sudo FRAMEBUFFER=/dev/fb1 startx”の2つを実行するだけで使えるようになります。

Img_0755

ちなみに、ターミナルを開くとこんな画面に。

フォントの大きさを変える方法があるようですが、こちらもうまくいかなかったのでこのまま使うしかなさそうです。

できれば、これを起動時から使いたいのですが・・・

なぜかこれがネット情報通りやってもうまくいきませんね。なんででしょう?

いろいろ癖がある液晶パネルですが、手ごろな価格で遊んでみるにはお勧めな部品です。

ところで、ついでにこんなものも頼んだでたんですが。

Img_2091

ステッピングモーターです。こちらは2日ほど遅れて到着。

以前作った”Raspberry Piレーダー”で使ったのと同じものです。こちらは送料込みで300円ほど。

また何か使い道があるかなぁと注文したんですが、安いと思わず衝動買いしてしまいますね。何に使うかわからないセンサー・電子部品がどんどん増えそうです。

HiLetgo 2.2インチ ILI9341 シリアルSPI TFT液晶モジュール 240*320

« 横滑りして簡単に縦列駐車が可能!な全方位型タイヤ | トップページ | iPhoneに装着して使う360度カメラ”Insta360 Nano” »

Raspberry Pi・Arduino・電子工作」カテゴリの記事

コメント

ありがとうございました
aitendoのM022-ILI9341 2.2インチを購入して途方にくれていましたが、動きました。

こんにちは、RAS001さん。

私も1週間以上かかりました。いろいろなサイトがあるんですけど、動いたのは今回試したこの方法のみ。お互い、何とか動かせてやれやれですね。

本当は起動時に動くようにしたいところですが、こればかりはまだうまくいってません。

お忙しいところ失礼します。ラズパイ初心者です。

このサイトと
RaspberryPi 2 でカラーLCD表示する方法 (最も簡単な方法): new_western_elec
を参考にして、このページの通り回路を接続した後

1、/boot/config.txtの#dtparam=spi=onをdtparam=spi=onに変更
2、/etc/modulesの最下部にfbtft_device name=tm022hdh26 rotate=90を追加

しました。その後に

sudo rpi-update

sudo modprobe fbtft_device name=tm022hdh26 rotate=90

sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

sudo FRAMEBUFFER=/dev/fb1 startx

をしましたが、最後のsudo FRAMEBUFFER=/dev/fb1 startxを実行するとスクリーンが暗転して動かなくなってしまい、再起動すると、ログイン画面で名前とパスワードを求められてしまいました。名前をpiに、パスワードをraspberryにしてもログインできず、途方に暮れています。

やはり、OSを再起動する必要があるのでしょうか。それとも、うまくログインする方法があるのでしょうか。

もしよろしければ、助言をいただけると嬉しいです。宜しくお願いします。

↑OSの再起動ではなく、OSの再インストールです。宜しくお願いします。

ラズパイ初心者様

配線とILI9341orILI9340は合っているとするとsudo rpi-update後にsudo rebootを行って下さい。

sudo nano /boot/config.txtの#dtparam=spi=onをdtparam=spi=onに変更
sudo rpi-update
sudo reboot------>追加
sudo modprobe fbtft_device name=tm022hdh26 rotate=90
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
sudo FRAMEBUFFER=/dev/fb1 startx
で動作しました。

Ctrl+CでHDMIに制御が移ります。
再度
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
sudo FRAMEBUFFER=/dev/fb1 startx
で液晶に戻ります。
ここでの再起動は、sudo rebootです。

ラズパイ初心者様

使用したバージョンは、
2016-05-27-raspbian-jessie
です。

RAS001様

早速のご返信、誠にありがとうございます。ラズパイ初心者です。

丁寧なご説明、本当にありがとうございます。
さっそく試させていただきます!

こんにちは、ラズパイ初心者さん、RAS001さん。

コメントを放置してて申し訳ありません。というか、私も参考になる情報ですね。ありがとうございます。

お世話になっています。ラズパイ初心者です。

先日は助言をくださり、誠にありがとうございました。

RAS001様のおっしゃる通りに実行してみましたが、
sudo FRAMEBUFFER=/dev/fb1 startx
を実行すると、前回と同じくHDMIの画面が真っ黒になり、操作不能になってしまいました(ILI9341は画面全体が白く光ったままです)。

私はILI9341を計2個買っていたので、もう一つのILI9341でも試してみましたが、結果は変わりませんでした。

何かがおかしいと思い、調査したところ、
/usr/share/X11/xorg.conf.d/
の中に「99-fbturbo.conf」が存在していませんでした。
($ls /usr/share/X11/xorg.conf.d/を試したら、「10-evdev.conf」、「10-quirks.conf」、「50-synaptics.conf」の3つしかありませんでした。)

この症状をネットで検索すると
https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=110634
のページに似たような症状を持った方がいらっしゃったので、現在このページを読んでいます。
しかし、正直手詰まり状態です。

もし可能でしたら、アドバイスを下さると嬉しいです。

お忙しいところ大変申しわけございません。
よろしくお願いします。

ラズパイ初心者様

こんばんは
内部構造まで詳しくなくてごめんなさい
ラズパイとILI9341の結線の件ですが、(ラズパイはピン番号)一応Raspberry pi 2で動作です。
ラズパイ ILI9341
17 ---- 1 VCC
20 ---- 2 GND
24 ---- 3 CS
22 ---- 4 RESET
18 ---- 5 DC/RS
19 ---- 6 MOSI
23 ---- 7 SLK
---------8 LED 3.3V+100オーム
21 ---- 9 MISO(結線しなくて良い)
の様になっていますでしょうか?
この様になっていても上手くいかないようならSDカードへの再インストールをお考えでは如何でしょうか?
適切なアドバイスがおくれなくてごめんなさい。

RAS001様

早速のご返信、誠にありがとうございます。ラズパイ初心者です。

こちらこそ、何度も質問してしまい、申し訳ございません。

RAS001様から教えていただいた通りに配線をした後、
sudo FRAMEBUFFER=/dev/fb1 startx
を実行したのですが、再び操作不能になってしまいました。

私が使っているラズベリーパイはRaspberry pi 3なので、そこが原因なのかもしれません。
もう少し粘ってみようと思います。

何か気づかれたことがございましたら、お手数ではございますが、
連絡して下さると嬉しいです。

宜しくお願いします。

ラズパイ初心者様

sudo FRAMEBUFFER=/dev/fb1 startxを実行して操作不能と言うことは、
xモードに入ったのでsshからは操作出来なくなっている様な!
その時SPI接続の液晶はブラックですか?
そこで、Ctrl+Cで操作できませんか?
一度試して下さい。

ラズパイ初心者様

こんばんは
8月25日にお送りした手順でRaspberry pi 3でも動作しました。
一度SDへのインストールからやりなおされたらどうでしょうか?

RAS001様

お世話になっております。ラズパイ初心者です。

RAS001様のおっしゃる通りに、
1、SDカードを上書きフォーマットした後に、NOONSで2016-05-27-raspbian-jessieをSDカードにいれました。
2、再びOSを入れ、
sudo nano /boot/config.txtの#dtparam=spi=onをdtparam=spi=onに変更
sudo rpi-update
sudo reboot------>追加
sudo modprobe fbtft_device name=tm022hdh26 rotate=90
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
sudo FRAMEBUFFER=/dev/fb1 startx
を実行したところ、ILI9341に入力が変わりました(このページのILI9341の写真のように、
ディスプレイがきちんと起動しました)!

しかし、ILI9341に入力が変わった直後に、
GDBus.Error.org.freedesktop.PlolicyKit1.Error.Failed:
An authentication agent already exists for the
given subject
というエラーのウインドウが出た後、ctrl+cを押してもHDMIへ入力が戻らず、
さらに再起動をすると再びログインできなくなってしまいました(usernameとuserpasswordを入力する画面から進めません)。

なお、最初にsudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~を実行した際には、
99-fbturbo.confが/usr/share/X11/xorg.conf.d/に存在していましたが、
ILI9341に入力が変わったあとは/usr/share/X11/xorg.conf.d/に99-fbturbo.confが存在していませんでした。

どうやら再び暗礁に乗り上げてしまったようです。引き続き色々試してみたいと思います。

私のために、何回も助言をしてくださり、に本当にありがとうございます。
感謝しております。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Raspberry Pi 3に2.2インチの安い液晶パネル(ILI9341)つけてみた:

« 横滑りして簡単に縦列駐車が可能!な全方位型タイヤ | トップページ | iPhoneに装着して使う360度カメラ”Insta360 Nano” »

無料ブログはココログ

スポンサード リンク

ブログ村