1.3インチ カラー液晶AE-ATM0130B3

www.youtube.com

 

秋月で「AE-ATM0130B3」というカラー液晶を買ったので、テストプログラムを作ってみました。もう、わざわざ「カラー」って言う時代じゃないかもしれませんが。 

ソースと回路図はこちらで公開中です。

github.com

「AE-ATM0177B3A」と違って、今回は秋月のサンプルがしっかりあるので、すんなり出来ました。秋月のサンプルはArduino Uno用ですが、自分はArduino Pro Mini互換を使ってみました。

秋月のサンプルはRAMを割り当てない方式で表示しています。

 

ここからが問題。

液晶は240 x 240ピクセル、16ビットカラー(65536色)です。そのままマイコンのRAMを割り当てようとすると、240 x 240ピクセル x 16ビット = 115200バイト必要です。ATmega328PのRAM容量は2048バイトなので、どこをどうやっても無理(この56倍は必要)。

どうにかして、ATmega328PでRAMを確保できないか、考えてみたのですが、性能を落としまくることで対処してみました。

・解像度を1/4に(画素数 1/16)。

・1ピクセルあたり4色に(色数 1/16384)。

これなら、60 x 60ピクセル x (2÷8ビット) = 900バイト。許容範囲内です。

RAMの消費を1/128に抑えることができました。

 

このようにドットを4倍に拡大して表示します。カラーパレットをこまめに変更して4色しかないことを誤魔化しています。

表示の更新が遅いです。

SPIクロック8MHzで通信しているはずなのに、それでも遅い、、、これはもうマイコンの限界だと思います。描画エリアを削ったり、さらに工夫する必要があります。

高性能なマイコンで表示したら一気に解決ですが、それは当たり前なので、電子工作としては面白くない。

 

あと、この液晶は3V相当の電源が必要です。

自分の場合、最初はダイオード3個で2.7Vを作って入力してましたが、その後、電子工作警察に怒られそうだと思い、真面目に3.3Vの三端子レギュレータで入力しました。