さて、今回はi-SOBOTとパソコンの組み合わせのプログラミング方法を具体的に解説していきましょう。
プロジェクトの作成と参照設定
アプリケーションのボタンを押すことで、i-SOBOTが「こんにちは!」と挨拶するプログラムを作りましょう。今回のプログラムは、次の2つのクラスで構成されています。
Programクラス ‐ 本体HelloFormクラス ‐ フォーム
Programクラスはプロジェクト生成時に自動生成されます。編集する必要があるのはHelloFormクラスのみとなります。
「プロジェクト」とは、アプリケーション開発に必要なファイルをVisual C#が管理するための単位です。複数のプロジェクトをまとめて管理するための単位を「ソリューション」と呼びます。
「スタート」メニューからVisual C#を起動し、「ファイル」メニュー→「新しいプロジェクト」を選択します。「新しいプロジェクト」ダイアログが開くので、「Windowsフォームアプリケーション」を選び、プロジェクト名を「HelloWorld」と入力して「OK」ボタンを押します。
初期状態では、「Program.cs」と「Form1.cs」の2つのソースコードがプロジェクトに追加されています。「Form1.cs」を選択し、右クリック→「名前の変更」で、「HelloForm.cs」と入力してください。プロジェクトコード要素「Form1」をすべて「HelloForm」に変更するか聞いてくる確認ダイアログが開くので、「OK」ボタンを押します。最後に「ファイル」メニュー→「すべてを保存」で保存します。このときフォルダにファイルが生成されます。
次にソリューションエクスプローラのプロジェクト名を右クリックし、「参照の追加」を選択し、「ISCL for PC」内に含まれる「ISCL.dll」を追加してください。うまく認識されないときはDLLを一度削除し、再度追加してみてください。
「参照の追加」で「ISCL for PC」内の「ISCL.dll」を追加 |
デザインの編集
ここからフォームを編集していきます。ソリューションエクスプローラで「HelloForm」を選択してください。左側のデザイナにデザインが表示されます。フォームを選択後、右下の「プロパティ」ウィンドウで「Text」プロパティを「HelloWorld」に変更してください。これでフォームのタイトルバーの文字列が変更されます。「プロパティ」ウィンドウが表示されていないときは「表示」メニュー→「プロパティウィンドウ」で開いてください。
「Text」プロパティに「HelloWorld」と入力 |
プロパティには「プロパティ設定」と「イベント設定」があり、「プロパティ」ウィンドウの左から3番目のアイコンで「プロパティ設定」に、4番目のアイコンで「イベント設定」に切り替えます。今回はプロパティ設定しておきます。
このプログラムはボタンが1個のシンプルなものです。ボタン「btnHelloWorld」を作ります。Visual C#左端のツールボックスタブをクリックするとツール一覧が表示されます。今回は「ボタン」を利用するので、コモンコントロールの「Button」をダブルクリックしてください。
「Button」を選択した後、「プロパティ」ウィンドウで以下の項目を設定してください。「(Name)」プロパティを「btnHelloWorld」に書き換えます。これがボタンの名前になります。続いて「Location」プロパティを「112,120」にします。これでボタンの位置が変わります。最後に「Text」プロパティに「Hello World!」と入力します。これはボタンに表示されるのテキストです。
「プロパティ」ウィンドウの「イベント設定」アイコンをクリックし、「Click」の右の空欄でダブルクリックしてください。ボタンをクリックしたときに呼ばれる「btnHelloWorld_Click() メソッド」がソースコードに追加されます。
ボタンをクリックしたときに呼ばれるメソッドがソースコードに追加される |
ソースコードの記述
Visual C#でソースコードを表示したいときは、ソリューションエクスプローラのファイル名をクリックします。「HelloForm.cs」などフォームを継承したGUIクラスのときは、コードでなくデザイナが表示されてしまうので、右クリック→「コードの表示」を選択します。HelloForm.csを次のリストのように記述してください。
<リスト HelloForm.cs>using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace HelloWorld{
public partial class HelloForm : Form{
private ISCL iscl;//ISCL
//コンストラクタ
public HelloForm(){
InitializeComponent();
//ISCLの初期化
iscl=new ISCL(onMessage,1);
}
//メッセージハンドラ
public void onMessage(int type, String message) {
Console.WriteLine(type+":"+message);
}
//HelloWorldボタンクリックのイベント処理
private void btnHelloWorld_Click(object sender, EventArgs e){
iscl.Send(ISCL.A, 67);
}
}
}
実行ファイルの作成
ソースコードが完成したら、実行ファイル(*.exe)を作成します。Visual C#の「ビルド」メニュー→「ソリューションのビルド」でビルドできます。成功すれば、プロジェクトの「bin/Debug」フォルダと「bin/Release」フォルダに「HelloWorld.exe」が生成されています。「bin/Debug」はデバッグ情報を持つデバッグ用の実行ファイルで、「bin/Release」は公開用のリリースファイルです。
学習リモコンをパソコンにUSBケーブルで接続後、HelloWorldを実行してください。「デバッグ」メニュー→「デバッグ開始」でデバッグ実行できます。
反応がないときは、次のことを行ってみてください。
- i-SOBOTのチャンネルABが間違ってないか確認
- 「PC-OP-RS1」の赤外線送信部をi-SOBOTの赤外線受信部に近づけて試す
- 「PC-OP-RS1」の標準アプリケーションで接続しているか確認
- COMポートの認識に失敗しているようであれば、プログラム内でポートを直接指定
さて、5回にわたって掲載したこの記事も今回で最終回です。ケータイ用、パソコン用、それぞれについて、トイプログラミングの基本の部分を紹介しました。もっといろいろなプログラムを作ってみたくなったという方は、ぜひ「PLUS ROBOT vol.1」をご覧ください。
なお、ソースコードの詳しい解説やその他のアプリの作り方は、発売中の「PLUS ROBOT vol.1」で述べています。