SUPPORT

2-3. コードセット(様々な動作)

2-3. コードセット(様々な動作)

挿絵

 前回は、キャラクタコードを使って文字表示を行いました。
 今回は文字の消去や位置移動など、簡単な動作をさせます。

 これらはコード1つで非常に簡単に行えます。
 沢山ありますので、休憩しながら1つ1つ見ていきましょう!

 

課題

 コードを使って、6つの動作を確認する!

 

 

機能一覧

 今回は、以下6つの動作を確認してみましょう。

動作名 コード 機能
(1) バックスペース 08h カーソル位置を、左に1文字分 移動します。
(2) ホリゾンタルタブ 09h カーソル位置を、右に1文字分 移動します。
(3) ラインフィード 0Ah カーソル位置を、下に1行分 移動します。
(4) ホームポジション 0Bh カーソル位置を、ホームポジション(最上行左端)に移動します。
(5) キャリッジリターン 0Dh カーソル位置を、同一行の左端に移動します。
(6) 表示画面クリア 0Ch 表示画面をクリアします。
 

  ※動作名のリンクをクリックすると、各項目の先頭へ移動します。(同ページ内)

 では、上から順に進めていきます。



(1) バックスペース

コード スケッチ命令文 機能
08h Serial.write(0x08); カーソル位置を、左に1 文字分移動します。
 

  「Hello!」の表示後に、1文字分カーソル位置を戻します。
  そして再度「Hello!」を表示します。‥‥これを繰り返します。



スケッチ


void loop()
{
      Serial.print("Hello!");    //「Hello!」と表示
      delay(1000);         //1秒間、表示を止める
      Serial.write(0x08);    //1文字分、戻る
}

 赤文字部分の命令1つで済みます。簡単ですね!
 尚、「while(1){}」などを設けてないので、メインループ内の命令は繰り返されます。

 

 

表示画面

  HelloHelloHello...
クリックでアニメ開始

「HelloHello‥‥」と表示されます。1文字戻ってますね。
バックスペースが無い場合は当然「Hello!Hello!‥‥」
と表示が続きます。

命令を増やすと、その分 カーソル位置は戻ります。
どんどん試してみましょう。


(2) ホリゾンタルタブ

コード スケッチ命令文 機能
09h Serial.write(0x09); カーソル位置を、右に1文字分 移動します。
 

  「Hello!」表示後、1文字カーソル位置を進ませ、再度「Hello!」表示‥‥を繰り返します。

スケッチ


void loop()
{
      Serial.print("Hello!");    //「Hello!」と表示
      delay(1000);         //1秒間、表示を止める
      Serial.write(0x09);    //1文字分、進む
}

表示画面

  Hello! Hello! Hello!...
クリックでアニメ開始

1文字分(7ドット)の間隔を空け、次の表示を行います。




(3) ラインフィード

コード スケッチ命令文 機能
0Ah Serial.write(0x0A); カーソル位置を、下に1行分 移動します。
 

  「Hello!」表示後に改行し、再度「Hello!」表示‥‥です!

スケッチ


void loop()
{
      Serial.print("Hello!");    //「Hello!」と表示
      delay(1000);         //1秒間、表示を止める
      Serial.write(0x0A);    //1行、移動
}

表示画面

  Hello!→右下にHello!...
クリックでアニメ開始

改行とは言っても、カーソルはそのまま下に(8ドット分)
移動するだけで、左端には移動しません。




(4) ホームポジション

コード スケッチ命令文 機能
0Bh Serial.write(0x0B); カーソル位置を、ホームポジション(最上行左端)に移動します。
 

  「Hello!」表示後、カーソルが電源起動時の位置に戻り、再度「Hello!」を表示します。

スケッチ


void loop()
{
      Serial.print("Hello!");    //「Hello!」と表示
      delay(1000);         //1秒間、表示を止める
      Serial.write(0x0A);    //左上端に移動
}

表示画面

  Hello!
クリックで拡大表示

1回表示後に止まっているように見えますが
しっかりループ動作しています。




(5) キャリッジターン

コード スケッチ命令文 機能
0Dh Serial.write(0x0D); カーソル位置を、同一行の左端に移動します。
 

 

スケッチ


void loop()
{
      Serial.print("Hello!");    //「Hello!」と表示
      delay(1000);         //1秒間、表示を止める
      Serial.write(0x0A);    //ラインフィード(1行、移動)
      Serial.write(0x0D);    //1行、移動
}

 先程の内容と重複するので、(3)のラインフィード命令を1つ入れました。
 改行後、キャリッジターンでカーソルを行の左端に移動させています。

表示画面

  Hello!の真下にHello!...
クリックでアニメ開始

「Hello!」表示→ラインフィードで改行→キャリッジターンで
カーソルを左端へ→「Hello!」表示‥‥を繰り返しています。




(6) 表示画面クリア

コード スケッチ命令文 機能
0Ch Serial.write(0x0C); 表示画面をクリアします。
 

  「Hello!」表示後、画面の表示内容を全て消去し、再度「Hello」表示‥‥の繰り返しです。

スケッチ


void loop()
{
      Serial.print("Hello!");    //「Hello!」と表示
      delay(1000); &n     bsp;nbsp; //1秒間、表示を止める
      Serial.write(0x0C);    //画面クリア
      delay(1000);         //1秒間、表示を止める
}

表示画面

  Hello!→消灯→Hello!...
クリックでアニメ開始

 消えてますね!点滅してるように見えます。
 消えた後、カーソルは左上端の位置に戻ります。




  挿絵

 以上です!

 今回は6種類の動作コードを学びました。
 これらを組み合わせると、表現の幅が広がります。
 文字と動作で、色んな表示を試してみてくださいね。

 次回は「倍角文字の表示」です!

 

 


ちょっとしたメモ

 

 今回のコマンドは全て、カレントウィンドウ内で動作します。カレントウィンドウは、ざっくり直訳すると
「現在の表示領域」であり、複数あるウィンドウの中で操作対象となっている1つのウィンドウの事を指します。

 複数のウィンドウ、という言葉が出ましたが‥‥
 VFDには、1つのディスプレイに複数のウィンドウを持たせる「ユーザーウィンドウ機能」があります。
 ウィンドウの大きさ、範囲や用途(メッセージ用、アイコン用、アニメーション用‥‥など)を自分の任意のものに
 設定し、1回の表示で複数の表示・制御を実現させる事が可能です。詳しくは製品仕様書をご覧ください!

 


当ウェブサイトでは、お客さまによりよいサービスをご提供するため、Cookieを使用しています。
Cookieを無効にする方法を含め、当社のCookieの使用については「個人情報保護方針」をお読みください。

OK