Lesson1.ファーストトライ!まずはLチカ!

開発環境のセットアップが完了したら通信テストも兼ねてシンプルなスケッチを書き込んでテストをしてみましょう。電子工作の世界では、LEDライトを点滅させるLチカと呼ばれています。プログラミング学習ではじめに習う”Hello World”のようなものですね。

■このプロジェクトで使う部品/事前の準備:
・Arduino UNO R3(互換機)

int led = 13;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

スケッチ

動作の確認
スケッチが正常に書き込めるとArduino Uno上の赤色のLEDが1秒ごとに点灯、点滅を繰り返すのが確認できます。

学んだこと
基本的なスケッチの作成手順/マイコンボードへの書き込み
GPIOポートの使い方

概要

このレッスンでは、**RobotLinking Uno R3 コントローラボード**にプログラムを書き込み、Arduinoに**内蔵されているLEDを点滅させる方法**を学びます [1]。

Arduinoにはスケッチ(プログラム)から制御できる単一のLEDが内蔵されており [1, 2]、このLEDはボード上で「L」とラベル付けされているため「L」LEDと呼ばれることが多いです [2]。ほとんどのArduinoボードでこのLEDはピン13に接続されています [3]。

🛠️ 必要な部品

このプロジェクトを進めるために、以下の部品を準備してください。

  • RobotLinking Uno board : 1個 [1]
  • USB cable : 1本 [1]

実験原理 (Principle)

Arduinoボードは通常、内蔵LEDが点滅する「Blink」スケッチがプリインストールされた状態で出荷される場合があります [2]。このレッスンでは、Arduinoに独自のBlinkスケッチを再プログラムし、点滅速度を変更することで、基本的な制御を学習します [2]。

⚙️ 実践手順

  1. スケッチのロードと保存Arduino IDEを開き、メニューシステムから File → Examples → 01.Basics にある「Blink」スケッチをロードします [4]。 提供されているサンプルスケッチは「読み取り専用」であるため [5]、変更を保存できるように File メニューから Save As.. オプションを選択し、「MyBlink」という名前で独自のコピーを保存します [5]。
  2. ボードとポートの確認USBケーブルでArduinoボードをコンピューターに接続し [6]、Tools メニューから「Board Type」(例: Arduino UnoまたはLeonardo)と「Serial Port」が正しく設定されていることを確認します [7, 8]。 設定が正しくない場合、アップロード時にエラーが発生する可能性があります [9, 10]。
  3. プログラムの書き込み (Upload)ツールバーの左から2番目にある「Upload」ボタンをクリックします [6]。 IDEのステータスエリアには、まず「Compiling Sketch..」(スケッチをボードに適した形式に変換する) [9]、次に「Uploading」(スケッチ転送中にArduinoのLEDが点滅する) [9]、そして最後に「Done」と表示されます [9]。
  4. 動作確認アップロードが完了するとボードが再起動し、内蔵LEDが点滅を開始するはずです [10]。

📚 コードの解説

Blinkスケッチの主要な構造とコマンドは以下の通りです。

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13; // LEDが接続されているピンに名前(led)を割り当てる [3]

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT); // LEDピンを出力として初期化する [11, 12]
} // setup関数はリセット後一度だけ実行される [11]

// the loop routine runs over and over again forever:
void loop() { // loop関数はsetup後に継続的に実行される [12]
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level) [12]
  delay(1000);               // wait for a second (1000ミリ秒待機) [12, 13]
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW [12, 13]
  delay(1000);               // wait for a second [13]
}
    
  • int led = 13;: LEDが接続されているピンに名前(ここでは13)を与えています [3]。
  • void setup(): スケッチがアップロードされた後やリセットボタンが押された後、一度だけ実行されます [11]。
  • pinMode(led, OUTPUT);: LEDピンを出力モードとして使用することをArduinoボードに伝えます [12]。
  • void loop(): `setup`の実行後、無限に繰り返されるルーチンです [12]。
  • digitalWrite(led, HIGH);: LEDピンに高い電圧(HIGH)を供給し、LEDを点灯させます [12]。
  • delay(1000);: 1000ミリ秒(1秒)間、プログラムの実行を停止します [13]。
  • digitalWrite(led, LOW);: LEDピンを低い電圧(LOW)にし、LEDを消灯させます [13]。

💡 点滅速度の変更

LEDの点滅速度を変更するには、delayコマンドの括弧内のパラメータを変更します [13]。このパラメータはミリ秒単位であるため、値を**1000から500に変更**すると、それぞれの遅延が半減し、LEDは2倍の速さで点滅します [14]。変更後、スケッチを再度アップロードして動作を確認してください [14]。