着信シリアルデータに基づいてシリアルモニターウィンドウをクリアすることはできません。
いくつかのオプションを考えることができます。最も簡単な(そして最も簡単な)のはprintln()
、センサーデータを含む生成した固定幅の文字列で使用することです。
ArduinoIDEのSerialMonitorのAutoscroll
チェックボックスは、固定幅の文字列を永続的に送信する場合(おそらく、500ミリ秒の遅延で)、下部に到達してスクロールを開始すると更新されているという印象を与えることを意味します。ウィンドウの高さを縮小して、1行しかないように見せることもできます。
シリアルに適した固定幅の文字列を作成println()
するには、センサー値を文字列に変換する関数と、永続的なサイズにパッド/トリムする関数が必要です。次に、値を連結します(データが読みやすくなる場合は区切り文字を含みます)
これに似たものの出力は、私がほのめかしているものです:
| 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 |
すべてを考慮すると、これは優れたソリューションではありませんが、結果が得られます。
はるかに賢いアイデアは、Arduinoの外部に別のプログラムを構築することです。これは、Arduinoから送信されたセンサー値のCOMポートをリッスンするIDEです。Arduinoプログラムは、外部プログラムが明確に解釈できるメッセージを送信する必要があります。たとえば1=0.5;
、1=センサーIDおよび0.5=センサー値です。外部プログラムはこれらの値を保持します(センサーごとに1つ)。その後、外部プログラムはこの情報を好きなように表示できます。優れたコンソール出力は比較的簡単に実現できます:-)
C#
使用するのが楽しい.NET
のクラスがあります。serialport
(ほとんどの時間!)
Pythonには、と呼ばれるモジュールがありますpyserial
。これも簡単です。
この方法を選択した場合、どちらの言語でもコンソール出力をより細かく制御できます。