注釈

こんにちは、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 が行うことの複製ですか?答えはNOです。

  • #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; //各実行で値が200増加
}

変数の宣言

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

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

この変数を例に使用してみましょう。

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. 一般的な命名規則を使用します。私のようにCamelCaseを使用することもできますし、変数が二つの単語で構成されていることが分かりやすいように、 delayTime のTのように最初の文字を大文字にすることもできます。また、UnderScoreCaseを使用して変数を delay_time として書くこともできます。これはプログラムの実行に影響しませんが、好みの命名規則を使用すると、プログラマがコードを読むのが楽になります。

  3. キーワードを使用しない。"int"を入力すると、Arduino IDEはそれを色付けして、それが特別な目的を持つ単語であり、変数名として使用できないことをリマインドします。変数の名前が色付けされている場合は、名前を変更してください。

  4. 特別なシンボルは許可されていません。例えば、スペース、#、$、/、+、%などです。英字(大文字/小文字を区別)、アンダースコア、数字の組み合わせ(ただし、数字は変数名の最初の文字として使用できません)は十分にリッチです。

変数に値を代入する

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

変数を宣言すると同時にその値を代入することができます。

int delayTime = 500;

それをある時点で新しい値に代入することも可能です。

int delayTime; // 値なし
delayTime = 500; // 値は500
delayTime = delayTime +200; // 値は700