uOLEDuSD内の画像ファイルを表示する方法

 

最近RSコンポーネンツ等でも取り扱っている,小型有機ELディスプレイのuOLEDについて,シリアルコマンドによりuSDに保存した画像を表示させる方法の日本語資料が少なかったので,メモ程度に導入方法を紹介します.私の環境では動いたという程度の確認しかしていないので,この内容により生じた不具合には責任を負えません.ご参考程度に活用していただきながら,各自のご責任でよろしくお願いします.

 

基本的なやり方は,

1)  Graphic Composerという専用ソフトを利用してuSDカードをフォーマットし,

2)  さらに同ソフトを経由して画像ファイルを転送.

3)  転送時に画像を書き込んだアドレスがログとして保管されるので,そのファイルを参照して画像のアドレスを指定して表示.

という流れになります.

 

まず始めに,4D systemsホームページから,Graphic Composerというソフトをダウンロードする必要があります.

http://www.4dsystems.com.au/downloads/Graphics_Composer/Ver3.XX/GraphicsComposer.zip

(20117月11日現在,上のURLにてダウンロード可能)

解凍すると実行形式のファイルがありますので,それをダブルクリックして下さい.

 

1)Graphic Composerを立ち上げる.

 

2)右下のScreen Sizeから,自分の利用するデバイスの画面解像度を選択.

例えば,uOLED-96-G1という型番のものならば,96 x 64

 

3)左下の「Add」ボタンを押して,表示させたい画像を取り込む.

4)中段上にあるEditボタンなどを使って,表示したい画像のサイズや位置を変更.

※私が使っているのはuOLED-96-G1という型番のもので,解像度は96 x 64 ですが,このサイズの画像を用意すると,実際に表示したときに輪郭がぼやけてしまいました.用意する画像のサイズを2倍の192 x 128 にし,Ignore screen size constraintsのチェックを外して,画面いっぱいになるようにしたほうが,綺麗に見えるように感じました.また,4倍のサイズで用意した画像と見比べてみましたが,2倍と4倍の差はほとんど感じられませんでした.

 

5)Saveしたのちに,左上のFileからBuildを選択.

Bulid Typeは,一番下のSGC-uSD Rawを選択.

(他のオプションでも出来るかもしれないけれど,少なくとも一番下の選択肢では動いた)

DriveSDカードのドライブを選択

Sector offsetは画像をどのアドレスから入れていくかを指定する.既に何枚か画像が入った状態で追加するのであれば,このオプションを指定アドレスにしておくと良いかも(未確認).とりあえず0にしておけば問題なく,先頭アドレスから画像を格納していく.

・確認画面が出てくるので,Yesを押して画像を転送する.

 

6)画面上部のアイコンのTXTというところが選択可能になっているので,そこをクリック.

  すると,以下のような文字列が保存されている.

この中の,「Goldelox Data: 0x40, 0x49, 0x00, 0x00, 0x60, 0x40, 0x10, 0x00, 0x00, 0x00」の部分が,画像表示のためにuOLEDに転送するべきコマンド列.

 

(参考)画像転送のコマンドのフォーマットは以下.

上の例では,最後のSectorAddの部分が01.jpg では“0x00, 0x00, 0x00“ であるのに対して,02.jpgでは” 0x00, 0x00, 0x18“と異なっている.この指定を変えることで,任意の画像を表示できる.

 

※実際に画像を表示するときには,まず「U」コマンドにより,ボーレートを自動で設定した後に,上記コマンドをシリアルで送信する必要がある.

 

参考資料 (2011年7月11日現在ダウンロード可能)

uOLED-96-G1_Users_Manual_Rev1.0

GOLDELOX-SGC-COMMANDS-SIS-rev3

Graphic Composer Software Tool