CPLTでマイコンからの通信データをグラフ化してみる
センサー等の実験でマイコンで読み込んだデータをリアルタイムでグラフ表示したくなった。 Visual Studioでソフトを作るのも面倒臭いのでいいフリーソフトを探してみたら 「CPLT」なるソフトを見つけた。
CPLTは(株)データ・テクノさんが配布しているフリーソフトでRS232C形式の通信で簡単にグラフを描画してくれる。 ダウンロードはここからできる http://www.datatecno.co.jp/download_other/
今回はその使い方を自分向けの備忘録として書いてみた。
CSVファイル形式で仮想COMポート経由でマイコンから値を入力すると、ほぼリアルタイムで出力される。 シンプルで使いやすい。
csv形式とは、主に表を保存する形式で、Character Separated Valuesの略で値をカンマで区切るという意味。つまり、表の列をカンマで区切り列を改行で区切るテキスト形式だ。
excelでも読み書きできる。
マイコンからは、UART通信をFTDI等のUSBシリアル変換IC経由でPCにつないで、
printf("\n\r%d,%d",ad0,ad1);
のように出力すると読みだすことができた。 マイコンでは stdio.h の sprintf で文字列変換してから送信するほうがプログラムがらくだと思う。
今回はセンサからの入力をAD変換してその結果をシリアルで出力した。 グラフの数はカンマで区切って出力することで増やせる。この場合は2つのグラフを同時に描画してくれる。
printf("%d,%d\r\n",ad0,ad1); では何故か読み込めなかった。
横軸は時間ではなく要素数であるから注意が必要だ。
ボーレート等は任意に設定ができる。今回は図のように設定した 。 縦軸は色とオフセットと値に掛ける係数が設定できる。
マイコンの通信が準備できたら、ロギングを開始する。リアルタイムでグラフ化しながらCSV形式で保存されるからさらに便利だ。