2019年04月20日

Digital Video Shield 応用編

今回は以前に紹介したDigital Video Shieldの応用について紹介します。

Digital Video Shieldで使用しているビデオエンジンBT816はCo-Processorエンジンを搭載しており、コマンドで内蔵Widgetsを簡単に表示することができます。

内蔵Widgetsの種類としては、テキスト、ボタン、時計、プログレスバー、スライダー、トグルボタンなどがあります。
数行のC/C++コードの記述で任意の表示をすることができます。
なお、ボタン、スライダー等の入力イベントを使用する場合はDigital Video Shieldの基板上のピンと抵抗膜方式パネルの配線、タッチパネルキャリブレーション、入力イベント設定が必要になります。


・色を変更する場合
EveSendCmd(COLOR_RGB(180, 180, 240));

・数字を表示する場合
 文字位置、フォント、フォントオプション、数字を設定します。
EveWriteNumberData(220,200,EVE_FONT_B_size6,0,120);

・時計を表示する場合
 位置、サイズ(半径)、何時何分何秒か設定します。
EveWriteClock(120,120,100,0,10,10,20,3);

・文字列を表示する場合
 文字位置、フォント、フォントオプション、文字列
EveWriteStringData(200,350,EVE_FONT_B_size6,0,"Digital Video Shield");

・ゲージを表示する場合
 位置、サイズ(半径)、最大値、最小値、現在値等を設定します。
EveWriteGauge(400,120,100,0,80,0,10,100);

・ボタン/トグルボタンを表示する場合
 文字位置、フォント、フォントオプション、文字列
EveWriteButton(550,50,80,40,EVE_FONT_B_size4,0,"ON");
EveWriteToggle(550,120,50,EVE_FONT_B_size4,0,1,"ON");

・プログレスバー
 位置、サイズ、最大、最小、現在値等を設定します。
EveWriteProgress(550,200,50,30,0,20,100);

・スピナー(処理待ち等の表示)
 位置、オプション等を設定します。
EveWriteSpinner(700, 150, 0, 0);


実際に800x480のディスプレイに表示してみました。

img4.JPG

予めよく使う表示についてWidgetsとして内蔵しているため、数行で任意の表示をすることができます。
フォントや各WidgetsはBT816内に内蔵されているため、一般的なTFT液晶をピクセル毎に処理する場合に比べてマイコンのメモリ消費を大幅に抑えることができます。
上記サンプルはArduinoUNOで実装しています。
Githubに上がっているコードをアップデートし、内蔵Widgetsのコードを追加しました。
Digital Video Shieldを活用してArduino、センサを組み合わせてIoTディスプレイといったことも簡単に実現可能です。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。