3-1. 点滅表示
3-1. 点滅表示

ピカピカ光る点滅表示です。
今回から、アクション動作について学びます。
コマンドセットで、表示に動きや効果を加えてみましょう!
まずは「点滅(ブリンク)表示」に挑戦します。
コマンドセット
動作名 | コマンド | 機能 |
---|---|---|
ブリンク表示アクション | 1Fh 28h 61h 11h p t1 t2 c | 表示の点滅 |
「p」「t1」など、何やら記号がいっぱい出てきましたね。以下が各記号の説明です。
コード | 動作名 | 機能 |
---|---|---|
p | ブリンクパターン | 表示(3種類)を指定します。 00h→点滅無し 01h→点滅表示 ※通常表示とクリア(ブランク)表示の繰り返し 02h→点滅表示 ※通常表示と反転(リバース)表示の繰り返し |
t1 | ノーマル表示時間 | 点滅での「通常状態」の表示時間を指定します。 (点滅は2つの表示の繰り返しで、それぞれに表示時間が設けられています) この時間t1は、01h~FFhまで指定できます。 指定すると、以下の計算式で算出されて最終的な表示時間が決定します。 t1 × intTime = ノーマル表示時間 「intTime」とは、製品の内部タイミング時間の事です。 この時間は、製品によって異なります。 各ソフトウェア仕様書に時間を記載しておりますので、ご参照ください。 ※今回使用しているGU128X32D-D903Sは、14ms(0.014秒)です。 例として、t1を「50h」とした場合、ノーマル表示時間は 80×0.014=0.024秒 となります。 (16進数表記の為「50h」は50でなく80になりますので、ご注意を!) |
t2 | ブランクまたは リバース表示時間 |
点滅での、もう一方「クリアまたは反転状態」の表示時間を指定します。 t2 × intTime = ブランクまたはリバース表示時間 決め方は、t1と同じです。 |
c | 繰り返し回数 | 点滅アクションの繰り返し回数を指定します。 例:20回繰り返したい場合‥‥「14h」を指定 |
課題
以下条件のアクションコマンドで、表示文字「Hello!」を点滅させる。
パターン | 表示時間 | 繰り返し回数 |
---|---|---|
通常表示/ブランク表示 | 約0.5秒間隔 | 10回 |
スケッチ
今回は、約0.5秒間隔の通常/クリア点滅を、10回繰り返します。
void loop()
{
Serial.print("Hello!"); //文字表示
//ここから ブリンク表示アクション
Serial.write(0x1f);
Serial.write(0x28);
Serial.write(0x61);
Serial.write(0x11);
Serial.write(0x01); //p: 01h=クリア表示
Serial.write(0x23); //t1: (23h=35)×0.014=0.49秒
Serial.write(0x23); //t2: (23h=35)×0.014=0.49秒
Serial.write(0x0A); //c: 0A=10回繰り返す
//ここまで ブリンク表示アクション
while(1){} //以降の命令を受け付けない
}
表示画面
チカチカしてます!
毎度の通り、while命令が無い場合はループが続きます。
色んな点滅表示を試してみてくださいね。
次回は「スクロール表示」です!
‥‥の前に、ちょっと寄り道をして「カーソルセット」について学びます。
先程はブリンク(点滅)パターン p が「クリア」でしたが、「リバース」にすると
このような表示になります。用途に応じて使い分けてくださいね!