aitendo 1.77"TFT液晶モジュール(128x160) TFT2P0327

ee9king に投稿

ブレークアウトボードを作りました。こちらの記事

すごく長くかかったが、ようやく、動かせるようになった。ちょっとまだ、回転ができないのだが、もういいや。いやー、久しぶりにデーターシートを結構読んだべな。液晶モジュールは、aitendoさんのTFT2P0327で、使用されているドライバはSumsung製のS6D0151でござる。ネットでもほとんど情報が無く、私のような人は参った。

TFT液晶モジュール(1.77/128x160) [TFT2P0327-E]

この液晶の解説に「半透過式なので視野角が広く太陽光下でも見える、」と記載されていて、バイク屋としては「何とかものにして試したい」思っていた代物である。で、結果は?。う~ん、半分反射なので、半分見えてるというのが正しいかな、という感じ。ただ、ほかの透過液晶をバイクにつけて昼間走るとまったく見えないので、それよりはよさそうである。中途半端に明るいときは返って見えづらく、完全に直射日光が当たっているときは、割と見えるかな。下記、表示はまだ勉強中で崩れてますがイメージ。左がバックライト点いて部屋の中、右はバックライト消した感じ。

バックライトあり・なし

 ←お日様の下です。見えることは見えます。バックライトは点いてますが当然太陽に負けます。

mbedプログラム

mbedでのプログラムを下記に置いておきます。人のもののパクリですが、初期化のところはaitendoのページにあるデモコードを参考にし、レジスタライトデータ転送のところはオリジナルです。

https://developer.mbed.org/users/king33jp/code/FRDM_TFT2P0327_fix/

ちょっといくつか苦労した点がありました。データシートにシオリ(目次)をつけたものを添付しておきます。

S6D0151X Data Sheet_REV0.20.pdf

ポイント

  • SPI通信にするときは、データを送る前にスタートバイト(ID+RS+RWの1バイト)が必要ということ。
  • SPI通信のときはRS信号は端子でなく、上記のスタートバイトに含まれる。(Must be fixed to VDD3 or VSS level when SPI mode.)
  • スタートバイトは、RSとRW、これにID(IM[0]の論理←端子に出てる)で判別する(Table.67)。Table.15にRSとRWの組み合わせが書かれており、レジスタを書く(コマンド)ときはスタートバイト=70h、データを書くときは72hとなる。
  • この液晶モジュールでは、シリアルデータの受信端子は実装されてない(MISOなし)
  • aitendoのデモコードでは、表示がさかさまになる。→DRIVER OUTPUT CONTROL (R01h)のSSビットを0にする。
  • 送信データはMSBファーストで、16bitsで送ると書いてある。ただし、スタートバイトのみ1byte。
  • CS信号が、データ転送の開始と終了のトリガになっているので、レジスタWriteの跡にデータを送るときは一旦CSを上げてやる必要がある。
  • 描画方向を指定するコマンドがよくわからないので作ってないのと、Read系のコマンドはモジュールにMISO端子ないので作ってない。
  • バックライトは、TFTの仕様書だと2個パラ接続のはずだけど、実際はシリーズ接続、5Vでも発光せず、6V~7Vとのこと。回路図にあるように3Vの電池でカサ下げるようにして使った。基板作るときは昇圧が必要ですが、3.3Vのチャージポンプだと電流的に厳しいかも。
  • windowの考え方?。HORIZONTAL RAM ADDRESS POSITION (R44h),VERTICAL RAM ADDRESS POSITION (R45h)でセットするところが、理解が低かった。データシートに絵も描いてあるのだけど、意味わかってなくて。。。

 

回路図

FRDM-KL25Zとの接続です。ブレッドボードでやりました。動作確認ができたので、基板作成をしたいと考えています。

aitendo_TFT2P0327 - Project.pdf

 

参考データシート

いつまでも、aitendoのページがあるとは思えないので、入れておく。ここ数ヶ月、在庫148のまま変わってないですけど。

TFT2P0327-E.PDF

承認ランに個人名入ってるし、、、なんだろ。Truly製で、SPIの事かいてなかったり、LEDはパラと明記されてたりとか。。。仕様(オプション)違いじゃないかな、ここ準カスタムしてくれてたと思うから。

 

Tags

set_orientationコマンドで、TopとBottom入れ替えをできるようにしました。

RowとColumnをいえれ変える方法は結局わからずじまいです。DRIVER OUTPUT CONTROL (R01h)のGS,SMビットでできそうなことが書かれているのですが、そのような向きに変わることはなく飛び飛びn表示崩れになるだけです。

Addressの操作向きを変えることもできそうですが、ENTRY MODE (R03h)のAMビット、、、注記に下記。

[NOTE] When AM is ‘1’, abnormal display can be occurred on screen.

とあり、実際、画像がむちゃくちゃになる。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。