<はじめに>
浅草ギ研製超小型モニタAGB65−uDISP用に、PCから操作したり、PCの画像ファイルを登録するためのサンプルプログラムを作りましたのでご紹介します。
C#で書いていますが、C++やVisualBBASICを使っている方でも読めば大体わかるかと思います。C#はマイクロソフトより無償でダウンロードできます。C#のダウンロード方法はこちら。
<
本プログラムはサンプルプログラムにつき、個別のサポートはできませんのでご了承下さい。
<AGB65-uDISP Editor のダウンロード>
AGB65-uDISP
Editor ダウンロード
(右クリックで対象を保存)
ファイルを解凍すると、「AGB65-uDISP_Editor」というフォルダが展開されます。C#をインストールした時に「Project」というフォルダが作られたかと思いますので、その中にこれをコピーしてください。
xxx.csproj というファイルがC#のプロジェクトファイルになります。AGB65-uDISP_Editor.csprojをダブルクリックするとプロジェクトが開きます。
<使い方>
ここから使い方を説明します。AGB65-uDISPにPCと電源をつないでください。つなぎかたはAGB65-uDISPのページを参照願います。PCとの接続にはオプションのAGB65-232Cが必要です。
プロジェクトを開くとこのようになっているかと思います。画面中央に2つのタブが見られます。
「Form1.cs[デザイン]」 のタブがデザイナーの画面で、フォームの構成をビジュアルに設定できます。プログラムコードの内容は「From1.cs
」のタブを押すと出てきます(もしくはF7キー)。
Form1がこのプログラムのメインの部分です。上はForm1のコンストラクタ部を表示したところです。”コンストラクタ”は起動時に処理される部分で、ここでシリアルポートの設定などを行っています。
<COMポート名の設定>
PCのどのCOMポートに接続するかは serialPort1.PortName で設定します。AGB65-232Cで接続している場合でデスクトップの場合は、PC背面にCOMポートがあり、これがCOM1となっていると思います。
ノートPCの場合はCOMポートが無いので、USBシリアルアダプタなどを使うこともあるかと思います。この場合はプログラム中のCOM1の部分を変更してください。COM番号はデバイスマネージャーで確認できます。
浅草ギ研のBluetooth無線で接続した場合は、ペアリング時にCOM番号が表示されますのでその番号に設定します。
<通信速度の設定>
通信速度は serialPort1.BaudRate で設定します。AGB65-uDISPは出荷時設定が115200bpsになっています。ほとんどのWindowsパソコンは115200bpsで通信できるかと思います。Linuxの場合は115200bpsが出ない場合もあるようです。460800bpsは浅草ギ研のBluetoothで通信する場合にだけ可能な速度です。尚、Bluetoothでも115200bpsで通信もできます(Bluetoothは出荷時に460800か115200bpsに設定される)。
とくになにも無い場合115200bpsで通信した方が無難です。
<起動>
起動するにはF5キーを押します。このとき、エラーなどが出たら、エラー原因が画面に表示されますので、それを見て原因を追究してください。
たとえば、PCに実装されていないCOMポート名を間違って指定してしまったりするとこのようにエラーが出ます。エラーは画面下に出る場合もあります。
エラーが出たら、停止ボタンを押してプログラムを止めます。四角が停止ボタンです。三角がスタートです。スタートボタンはブレークポイントを設定した時に、途中でプログラムが止まりますがそれを再開させるのにつかいます。詳しくはC#初級本を参照願います。
正常に起動すると次の画面が出ます。
<画面のクリア>
uDISP起動直後はHelloと表示されています。
この画面をクリアするには「画面クリア」ボタンを押します。
<文字の表示>
文字を表示させるには、この部分を使います。上のところで設定をして、ボタン左のテキストボックスに英数記号(ASCIIコードに存在するコード)を書き、ボタンを押すとテキスト表示命令が送られます。color1は色上位バイト、colo2は色下位バイトになります。
色はRGB565なので、上の色は 11111000 00000000 となり、赤に相当します。
実行結果はこのようになりました。
<任意の命令の送信>
uDISPに対して任意の命令を送るには、testボタン横のテキストボックスに数値+カンマの形式で命令を書き、「test」ボタンを押します。
たとえば、ID=204のuDISPに対して画面クリア命令を送るにはこのように記述してボタンを押します。一番最後にもカンマが入りますので注意してください。
<イメージ画像の用意>
ここからイメージ画像の取り扱いについて説明します。
このソフトウェアはjpegかビットマップの画像を取り扱えます。まずはそれらの画像を用意する必要があります。画面サイズは128x128なので、できればその大きさにトリミングしたものを用意します(このソフトではそれより大きい画像も取り込めますが、表示は左上の128x128しか表示できません。)。
イメージをトリミングするにはフォトショップなどの画像処理ソフトがあればよいのですが、無い場合はWindows付属の「ペイント」で作ることも可能です。ペイントはマウスで絵を描くこともできます。ここではペイントを使ってマウスで絵を作る例を紹介します。尚、同じようにして、カメラなどで撮影したjepg画像などをペイントでトリミングすることも可能です。
Windwsの「スタート」−>「すべてのプログラム」−>「アクセサリ」−>「ペイント」を選択し、ペイントを起動します。
イメージサイズを128x128に設定するので、「変形」−>「キャンバスの色とサイズ」を選択します。
幅と高さを128に設定し、単位はピクセルを選択してOKボタンを押します。すると、キャンバスが128x128サイズになります。
ここでマウスを使って絵を描いて保存します。
「ファイル」−>「名前を付けて保存」で保存します。形式は24bitビットマップもしくはJpegで保存します。
<イメージ画像の転送>
AGB65-uDISP Editor ソフトにもどって、「ファイル」−>「開く」で、先ほど作成したファイルを選択すると、「イメージ」のところにイメージが表示されます。
セクタアドレス、というところの下のテキストボックスには転送する先頭アドレスを記入します。上の例ではとりあえずセクタ0を先頭にしています。
データは512バイト単位(1セクタ=512バイト)で転送されます。uDISPのページでの説明の通り、128x1281画面を送るには64セクタ必要ですので、セクタ0〜セクタ63にこのイメージが格納されます。
転送ボタンを押すと転送が開始されます。各セクタ転送毎にuDISPのLEDが点等します。約10秒ほどで転送が終わり、LEDが消灯します。
<イメージ画像の表示>
「表示」ボタンを押すと、転送した画面が表示されます。
実行結果はこのようになりました。
<動画の表示>
動画の表示はとくにプログラムを作っていませんので、testボタンで実行してみてください。たとえば、セクタ0、64、128、192、256、320を先頭に128x128の画像が6枚記録されているとします。これを連続再生するには次のようになります。尚、再生間隔は30mSとしました。
|