.NET Gadgeteer モジュールのデモ:Character Display

.NET Gadgeteer のモジュール紹介の二つ目は Character Display です。
LED もそうですけど、キャラクターディスプレイって組み込みっぽくていいですよね。ということで、今回のお題にしました。
ちなみに前は “HD44780 モジュール” みたいなネーミングだったのですが、分かりづらいということでしょうか、Character Display に改名されたようです。これを書いている時点では、リファレンスでは今も HD44780 という表記のままのようです。参照する際はご注意を。
(※HD44780 = キャラクターディスプレイのデファクトです、互換製品がたくさんあります)

 

Character Display Module

 

Character Display の操作は以下の通り。

  • モジュールの初期化と表示オールクリア
  • 文字列の表示
  • 表示操作の現在位置の移動
  • バックライトのオン/オフ

 

メインボードとのシンプルな接続としてはこんな感じになります。

image

 


モジュールの初期化と表示オールクリア

なにはともあれもモジュールの初期化は必要、ということで Initialize メソッドがあります。引数はなし。

表示内容のオールクリアは、これもそのまんまの名前ですが Clear メソッドがあります。これも引数はなし。

 


文字列の表示

文字列の表示も非常に簡単、PrintString メソッドを使います。表示したい文字列は引数で渡します。
表示位置は現在位置(後述)から始まります。

PrintString(“Hello !!”);

のようにします。簡単ですね。
注意点、というほどのことではありませんが、短い文字列を指定した場合は後ろに以前の表示内容が残ります。Clear メソッドで全ての表示を全て消してから表示するか、前の表示を消せるだけの空白を付けた文字列を指定してください。表示幅いっぱいに整形した文字列を渡すのもいいですね。

現在位置に一文字表示するには putc メソッドが使えます。putc を呼ぶと現在位置は自動的に一文字進むので繰り返し呼び出すことで表示内容を伸ばしていくことができます。


表示操作の現在位置の移動

putc メソッドで現在位置はインクリメントできますが、明示的に次の表示位置を指定したい場合は SetCursor メソッドを呼び出します。引数として row と col を渡します。左上の位置が (0, 0) です。

SetCursor(0, 0) と同じ意味のメソッドが CursorHome メソッドです。現在位置を原点に移動したい場合はこちらの方が簡単ですね。

 


バックライトのオン/オフ

Character Display にはバックライトのオン/オフのためのメソッドもあります。SetBacklight メソッドです。引数 true でバックライトを付けます。false だとバックライト消灯です。

 


簡単なデモ

こんな接続にして

image

こんなコードを書くと

  1. using System.Threading;
  2. using Microsoft.SPOT;
  3. using Gadgeteer.Modules.GHIElectronics;
  4.  
  5.  
  6. namespace CharDisplayDemo
  7. {
  8.     public partial class Program
  9.     {
  10.         // This method is run when the mainboard is powered up or reset.  
  11.         void ProgramStarted()
  12.         {
  13.             // Use Debug.Print to show messages in Visual Studio’s "Output" window during debugging.
  14.             Debug.Print("Program Started");
  15.  
  16.             DoDemo();
  17.         }
  18.  
  19.         private void DoDemo()
  20.         {
  21.             char_Display.Initialize();
  22.  
  23.             while (true)
  24.             {
  25.                 char_Display.SetBacklight(true);
  26.                 Thread.Sleep(500);
  27.  
  28.                 char_Display.Clear();
  29.                 char_Display.PrintString("Hello !!");
  30.                 Thread.Sleep(500);
  31.  
  32.                 for (int i = 1; i <= 10; i++)
  33.                 {
  34.                     char_Display.SetCursor(1, 0);
  35.                     char_Display.PrintString(i.ToString() + " times ");
  36.                     Thread.Sleep(500);
  37.                 }
  38.  
  39.                 char_Display.SetBacklight(false);
  40.                 Thread.Sleep(500);
  41.                 char_Display.SetBacklight(true);
  42.                 Thread.Sleep(500);
  43.                 char_Display.SetBacklight(false);
  44.                 Thread.Sleep(500);
  45.             }
  46.         }
  47.     }
  48. }

 

こんな風に動作します。

 


次回の技術ひろば.net の勉強会は 4月20日(土) の開催です。

申し込みサイトはまだありませんが(すみません・・・)、ご都合の付く方は今のうちにカレンダーに印を付けておいてください。
瀬尾への連絡方法をご存じの方は、事前にご連絡いただけるとさらにうれしいです。

会場も無事決まり、受付を始めました。こちらのページ からお申し込みください。

広告
カテゴリー: .NET Micro Framework タグ: , パーマリンク

.NET Gadgeteer モジュールのデモ:Character Display への1件のフィードバック

  1. ピンバック: .NET Gadgeteer モジュールのデモ:Compass Module | 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中