3 Arduino に「Lチカ」プログラムを書き込む
この記事では、Arduino の内蔵 LED を点滅させるプログラムを書き込む手順を学習します。
UNO R3 ボードには、スケッチから制御できる LED が一つあります。 この LED は ボード上に「L」と印字されているため「L」LED と呼ばれています。
購入したばかりの、Arduino Uno R3 ボードには 通常「Blink」スケッチが工場出荷時にプリインストールされているため、USB プラグでPCと接続すると「L」LED は、点滅します。
この記事では、独自の Blink スケッチをボードに再プログラムし、「L」LED の点滅間隔を変更します。
サンプルスケッチの読み込み
Arduino IDE には、すぐに使用できるサンプルスケッチが沢山準備されており、「L」LED を点滅させるためのスケッチ例もこのサンプルに含まれています。
IDE のメニューから[ファイル]> [スケッチ例]> [01.Basics]> [Blink]スケッチを選択してサンプルスケッチを読み込みます。
スケッチの保存
Arduino IDE に含まれているスケッチ例は「読み取り専用」です。 つまり、そのスケッチを UNO R3 ボ ードに書き込むことはできますが、スケッチの一部を変更した場合は、変更したスケッチを同じ名前で保存することはできません。
そのため、変更を加えたスケッチを再利用する予定がある場合には、別名でスケッチを保しておく必要がありす。
ここでは Arduino IDE のファイルメニューから「名前を付けて保存」を選択し、スケッチを「MyBlink」とい う名前で保存しました。
スケッチブックにスケッチのコピーを保存しました。 つまり、これを再度読み込みたい場合は、「ファイル」>「スケッチブック」メニューを使用して読み込むことができます。
Arduino ボードを USB ケーブルで接続
コンピュータに Arduino ボードを USB ケーブルで接続しボードタイプとシリアルポートが正しく設定 されていることを確認します。
注:は、 Arduino IDE ウィンドウの下部にあるステイタス欄でも現在のボードタイプとシリアルポート設定を確認することができます。
スケッチをArduino ボードに書き込む
ツールバーの左から 2 番目の[書き込み]ボタンをクリックします。
IDE のステータス領域を見ると、進行状況バーと一連のメッセージが表示されます。
次に、ステータスが「書き込み中」に変わります。 この時、Arduino の LED は激しく点滅しスケッチ が転送されることを示します。
書き込みが終了するとステータスが「完了」に変わり、メッセージは、スケッチが利用可能な 32,256 バイトの 924 バイトを使用していることを示します。
スケッチを変更
スケッチの主要部分をおさらいします。
// 初期化パート -------------------- void setup() { // 内臓 LED ピンを出力に指定 pinMode(LED_BUILTIN, OUTPUT); } // 繰り返しパート -------------------- void loop() { digitalWrite(LED_BUILTIN, HIGH); // LEDを点灯 delay(1000); // 1秒遅延 digitalWrite(LED_BUILTIN, LOW); // LEDを消灯 delay(1000); // 1秒遅延 }
LED点滅速度の変更
ループ関数の中で、まず LED ピンを(HIGH)にしてから、1000 ミリ秒(1 秒)だけ遅延させ、LED ピンをオフにしてもう 1 秒間遅延します。
つまり、LED を点滅間隔を変更するには、 'delay'コマンドのカッコ内のパラメータを変更することで実現できます。
遅延時間はミリ秒単位のため、LED を 2 倍の速さで点滅させる場合は、値を 1000 から 500 に 変更します。これで、0.5 秒ごとに点滅を繰り返します。
スケッチを再びアップロードすると、LED が速い速度で点滅します。
出力ポートの変更
外部に LED を取り付ける場合、プログラムコードの「LED_BUILTIN」3箇所を Digital Port 番号(0 〜 13)に置き換えることで可能です。なお、内臓 LED は、Port 13 に接続されています。
使用した Arduino命令
今回使用したArduino関連の命令の簡単な説明とその日本語レファレンスの掲載されているリンクを紹介します。
- pinMode(pin, mode)
ピンの動作を入力か出力に設定 - digitalWrite(pin, value)
指定したピンにHIGHまたはLOWを出力 - delay(ms)
プログラムを指定した時間だけ消費 単位はミリ秒
以上で、『Lチカ』プログラムを書き込みと、スケッチの一部変更が完了しました。
次回は、Arduino IDE の設定を変更する方法を学習します。