注釈

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

参加する理由は?

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

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

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

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

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

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

Arduinoのプログラム構造

新しいスケッチファイルを見てみましょう。コード自体は数行しかありませんが、実際には「空の」スケッチです。 このスケッチを開発ボードにアップロードしても何も起こりません。

void setup() {
// ここにセットアップコードを記述します。一度だけ実行されます:

}

void loop() {
// ここにメインコードを記述します。何度も実行されます:

}

もし setup()loop() を削除し、スケッチを本当の blank ファイルにすると、検証に合格しないことがわかります。 これらは人間の骨格に相当し、欠かせないものです。

スケッチを書く際、 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を1回だけ点滅させる。

void setup() {
    // ここにセットアップコードを記述します。一度だけ実行されます:
    pinMode(13,OUTPUT);
    digitalWrite(13,HIGH);
    delay(500);
    digitalWrite(13,LOW);
    delay(500);
}

void loop() {
    // ここにメインコードを記述します。何度も実行されます:
}
  • スケッチ3: オンボードLEDをゆっくり1回点滅させた後、速く点滅させる。

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() は、ボードに電源が供給された後、1回だけ実行されます。

  • ボードに電源が供給されると、まず setup() が実行され、次に loop() が実行されます。

  • コードは setup()loop(){} のスコープ内に記述する必要があり、フレームワークの外部ではエラーになります。

注釈

digitalWrite(13,HIGH) のようなステートメントは、オンボードLEDの制御に使用されます。これらの使用法については、後の章で詳しく説明します。