Arduino で Char 配列を印刷する

Ammar Ali 2023年10月12日
  1. Arduino で int 型の定義と Serial.println() による文字列を印刷する
  2. Arduino での char の定義と serial.println() による文字配列を印刷する
Arduino で Char 配列を印刷する

このチュートリアルでは、Arduino でループを使用して char 配列を印刷する方法について説明します。

Arduino で int 型の定義と Serial.println() による文字列を印刷する

Arduino では、int キーワードを使用して配列を初期化する場合、その要素を出力するためにループを使用する必要があります。

文字配列要素は特定のインデックスに配置され、それらを印刷するには、それぞれを個別に取得する必要があります。Arduino のループを使用してそれを行うことができます。

たとえば、インデックス 0 で始まり、配列の長さで終わる for ループを使用できます。これは、length() 関数を使用して取得できます。ループ内では、インデックスを使用して各配列要素を取得し、Serial.print() または Serial.println() 関数を使用して出力します。

Serial.print() 関数は値を 1 行に出力しますが、Serial.println() 関数は値を出力してカーソルを次の行に移動します。

たとえば、char 配列を定義し、Arduino のループを使用してシリアルモニターウィンドウに出力してみましょう。

例:

int ch[] = {'a', 'b', 'c'};

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 3; i++) {
    char c = char(ch[i]);
    Serial.println(c);
  }
}
void loop() {}

出力:

a
b
c

int を使用して char 配列を定義するとします。その場合、要素は ASCII 表現に変換され、それらを印刷するには、char() 関数を使用してそれらを char に変換し直す必要があります。そのため、上記のコードで char() 関数を使用しました。

上記のコードで char() 関数を使用しない場合、文字の ASCII 値が出力されます。

Arduino での char の定義と serial.println() による文字配列を印刷する

char キーワードを使用して char 配列を定義することもでき、ループを使用して出力する必要はありません。また、配列はすでに char データ型であるため、char() 関数を使用する必要はありません。

たとえば、char キーワードを使用してループを定義し、シリアルモニターに出力してみましょう。

例:

char ch[] = {'a', 'b', 'c'};

void setup() {
  Serial.begin(9600);
  Serial.println(ch);
}
void loop() {}

出力:

abc

各要素を別々の行に出力する場合は、上記の例と同じようにループを使用する必要があります。char 配列を文字列として定義することもできます。

たとえば、上記の char 配列を文字列として定義するには、以下のコード行を使用できます。

char ch[] = "abc";

上記の例では、インデックスを使用して char 配列の任意の要素を取得できます。たとえば、最初の配列要素を取得するには、次のコード行を使用します。

char c = ch[0];

最初の要素がインデックス 0 に配置され、文字が c 変数に格納されるため、0 を使用しました。配列に存在する文字を置き換えることもできます。

置き換えたい要素をそのインデックスを使用して取得し、新しいものと置き換える必要があります。

たとえば、上記の配列の最初の要素を置き換えるには、以下のコード行を使用します。

ch[0] = 'd';

ループを使用して、複数の配列要素を置き換えることもできます。

著者: 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

関連記事 - Arduino Array