arduinoのデーターをCSVでEXCELに読み込む
arduinoで集約したデーターをEXCELに読み込みグラフを作ると結構な手間がかかっていましたこんな感じですTeratermのログをテキストファイルとしてEXCELに読み込み関数を使って分離する [11/11 12:27] 1.ch 20.2C 1012.0hp 50.9% これを分解するのです =MID() =VALUE() =RIGHT() などを使って・・・・最初からCSVファイルにしたら簡単にEXCELに読み込めるのだが・・・・TeratermのログをマクロでCSVファイルにできるらしい?読んでみたが理解できなかったTeratermとarduinoをいじって独自にやってみてできたのがこれです最初にTeratermのタイムスタンプをいじります ; Timestamp format of Log each line LogTimestampFormat=%m/%d%H:%M 標準は [11/11 12:27] となります LogTimestampFormat=,%m/%d,%H:%M, カンマを3箇所追加します 結果は [,11/14,03:54,] こうなりますaruduinoでデーターの区切りにカンマを追加します Serial.println(",ch,d1,d2,d3 "); //起動時に項目を1回だけ書き出します Serial.print(","); //タイムスタンプの最後の ] を抽出します Serial.print(ch); Serial.print("Ch,"); //CH数にChを追加して区切ります Serial.print(ond); Serial.print(","); //温度数値を書いて区切ります Serial.print(kiatu); Serial.print(","); //気圧数値を書いて区切ります Serial.print(situdo); Serial.println(" "); //湿度数値を書いて空白を入れますパソコンに接続したarduinoは無線でCH1/2/3/5/9と局番を付けた適当に1分間隔で送られてくるデーターを受信しています(詳細は2021/11/08の記事これにCH5/9を追加しました)Teratermで記録されたログ.logにはこのように書き出されます [,11/14,03:54,] ,ch,d1,d2,d3 [,11/14,03:54,] ,2Ch,22.0,1018.6,0.0 [,11/14,03:54,] ,3Ch,21.7,1020.8,0.0 [,11/14,03:54,] ,5Ch,15.4,1020.4,0.0 [,11/14,03:55,] ,9Ch,63.0,0.0,0.0 [,11/14,03:55,] ,1Ch,18.1,1019.9,48.9 Teratermのログの拡張子を.CSVに変更するとEXCELで開けますTeratermの仕様でしょう[ 日 時 ]を囲っている[ ]は外せないようです読み込んで [ ] のある列を削除するとデーターは完成です2A&2Bを"日付"&"時刻"と書き換えればすでに立派なEXCELデーターベースですTeratermのログをEXCELに読み込むことができましたTeratermのログの設定でファイル拡張子をCSVに変更すれば完成したログはそのままEXCELで開けますが、計測中のログ.CSVを開くことはできません。(ファイル使用中になります)2022/09/08※当然のことですが、計測中のログをコピーして貼り付け.CSVに拡張子を変更することで現在時刻までのデーターを取り込むことができました。