このチュートリアルでは、スケッチの各部分がどのように機能するかを学習します。
スケッチ
スケッチとは、Arduinoと86Duinoがプログラムを指す名称です。Arduinoまたは86Duinoボードにアップロードされ、実行されるコードの単位です。
コメント
Blink スケッチの最初の数行はコメントです。
/* * Blink * * The basic Arduino example. Turns on an LED on for one second, * then off for one second, and so on... We use pin 13 because, * depending on your Arduino board, it has either a built-in LED * or a built-in resistor so that you need only an LED. * * http://www.arduino.cc/en/Tutorial/Blink */
Arduino/86Duino は、スケッチを実行するときに、/* と */ の間にあるすべての内容を無視します (各行の先頭の * は、コメントの体裁を整えるためだけのもので、必須ではありません)。これは、コードを読む人のために、プログラムが何をするのか、どのように動作するのか、なぜそのように書かれているのかを説明するためにあります。スケッチにコメントを付け、コードを変更したときにコメントを最新の状態にしておくことは、よい習慣です。こうすることで、他の人があなたのコードを参考にしたり、コードを変更したりしやすくなります。
短い1行コメントには別のスタイルがあります。これは//で始まり、行末まで続きます。例えば、次の行では
int ledPin = 13; // LED connected to digital pin 13
「LED がデジタルピン 13 に接続されています」というメッセージはコメントです。
変数
変数は、データを保存する場所です。変数には名前、型、値があります。たとえば、上記の Blink スケッチの行では、名前が ledPin、型が int、初期値が 13 の変数を宣言しています。これは、LED が接続されている Arduino/86Duino ピンを示すために使用されます。コード内に名前 ledPin が出現するたびに、その値が取得されます。この場合、プログラムを作成する人は、ledPin 変数を作成せずに、ピン番号を指定する必要があるすべての場所に 13 と記述することもできます。変数を使用する利点は、LED を別のピンに移動するのが簡単なことです。変数に初期値を割り当てる 1 行を編集するだけで済みます。
しかし、スケッチの実行中に変数の値が変化することがよくあります。例えば、入力から読み取った値を変数に格納することができます。詳しくは変数チュートリアルをご覧ください。
機能
関数(またはプロシージャ、サブルーチンとも呼ばれます)は、スケッチ内の他の場所から使用できる名前付きのコードです。例えば、Blinkの例にあるsetup()関数の定義は次のとおりです。
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}最初の行は、関数名「setup」などの関数に関する情報を提供します。関数名の前後のテキストは、戻り値の型とパラメータを指定します。これらについては後ほど説明します。{ と の間のコードは、関数の 本体 と呼ばれ、関数が何を行うかを示します。
すでに定義されている関数を呼び出すこともできます(スケッチ内、または 86Duino language の一部として)。たとえば、行 pinMode(ledPin, OUTPUT); は、pinMode() 関数を呼び出し、ledPin と OUTPUT の 2 つのパラメータを渡します。これらのパラメータは、pinMode() 関数によって、設定するピンとモードを決定するために使用されます。
pinMode(), digitalWrite(), and delay()
pinMode() 関数は、ピンを入力または出力として設定します。使用するには、設定するピンの番号と定数 INPUT または OUTPUT を渡します。入力として設定すると、ピンはプッシュボタンなどのセンサーの状態を検出できます(Arduino チュートリアル を参照)。出力として設定すると、LED などのアクチュエータを駆動できます。
digitalWrite() 関数はピンに値を出力します。例えば、次の行は
digitalWrite(ledPin, HIGH);
ledPin(ピン13)をHIGH(5ボルト)に設定します。LOWを書き込むと、ピンはグランド(0ボルト)に接続されます。
delay() は、86Duino が次の行に進む前に、指定されたミリ秒数だけ待機するように指示します。1秒は1000ミリ秒なので、次の行は次のようになります。
delay(1000);
1秒の遅延を作成します。
setup() and loop()
86Duino のスケッチには、setup() と loop() という 2 つの特別な関数が含まれています。setup() はスケッチの開始時に一度だけ呼び出されます。ピンモードの設定やライブラリの初期化などのセットアップタスクを実行するのに適しています。loop() 関数は繰り返し呼び出され、ほとんどのスケッチの心臓部です。必要がない場合でも、両方の関数をスケッチに含める必要があります。
参照
- [Language] setup()
- [Language] loop()
- [Language] pinMode()
- [Language] digitalWrite()
- [Language] digitalRead()
- [Language] delay()
Language Reference Home
86Duinoリファレンスのテキストは、Arduinoリファレンスを改変したもので、Creative Commons Attribution-ShareAlike 3.0ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。