2014年11月30日

aitendoの正方形LCDをmbedで駆動させる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

久々にハードウェア系のネタ。
今回は、aitendoで販売されているスクエアLCD「ZY-FGD1442701V1」をmbed(1768)で動かします。

特徴は...
・128×128ピクセル
・65535色(16bitカラー)
・接続は8bitパラレル
・1000円くらい(割と安い?)

TFT液晶モジュール(1.44/128×128) [ZY-FGD1442701V1] (液晶単体)
1.44インチ液晶withキャリーボード [2P-1442701V1-PCB] (キャリーボード付き)

追記(2015/10) : 上記の商品は取り扱い終了しています。現時点では、以下の商品で同じように動かせるはず。
TFT液晶モジュール(1.44/8bit) [Y1411A1]

ネットで「ZY-FGD1442701V1」を検索すると先人たちの記事が出てきますが、いずれも搭載されているコントローラがST7735のもので、現在販売されているST7735S搭載版についての記事が見つかりません。
ST7735→ST7735Sでコマンドなどが一部変更になっているので、これに対応するようにしました。
初期化コードはaitendoが公開しているものに少々手を入れています。
#データシートもaitendoの商品ページにあるので助かりました

コードは以下(mbed Hg repository)に全て置いてます。
ZY_FGD1442701V1_BusOut_SDHC

以下は解説スライド (Qemb#03での発表を前提に準備してましたが、開催できなかった...)


スライド中で扱っている描画速度ですが、このスライドを作った後に別のSDHCカードで試してみたところ最終的に150ms程度で描画することができました。
また、画像ではなく黒や白で塗りつぶした(for文で0xffffffff、0x00000000を128*128*2回ぶん回した)場合、BusOutで105ms、PortOutで24msでした。

追記:LPCXpresso NXP LPC1769が手元に届いたので、これでも動作チェックしてみたいと思っています。