Arduino で整数を文字列に変換する

Yousef Zahid 2023年10月12日
Arduino で整数を文字列に変換する

多くの初心者プログラマーは、本の特定の例の暗記を持っているため、整数を文字列に、またはその逆に変換するのが難しいと感じています。今後、このような問題を解決するためのシンプルで実用的なロードマップを作成していきます。

まず、コードを進める前に、必要な用語を定義しましょう。

整数は、すべて自然数のセットを定義する数学的な単語です。たとえば、-2 のような負の数は整数、0 は整数ですが、正でも負でもありません。さらに、すべての正の自然数も整数です。ただし、有理数、無理数、虚数が傘下に入らないように注意してください。プログラミング言語では、int 変数は整数を格納します。

一方、C++ の文字列は、文字の 1 次元配列にすぎません。たとえば、HU という単語は 2 文字の文字列です。文字列変数は文字を格納します。文字列クラスも存在しますが、この段階では少し複雑です。

簡単なコードで説明しましょう。

Serial.begin(9600);   // Baud rate for communication, sending bits at a rate of
                      // 9600 bits/sec.
char a[] = {72, 85};  //  define two integer in an array.
Serial.println(a);    // Prints the output a.

説明を始める前に、このコードでは、シリアルモニターが結果を表示するために、PC に接続されたライブ Arduino USB が必要であることに注意する必要があります。

ビットレートは 9600 で、これは必要です。増やすとフローが中断し、出力が不安定になる可能性があります。コード全体は、整数、文字、および 3 行の文字列です。2つの整数である 72 と 85 は、char 変数を使用して処理され、ASCII コードを使用して単語に変換されます。ライブラリからこのデータを取得した後、Serial.println コマンドは出力をシリアルモニターに送信します。ここでのこれらの 2つの文字またはアルファベットは文字列を構成しますが、必ずしもそれを定義するわけではありません。

モニターは表示用に HU を出力します。値を変更してみて、結果を自分で確認できます。

int i = 72;      // Assigns an integer value to i
char b[] = {i};  // the integer value has been assign as a variable to b
Serial.println(b);

さて、この例はあなたの典型的な例ではありません。これは単純な整数から文字への変換であり、複雑にしたい場合は、コードをさらに複雑にして文字列を導入できます。

整数、文字列、文字変数の説明

最後の例はもう少し洗練されています。

int h = 72;  // Assigning integer.
int j = 85;
char c[] = {h,
            j};  // Inputting the variable h and j into the character variable c
String(z) = c;   // Producing a string.
Serial.println(z);

最初の行から始めて、h に単純な整数値を割り当てます。j もそうです。さらに、char 変数 c は、これら 2つの変数をサブセット化し、整数から HEX に変換します。

関連記事 - Arduino String

関連記事 - Arduino Integer