3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita×Findy記事投稿キャンペーン 「自分のエンジニアとしてのキャリアを振り返ろう!」

Arduino IDE 2.x のシリアルプロッタは、シリアルモニタと同時表示できる、他

Last updated at Posted at 2024-03-09

概要

シリアルプロッタはデータの変化をグラフで確認できて便利そうだ、ということは以前から知ってましたが最近になって(Arduino IDEを2.3にアップデート以降に)初めて使用しました。使い方を検索する中で Arduino IDE 2.x からシリアルプロッタの機能がバージョンアップされていることが分かりました。

Arduino IDE 2.x のシリアルプロッタのチュートリアル(英語)が下記にありますが、ここに書かれていることやサンプルプログラム(スケッチ)を引用しながらシリアルプロッタの追加された機能を紹介します。

■ シリアルモニタと、シリアルプロッタの同時表示

これはできません、という記事をネットで散見します。 Arduino IDE 1.8 の頃はそうだったようです。 しかし IDE 2.x では両方同時に表示できます!!

シリアルモニタ+プロッタ.JPG

シリアルモニタと、シリアルプロッタのアイコンをクリックして、それらをスケッチで記述したのと同じボーレートに設定すればOKです。

起動アイコン、ボーレート設定.JPG

■ 複数のデータのグラフを表示するには

以下のように Serial.print() で「1つ目の変数」「カンマ」「2つ目の変数」「最後はlnで改行」をシリアル出力します。

  Serial.print(random_variable);
  Serial.print(",");
  Serial.println(static_variable);

■ グラフの凡例の表示

凡例の設定をしないとデフォルトでは下図のように 「value1」「value2」 と表示されます。
シリアルプロッタ、デフォルトの凡例.JPG

これを任意の文字列にするには Serial.print() で 「1つ目の凡例:」「1つ目の変数」「カンマ」「2つ目の凡例:」「2つ目の変数」「最後はlnで改行」 の順にシリアル出力します。下記は、チュートリアルの乱数(0〜1023)を表示するサンプルプログラムです。

int random_variable;
int static_variable = 500;

void setup() {
  Serial.begin(9600);
}

void loop() {
  random_variable = random(0, 1000);

  Serial.print("Variable_1:");
  Serial.print(random_variable);
  Serial.print(",");
  Serial.print("Variable_2:");
  Serial.println(static_variable);
}

これを実行すると以下のように表示されます。デフォルトの「value1」「value2」から「Variable_1」「Variable_2」に変わってます。
random_plotter.gif

【要注意1】 Serial.print("Variable_1:"); の Variable_1: の「:」はとっ~ても重要、べりーいんぽーたんとです。これが無いとグラフは表示されません!!!

凡例が、ではなくグラフそのものが表示されなくなります。Variable_2: の「:」も同じです。 面白いので是非試してください。昔C言語の入門書で読んだ、カンマ1つでロケットが落ちた、という話を思い出しました。

【要注意2】スペースに注意!
例えば Serial.print("Variable 1:"); のようにスペースがあるとスペース以降の文字列のみ、この場合は"1"のみが凡例として表示されます。

■ グラフの凡例のボタンをクリックするとグラフ表示をON/OFFできます。

これもArduino IDE 2.x 以降に追加された機能です。

enabledisable_plotter.gif

■ 補間

interpolate ボタンをクリックすると、データの移り変わりが尖った直線から、なめらかな曲線になるように補間した表示になります。

シリアルプロッタ補間の有無.JPG

■ グラフの「STOP/RUN」と「表示クリア」ボタン

シリアルプロッタのボタン3個.JPG
・この3つのボタンも IDE 2.X で追加されました。
・グラフは次から次へと新しいデータが流れるように表示しますが「あれっ?この変化は何?」と思って表示を停止してじっくり観察したい時などにSTOPボタンを押します。もう一度押すと表示を再開します。
・クリアボタンを押すとグラフは消去されます。このアイコンがグラフを消すことを意味している、というのはちょっと分かり難い、ピンとこないですね。

■ グラフ縦軸が暴れるのを抑える

下図はチュートリアルのポテンショメータ(可変抵抗器、ボリューム)のサンプルスケッチのシリアルプロッタ出力画面です。

potentiometer_plotter.gif

縦軸(y軸)が上下に変動するのが非常に気になります。これを固定するためのアイデアが下記サイトで紹介されています。

【他の投稿記事:Arduino】

【他の投稿記事:Raspberry Pi Pico】

【他の投稿記事:ESP32】

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?