バージョン情報
TWE-Lite DIP , Visual C# 2013 , Visual Studio Express 2013 for Windows Desktop , windows 8.1
以前、試してみた無線マイコン『TWE-Lite DIP』を使って、PCでセンサの値を無線で受信してみた。今回はC#でチャレンジ。
実験内容
アナログセンサ : フォトリフレクタ
↓
TWE-Lite DIP
↓ (無線)
PC : Visual C#で表示
回路は前回と同じ。
PC側のプログラミング
今回はボタンを二つ(接続、切断)とテキストボックスをひとつ用意し、シリアルポートの設定をする。
【Form1.csの中身】
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace _20140604_serial_test01 { public partial class Form1 : Form { string RxString; public Form1() { InitializeComponent(); } private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { RxString = serialPort1.ReadLine(); this.Invoke(new EventHandler(DisplayText)); } private void button1_Click(object sender, EventArgs e) { serialPort1.Open(); } private void button3_Click(object sender, EventArgs e) { serialPort1.Close(); } private void DisplayText(object sender, EventArgs e) { textBox1.AppendText(RxString + Environment.NewLine); } } }
実行結果はこんな感じ。
1秒毎にデータを受信しているのが確認できる。センサに指を近づけるともっと早い周期でデータを受信するようだ。この辺りはピンへの入力で設定を変更できるようだ。詳細はメーカーHP参照。
受信したデータについての説明のページを見て解析してみる。(注意:このページになかなかたどりつけない。)
センサの状態に応じてAIの値が変化しているのが確認できた。あとは必要な部分の文字列を抜き出して数値に変換すればグラフ化などはできそうだけど、今回はとりあえずここまで。