1. センサ値を監視するPCアプリケーションをつくる
今回は, Visual C♯ Express 2010で Windows formアプリケーションをつくった。
- グラフの描画 : NPlotというライブラリを使う。縦軸はセンサからADCを通った後の値, 横軸は時間 (受信データ数)とした。
- エクセルへのエクスポート : Microsoft.Office.Interop.Excelでサポートされている
- マイコンとのUART通信 : .NET Framework 2.0のシリアルポートクラスを使う。
private void connectButton_Click(object sender, EventArgs e)// 通信開始
{
try
{
// 通信ポートが開いているかどうかの判定
if (serialPort1.IsOpen == false)
{
// 通信ポートを開く場合の処理
serialPort1.Open(); // 通信ポートを開く
connectButton.Text = "通信停止";
}
else
{
// 通信ポートを切断する場合の処理
serialPort1.Close(); // 通信ポートを切断
connectButton.Text = "通信開始";
}
}
catch (Exception ex)
{
// 通信ポートの接続・切断時のエラー処理
MessageBox.Show(ex.Message, "接続エラー",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
受信した文字列が照度センサからの値かを判定した後に、可変長配列に入れていく。
一定間隔でグラフ描画するメソッドを呼び出す。
2. 送信タイミングをマイコン側プログラムで調整
PC側かマイコン側でデータの受信(または送信)間隔を制御しないと, マシンに負荷がかかってしまう。
今回はマイコン側プログラムのfor文空回りで時間を潰した。
3. 結果
Windowsのタスクマネージャみたいな感じです(´∀`)ノ
真っ暗にしても, ADCRが0とならないのはセンサのアナログ電気的な特性もしくはADCの特性に依るものだろう。
今回で78Kマイコン日記はひとまず終了(`・ω・)ゞ
今は, MSP430とZigBeeでホームオートメーション的なシステムを目指して作っているので余裕ができれば書きます。