KMR-1.8 SPI のLCD が来たので調べてみました
春節で到着が遅れていた1.8インチのフルカラーLCDが来たので調べて見ました。
これは、先に調べた1.44インチのフルカラーの半額位でしたが、基本的な設計は
3V系で、5Vでも壊れないと言う感じのものの様でした。その為、今回は抵抗に
よるレベル変換の対応が必要でした。また、付属の標準SDカード用のスロットが
金メッキの端子でない為か、接触が不安定の様でした。以下が調べた状況です。
<KMR-1.8 SPI LCD の概要>
購入した「KMR-1.8 SPI LCD」はフルカラーの128x160のLCDと標準のSDの
カードリーダを装備したもので次の様なものでした。
1.LCDの解像度は128x160でフルカラー
2.LCDのコントローラはST7735でSPI制御方式(ただし、データの流れは
LCDへの一方通行)
3.標準SDカードリーダは、電源を5Vから3Vに変換する部分は有るが、
入力のレベル変換は無し
4.LCDコント―ラからの読み取りデータが無いので、SDとLCDのSPIが
共有可能
5.LCDのコント―ラは3V駆動で、入力に5Vからの出力を加えると、
コントローラ内部の入力保護用ダイオードを通して電源へのパルス電流の
流入が起こり画面上に激しいノイズが出る(5V出力のCPUからの
コントロールの場合、LCDコントローラの入力端子にもレベル変換が必要)
6.3Vで使用の時は、ジャンパーのショートが必要(JP1)
<関連資料>
1.グラフィックライブラリ
Adafruit_GFX : URL https://github.com/adafruit/Adafruit-GFX-Library
Adafruit_ST7735 : URL https://github.com/adafruit/Adafruit-ST7735-Library/
Ucglib Arduino IDE の「ライブラリを管理」よりインストール
2.FAT16専用ライブラリ
これを利用するとプグラムメモリが15%程度小さくなりますが、今回
作成したものでは不要です。
(作成したものは、標準のSDライブラリでも、UNOの場合で60%程度の
大きさです。)
URL https://github.com/greiman/Fat16
3.ビットマップファイル作成ツール
画像データの補正と変換 : Windows OS の ペイント
画像データのサイズ変更 Caesium Image Compressor
URL https://saerasoft.com/caesium/
<テスト内容と結果>
今回は、Arduino標準のUcgligもインストールし、Adafruitのライブラリとの
比較をスライドショーの表示で行う事とし、次の様な動作を目標としました。
1.Ucglibでの動作の確認
2.2つのライブラリを使用した場合のプログラムの消費量や速度等の比較
2つのライブラリで動作させた結果としては、次の様なものでした。
1.カラー情報の設定
Adafruit 16bits (5:R/6:G/5:B)
Ucglib 24bits (8:R/8:G/8:B)
2.メモリの使用量(UNOの場合)
Adafruit flash memory 59%, ram 47%
Ucglib flash memory 75%, ram 55%
3.色の再現性と速度の差等
色の再現性に関しては、画面が小さい為か、ほとんど感じられませんでした。
速度に関しては、データ長の違い(16ビットと24ビット)によるものが
感じられ、Adafruitの方が速い様に思いました。ただし、描画の表現機能は
Ucglibの方がかなり優れており、複雑な表現を行う時はUcglibが優れている
と感じました。
4.UcglibにはソフトSPIのオプションも有り、こちらのオプションをSDと
共有する場合は、SDを利用後にSPIバスを開放しないとソフトSPIによる
描画ができなくなるので注意が必要な事と、速度に関しては、ソフトSPIを
利用するとかなり遅くなる事も判りました。
5.その他、SDカードのスロットが金メッキでない為、かなり接触が不安定の
様に思えました。
[機器の接続]
Code downloading is here.
[コードとビットマップファイルサンプル]
コードとビットマップファイル関連の資料一式は次のURLからダウンロード
可能です。
関連資料一式
[動作状況]
UcglibのGraphicTestの動作状況は次のURLから確認できます。
これは、先に調べた1.44インチのフルカラーの半額位でしたが、基本的な設計は
3V系で、5Vでも壊れないと言う感じのものの様でした。その為、今回は抵抗に
よるレベル変換の対応が必要でした。また、付属の標準SDカード用のスロットが
金メッキの端子でない為か、接触が不安定の様でした。以下が調べた状況です。
<KMR-1.8 SPI LCD の概要>
購入した「KMR-1.8 SPI LCD」はフルカラーの128x160のLCDと標準のSDの
カードリーダを装備したもので次の様なものでした。
1.LCDの解像度は128x160でフルカラー
2.LCDのコントローラはST7735でSPI制御方式(ただし、データの流れは
LCDへの一方通行)
3.標準SDカードリーダは、電源を5Vから3Vに変換する部分は有るが、
入力のレベル変換は無し
4.LCDコント―ラからの読み取りデータが無いので、SDとLCDのSPIが
共有可能
5.LCDのコント―ラは3V駆動で、入力に5Vからの出力を加えると、
コントローラ内部の入力保護用ダイオードを通して電源へのパルス電流の
流入が起こり画面上に激しいノイズが出る(5V出力のCPUからの
コントロールの場合、LCDコントローラの入力端子にもレベル変換が必要)
6.3Vで使用の時は、ジャンパーのショートが必要(JP1)
<関連資料>
1.グラフィックライブラリ
Adafruit_GFX : URL https://github.com/adafruit/Adafruit-GFX-Library
Adafruit_ST7735 : URL https://github.com/adafruit/Adafruit-ST7735-Library/
Ucglib Arduino IDE の「ライブラリを管理」よりインストール
2.FAT16専用ライブラリ
これを利用するとプグラムメモリが15%程度小さくなりますが、今回
作成したものでは不要です。
(作成したものは、標準のSDライブラリでも、UNOの場合で60%程度の
大きさです。)
URL https://github.com/greiman/Fat16
3.ビットマップファイル作成ツール
画像データの補正と変換 : Windows OS の ペイント
画像データのサイズ変更 Caesium Image Compressor
URL https://saerasoft.com/caesium/
<テスト内容と結果>
今回は、Arduino標準のUcgligもインストールし、Adafruitのライブラリとの
比較をスライドショーの表示で行う事とし、次の様な動作を目標としました。
1.Ucglibでの動作の確認
2.2つのライブラリを使用した場合のプログラムの消費量や速度等の比較
2つのライブラリで動作させた結果としては、次の様なものでした。
1.カラー情報の設定
Adafruit 16bits (5:R/6:G/5:B)
Ucglib 24bits (8:R/8:G/8:B)
2.メモリの使用量(UNOの場合)
Adafruit flash memory 59%, ram 47%
Ucglib flash memory 75%, ram 55%
3.色の再現性と速度の差等
色の再現性に関しては、画面が小さい為か、ほとんど感じられませんでした。
速度に関しては、データ長の違い(16ビットと24ビット)によるものが
感じられ、Adafruitの方が速い様に思いました。ただし、描画の表現機能は
Ucglibの方がかなり優れており、複雑な表現を行う時はUcglibが優れている
と感じました。
4.UcglibにはソフトSPIのオプションも有り、こちらのオプションをSDと
共有する場合は、SDを利用後にSPIバスを開放しないとソフトSPIによる
描画ができなくなるので注意が必要な事と、速度に関しては、ソフトSPIを
利用するとかなり遅くなる事も判りました。
5.その他、SDカードのスロットが金メッキでない為、かなり接触が不安定の
様に思えました。
[機器の接続]
Code downloading is here.
[コードとビットマップファイルサンプル]
コードとビットマップファイル関連の資料一式は次のURLからダウンロード
可能です。
関連資料一式
[動作状況]
UcglibのGraphicTestの動作状況は次のURLから確認できます。