Arduino のコンソールへの印刷

Ammar Ali 2023年10月12日
Arduino のコンソールへの印刷

このチュートリアルでは、ArduinoIDE のシリアルモニターを使用してコンソールにテキストまたは変数を印刷する方法について説明します。

シリアルモニターを使用したコンソールへの Arduino プリント

Arduino IDE の下部にはコンソールがありますが、何も印刷できません。コンソールは、コードの検証とコンパイルで情報を表示するためだけのものです。

コンソールには、コードのメモリ使用量と、コードの検証またはアップロード中のエラーがバイト単位で表示されます。変数内に格納されている値を印刷または表示するには、ArduinoIDE のシリアルモニターを使用できます。

ArduinoIDE のツールバーにあるツールタブを使用してシリアルモニターを起動できます。Serial.begin() 関数を使用して、特定のボーレートまたは速度でシリアルを開始できます。

Serial.print() および Serial.println() 関数を使用して、シリアルモニターにテキストと変数を印刷できます。

これら 2つの関数の違いは、print() 関数が変数を出力し、カーソルは同じ行に残りますが、println() 関数の場合、カーソルは印刷後に次の行に移動することです。変数。

たとえば、同じ行に 2つの変数を出力し、次の行に 3 番目の変数を出力するとします。その場合、print() 関数を使用して最初の変数を出力し、次に println() 関数を使用して 2 番目の変数を印刷し、カーソルを次の行に移動してから、print()3 番目の変数を出力するために再度関数を実行します。

シリアルモニターで変数を 1 回だけ出力する場合は、Arduino ボードがオンになっているときに 1 回だけ実行されるため、setup() 関数内で Serial.print() 関数を使用できます。

変数を継続的に出力する場合は、loop() 関数内に出力する必要があります。これは、ループ関数内のコードが Arduino のオン中にループで実行されるためです。シリアルモニターを使用して、すべてのデータ型の変数を出力できます。

たとえば、いくつかの変数を定義して、シリアルモニターに出力してみましょう。以下のコードを参照してください。

int My_Int = 10;
unsigned long My_TimeStamp = 1416803716;
const char *My_CharArray = {"This is My_CharArray"};
float My_Float = 3.14159266759;

void setup() {
  Serial.begin(9600);
  Serial.println(My_Int);
  Serial.println(My_TimeStamp);
  Serial.println(My_CharArray);
  Serial.print(My_Float, 5);  // prints to five places right of the decimal
}
void loop() {}

シリアルモニターを実行できるのは、Arduino ボードが ArduinoIDE に接続されている場合のみであることに注意してください。Serial.print() 関数で 2 番目の引数を定義することもできます。これは、変数の値を出力するための形式です。

たとえば、整数または長いデータ型の場合、2 進数の場合は BIN、10 進数の場合は DEC のように、表示する記数法を定義できます。デフォルトでは、数値は 10 進数システムで表示されます。

浮動小数点数の場合、シリアルモニターに出力する数の小数点以下の桁数を定義できます。Serial.print() 関数の詳細については、このリンクを確認してください。

Serial.print() 関数内のデータは ASCII 表現に変換されます。データをバイトのストリームとして送信する場合は、Serial.print() 関数の代わりに Serial.write() 関数を使用できます。

Serial.write() 関数の詳細については、このリンクを確認してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook