注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ ここ]をクリックして今すぐ参加しましょう!

変数

変数はプログラムにおいて最も強力で重要なツールの一つです。変数を使うことで、プログラム内でデータを保存し、呼び出すことができます。

以下のスケッチファイルは変数を使用しています。オンボードLEDのピン番号を ledPin 変数に、数値「500」を delayTime 変数に保存しています。

int ledPin = 13;
int delayTime = 500;

void setup() {
    pinMode(ledPin,OUTPUT);
}

void loop() {
    digitalWrite(ledPin,HIGH);
    delay(delayTime);
    digitalWrite(ledPin,LOW);
    delay(delayTime);
}

これは #define が行うことと同じではありませんか?答えは「ノー」です。

  • #define の役割は単純にテキストを直接置き換えることであり、プログラムの一部としてコンパイラに認識されません。

  • 一方、 variable はプログラム内に存在し、値の保存や呼び出しに使用されます。また、defineではできないようなプログラム内での値の変更も可能です。

以下のスケッチファイルは変数に自己加算を行い、オンボードLEDの点滅時間が各点滅ごとに長くなります。

int ledPin = 13;
int delayTime = 500;

void setup() {
    pinMode(ledPin,OUTPUT);
}

void loop() {
    digitalWrite(ledPin,HIGH);
    delay(delayTime);
    digitalWrite(ledPin,LOW);
    delay(delayTime);
    delayTime = delayTime+200; //Each execution increments the value by 200
}

変数の宣言

変数を宣言するとは、変数を作成することを意味します。

変数を宣言するには、データ型と変数名が必要です。データ型は変数名とスペースで区切られ、変数宣言は ; で終了する必要があります。

この変数を例にしましょう。

int delayTime;

データ型

ここでの int は整数型と呼ばれるデータ型で、-32768から32766までの整数を保存するのに使用できます。小数点数の保存には使用できません。

変数は整数以外のさまざまな種類のデータを保持することができます。Arduino言語(C++であることを忘れずに)は、いくつかのデータ型(ここでは最も頻繁に使用され、便利なもののみをリストアップします)をサポートしています:

  • float:小数点数を保存するために使用されます。例えば3.1415926など。

  • byte:0から255までの数を保持できます。

  • booleanTrue または False の2つの値のみを保持しますが、メモリ上では1バイトを占めます。

  • char:-127から127までの数を保持します。 char としてマークされているため、コンパイラは ASCII table of characters の文字に一致させようとします。

  • string:文字列を保持できます。例えば Halloween など。

変数名

変数名は iappleBruceR2D2Sectumsempra など、好きな名前を設定できますが、基本的なルールに従う必要があります。

  1. その使用目的を記述します。ここでは、変数名をdelayTimeとしていますので、その用途を簡単に理解できます。 barryAllen と名付けても問題ありませんが、コードを見る人を混乱させる可能性があります。

  2. 通常の命名法を使う。私のようにキャメルケースを使い、頭文字のTを delayTime とすることで、変数が2つの単語から構成されていることが簡単にわかるようになります。また、UnderScoreCaseを使って変数を delay_time と書くこともできます。プログラムの実行には影響しないが、自分の好きな命名法を使えば、プログラマーがコードを読むのに役立つだろう。

  3. キーワードの使用は避けてください。例えば「int」と入力すると、Arduino IDEはそれを特別な目的を持つ単語として色分けして、変数名として使用できないことを思い出させてくれます。変数名が色付けされた場合は、名前を変更してください。

  4. 特殊記号は使用できません。例えば、空白、#、$、/、+、%などです。英字(大文字小文字区別あり)、アンダースコア、数字(ただし、変数名の最初の文字としては使用できません)の組み合わせは十分に豊富です。

変数に値を割り当てる

変数を宣言したら、データを保存する時が来ます。代入演算子(つまり =)を使用して、変数に値を入れます。

変数を宣言すると同時に値を割り当てることができます。

int delayTime = 500;

また、後で新しい値を割り当てることも可能です。

int delayTime; // no value
delayTime = 500; // value is 500
delayTime = delayTime +200; // value is 700