ArduinoIDEのシリアルプロッタの縦軸(y軸)を固定する


みんな大好きArduinoIDEのシリアルプロッタ.

取得してきたアナログ値をグラフで表示してくれる便利な機能なのですが,デフォルトでは取得値ごとに縦軸が自動で縮小拡大してしまいグラフの概観を知りたい時に不便だなと思い,どうにかして解決する方法を考えてみました.

結論から言うと,ゴリ押しプレイなので優しく見守っていただければ幸いです.
(強い人は自分で縦軸固定したグラフ書けるように組んじゃうのが良いかと思います)

センサ値と定量値*2をカンマで区切る

センシングした値がぶれることによって縦軸が移動するのであれば,センシングした値とは異なる2つの定量値のデータを一緒に表示しちゃえばいいじゃない(上端と下端を固定しよう)というのが今回の解決策になります.もっとスマートな方法があると思うんですけど,とにかく今回は動けば良いということでこのような方法にしました.

SerialTest.ino
/*
20210324作成
とあるセンサのセンシングテスト
シリアル通信でアナログ値を取得してきてシリアルプロッタに表示する
*/

//取得してくるアナログ値
int value = 0;
//上端
int up = 800;
//下端
int down = 0;

void setup() 
{
  //AOをINPUTにする
  pinMode(A0,INPUT);
  //シリアル通信開始
  Serial.begin(9600);
}

void loop() 
{
  //アナログ値をセットする
  value = analogRead(A0);
  Serial.print(value);
  //カンマで区切る
  Serial.print(",");
  Serial.print(up);
  //カンマで区切る
  Serial.print(",");
  Serial.print(down);
  //改行
  Serial.println("");
  delay(50); 
}

カンマで区切ることによってIDEが異なるデータのグラフとして認識してくれるので,それを利用してずっと同じ値を表示し続けて上端と下端を固定しています.あとは自身が取得したいアナログ値によってupやdownなどの数値を変えていただければ.

シリアルプロッタを起動してみる

上記のプログラムをお手持ちのマイコンに書き込んだ後,ツール>シリアルプロッタを起動すると上端がup下端がdownに固定されたグラフとセンシングしてきたアナログ値が表示されていると思います.

以上になります.
大したことはしてないですが,ちょっとしたTipsとして活用してもらえたら嬉しいです.
何か質問などがあればTwitterのDMなどでご連絡いただければ幸いです.