注釈
こんにちは、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までの数を保持できます。boolean:TrueまたはFalseの2つの値のみを保持しますが、メモリ上では1バイトを占めます。char:-127から127までの数を保持します。charとしてマークされているため、コンパイラは ASCII table of characters の文字に一致させようとします。string:文字列を保持できます。例えばHalloweenなど。
変数名
変数名は i 、 apple 、 Bruce 、 R2D2 、 Sectumsempra など、好きな名前を設定できますが、基本的なルールに従う必要があります。
その使用目的を記述します。ここでは、変数名をdelayTimeとしていますので、その用途を簡単に理解できます。
barryAllenと名付けても問題ありませんが、コードを見る人を混乱させる可能性があります。通常の命名法を使う。私のようにキャメルケースを使い、頭文字のTを
delayTimeとすることで、変数が2つの単語から構成されていることが簡単にわかるようになります。また、UnderScoreCaseを使って変数をdelay_timeと書くこともできます。プログラムの実行には影響しないが、自分の好きな命名法を使えば、プログラマーがコードを読むのに役立つだろう。キーワードの使用は避けてください。例えば「int」と入力すると、Arduino IDEはそれを特別な目的を持つ単語として色分けして、変数名として使用できないことを思い出させてくれます。変数名が色付けされた場合は、名前を変更してください。
特殊記号は使用できません。例えば、空白、#、$、/、+、%などです。英字(大文字小文字区別あり)、アンダースコア、数字(ただし、変数名の最初の文字としては使用できません)の組み合わせは十分に豊富です。
変数に値を割り当てる
変数を宣言したら、データを保存する時が来ます。代入演算子(つまり =)を使用して、変数に値を入れます。
変数を宣言すると同時に値を割り当てることができます。
int delayTime = 500;
また、後で新しい値を割り当てることも可能です。
int delayTime; // no value
delayTime = 500; // value is 500
delayTime = delayTime +200; // value is 700