Arduino プログラムの構造¶
新しいスケッチファイルに目を通してみましょう。数行のコードが含まれているものの、実際には「空の」スケッチです。 このスケッチを開発ボードにアップロードしても、何も実行されません。
void setup() {
// 初期設定のコードはここに記述します。一度だけ実行されます:
}
void loop() {
// メインのコードはここに記述します。これは繰り返し実行されます:
}
もし setup()
と loop()
を削除してスケッチを真に「空白」にした場合、検証に失敗することに気付くでしょう。
これらは人間の骨格に相当し、欠かせない要素です。
スケッチ作成の過程で、 setup()
が最初に一度だけ実行されます。開発ボードが電源投入またはリセットされた後、その中のコード( {}
内)が一度だけ実行されます。
loop()
は主要な機能を実装するために使用され、 setup()
実行後にその中のコードは繰り返し実行されます。
setup()
と loop()
の動作をより深く理解するために、4つのスケッチを用いてみましょう。それぞれの目的は、Arduino のオンボードLEDを点滅させることです。各実験を順番に行い、その具体的な効果を記録してください。
スケッチ1:オンボードLEDを連続して点滅させる。
void setup() {
// 初期設定のコードはここに記述します。一度だけ実行されます:
pinMode(13,OUTPUT);
}
void loop() {
// メインのコードはここに記述します。これは繰り返し実行されます:
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
}
スケッチ2:オンボードLEDを一回だけ点滅させる。
void setup() {
// 初期設定のコードはここに記述します。一度だけ実行されます:
pinMode(13,OUTPUT);
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
}
void loop() {
// メインのコードはここに記述します。これは繰り返し実行されます:
}
スケッチ3:オンボードLEDを一回ゆっくり点滅させ、その後速く点滅させる。
void setup() {
// 初期設定のコードはここに記述します。一度だけ実行されます:
pinMode(13,OUTPUT);
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
void loop() {
// メインのコードはここに記述します。これは繰り返し実行されます:
digitalWrite(13,HIGH);
delay(200);
digitalWrite(13,LOW);
delay(200);
}
スケッチ4:エラーを報告する。
void setup() {
// 初期設定のコードはここに記述します。一度だけ実行されます:
pinMode(13,OUTPUT);
}
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
void loop() {
// メインのコードはここに記述します。これは繰り返し実行されます:
}
これらのスケッチを活用して、 setup-loop
のいくつかの特性を総括することができます。
開発ボードが電源投入後、
loop()
は繰り返し実行されます。開発ボードが電源投入後、
setup()
は一度だけ実行されます。開発ボードが電源投入後、最初に
setup()
が実行され、その後loop()
が続きます。コードは
setup()
またはloop()
の{}
スコープ内で記述する必要があり、フレームワークの外で書かれた場合はエラーとなります。
注釈
digitalWrite(13,HIGH)
のような文は、オンボードLEDの制御に使用され、後の章でその詳細な使い方について説明します。