5 ディスプレイに文字を表示させてみよう

英数字文字の表示

新しくShowingDispというプロジェクトを追加します。(忘れた人はこちらへ

文字列は二つのダブルコーテーション「"」で囲まれた文字データのことを言います。
この文字列をディスプレイに表示させるにはBrainPad.Display.DrawString()メソッドを用います。第一引数はx座標で単位はドット(dot)です。第二引数は同様にy座標です。
第三引数が文字列データ、第四引数が文字色です。ですから、
BrainPad.Display.DrawString(10, 20, "Brain Pad", BrainPad.Color.Green);は、
x=10、y=20を先頭にして、"Brain Pad"を緑で表示します。

ディスプレイに文字を表示
        private void main()
        {
            BrainPad.Display.Clear();
            BrainPad.Display.DrawString(10, 10, "Hello!", BrainPad.Color.Yellow);
            BrainPad.Display.DrawString(10, 20, "Brain Pad", BrainPad.Color.Green);
            for(int i=0; i<5; i++)
                BrainPad.Display.DrawString(10, i*10+30, i.ToString(), 
                    BrainPad.Color.Blue);
        }
 1 
 2 
 3 ディスプレイ消去
 4 文字列の表示
 5 文字列の表示
 6 
 7 数字の表示
 8 
 9 


パソコンと文字通信で表示、あるいは入力する

ここの部分は、難しいところがあるので飛ばしても良いです。
BrainPad
RS232C
通信
変換
パソコン
USB


BrainPad側はRS232Cと言う通信プロトコルで通信できます。パソコンはUSBと言う通信プロトコルで通信します。たとえて言えば、同じ人間でも、アメリカ人は英語を話しますが、日本人は日本語を話すのでお互い何を言っているのかサッパリ分からないことになります。この二人の間に通訳がいればコミュニケーションが取れるようになります。このように通信を変換することをプロトコル変換と呼び、ここではこれを行う専用のIC(集積回路)を用います。


FT232RL USBシリアル変換モジュール
ここで使用するピンのみ説明します。
電源はパソコンからのUSBケーブルから供給されます。

番号名称種別機能
1TxDOUT通信データ出力
5RxDIN通信データ入力
7GNDGNDGND

BrainPad側は、COM1(RX,TX)と印刷されている部分です。ここでは、BrainPadのTXが変換器のRxD(オレンジの線)、BrainPadのRXが変換器のTxD(白の線)に繋いでいます。出力同士を繋げると壊れる可能性がありますので注意してください。

パソコン側では、この通信を受け持つアプリケーションが動作していなければ何も起きません。ここでは、Tera Termを用います。これをダウンロードしてインストールしてください。

FT232RL USBシリアル変換モジュールを使用するの当たって、ドライバをインストールする必要があります。FTDI chipに行ってダウンロード・インストールしてください。表の一番上にあるwindowsの欄の右側のsetup executableが楽です。

シリアルポートのボタンをONにして、その横の選択枝から「USB Serial Port」を選びます。これが表示されない場合はドライバーがインストールされていませんので、インストールしてください。
BrainPadでは通信速度を115200bps(bit par second)を用いているので、メニューの「設定」→「シリアルポート」を選びます。
ボー・レート(baud rate:変調速度)を115200変更する必要があります。

以下のプログラムをはこの入出力テストのプログラムです。

Tera Termへの表示テスト
        private void main()
        {
            // E12 Tx/COM1
            // E11 Rx/COM1
            Console.WriteLine("Hello World! 1");
            Console.WriteLine("Hello World! 2");
            for (int i = 0; i < 10; i++)
                Console.Write(i + " ");
            Console.Write("\r\n整数を入れてください→");
            int a = Console.ReadInt();
            Console.WriteLine("2倍すると" + a * 2 + "になります。");
        }
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 ¥rはキャリッジリターン
10 ¥nはラインフィード
11 
12 


以下は、実行結果です。