注釈
こんにちは、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までの数字を保持。boolean
:True
またはFalse
の2つの可能な値のみを保持し、メモリ内で1バイトを占有。char
:-127から127までの数字を保持。char
としてマークされているため、コンパイラはそれを ASCII table of characters の文字と一致させようとします。string
:文字列を格納できます、例えばHalloween
。
変数名
変数名は i
、 apple
、 Bruce
、 R2D2
、 Sectumsempra
など、任意の名前に設定できますが、基本的なルールに従う必要があります。
それが何に使われるのかを説明します。ここでは、変数の名前をdelayTimeとしていますので、それが何をするのかが簡単に分かります。変数の名前を
barryAllen
とするのも良いですが、コードを見ている人を混乱させるでしょう。一般的な命名規則を使用します。私のようにCamelCaseを使用することもできますし、変数が二つの単語で構成されていることが分かりやすいように、
delayTime
のTのように最初の文字を大文字にすることもできます。また、UnderScoreCaseを使用して変数をdelay_time
として書くこともできます。これはプログラムの実行に影響しませんが、好みの命名規則を使用すると、プログラマがコードを読むのが楽になります。キーワードを使用しない。"int"を入力すると、Arduino IDEはそれを色付けして、それが特別な目的を持つ単語であり、変数名として使用できないことをリマインドします。変数の名前が色付けされている場合は、名前を変更してください。
特別なシンボルは許可されていません。例えば、スペース、#、$、/、+、%などです。英字(大文字/小文字を区別)、アンダースコア、数字の組み合わせ(ただし、数字は変数名の最初の文字として使用できません)は十分にリッチです。
変数に値を代入する
変数を宣言したら、データを保存する時がきました。代入演算子(すなわち =
)を使用して、変数に値を入れます。
変数を宣言すると同時にその値を代入することができます。
int delayTime = 500;
それをある時点で新しい値に代入することも可能です。
int delayTime; // 値なし
delayTime = 500; // 値は500
delayTime = delayTime +200; // 値は700