このブログでは定期的にArduinoでの様々な電子工作について紹介やオススメをしてい
ます。Arduinoが初めての方にも丁寧で分かりやすいブログになるように頑張っていま
す!
今回は新たに「Arduinoで楽しく開発」と題して、初心者コース③~LEDを光らせよう
~と言うことで、基本的なLEDの光らせ方を紹介します!Arduinoの始め方やどうやっ
てやるの、と言った人はぜひ過去の記事と合わせて読んでみてください!
初心者コース③~LEDを光らせよう~
Arduinoをお持ちでない方は、こちらの入出力モジュールがセットのものがオススメで
す。基本的にこのセットがあれば様々なプログラムを実際に動かして楽しめます。これ
らはArduinoUno互換品となっています。
私が使用している純正品のArduinoUnoはこちらです。
Arduino IDEの開発環境が整っていない方はこちらの記事を参考にしみてください。
1.プログラム構成
今回はシンプルにLEDの明滅(チカチカ)、Lチカを行っていきます。まずは今回使
用するプログラムを紹介します。
const int LED = 13; //① LEDはデジタルピン13に接続 void setup() { pinMode(LED, OUTPUT); //② デジタルピンに出力設定 } void loop() { digitalWrite(LED, HIGH); // ③LEDを点ける delay(500); // 0.5秒待つ digitalWrite(LED, LOW); // ④LEDを消す delay(500); // 0.5秒待つ digitalWrite(LED, HIGH); // LEDを点ける delay(200); // 0.2秒待つ digitalWrite(LED, LOW); // LEDを消す delay(200); // ⑤1秒待つ }
コメントアウト(//)でプログラムの目的を記載しています。
①まず、今回はデジタルピン13番からLEDに電圧を与えるので13番ピンをLEDの出力に
使用することを定義します。
②セットアップ(set up)内で、①で設定したLEDピン(13)のピンモードを設定しま
す。LEDは出力されることで機能するアウトプットモジュールであることからOUTPUT
で設定します。
③LEDはデジタルピンの13番に接続するのでdegitalWrite(デジタルライト)を利用して
LEDの設定してるピンにHIGHを与えます。HIGHはONの状態でありLOWはOFFの状態を
意味ます。つまり、この文ではLEDを点灯させることになります。
④③で点灯したLEDを光らせた後、500msの遅延を挟み次はLEDをLOWにします。これ
により③で点灯したLEDは0.5秒後に暗転することになります。これによりLEDの点滅が
実現できました。
⑤loopの中で繰り返される文は最後の文が終わってしまうとすぐに先頭の文に戻って実
行を繰り返します。今回、最後にLEDを操作している文はLEDを消していますが先頭の文
では点灯を指示しています。この間に時間差がないと、LEDが消されている時間が存在
しないことになります。よって、ここで遅延のdelayを挿入しています。
2.回路構成
前述のプログラムに沿って回路を作成していきます。今回は非常にシンプルです。
図の様に13番ピンとグラウンド(GND)にLEDを差し込みます。ここで注意してほしい
のはLEDのアノード(陽極、足の長いほう)を13番ピンに差し込みます。LEDは順方向
電圧でしか機能しないため逆方向の電圧をかけても意味がありません。
※今回は短時間光らせるため直接LEDに電圧をかけていますが、本来LEDは抵抗を挟ん
で使用します。長時間の点灯などを行う際には抵抗を挟まないとLEDの寿命が短くなる
ので注意しましょう。
3.実際にチカ(光)らせる
回路とプログラムが完成したらさっそくLチカを行っていきましょう。Arduinoに回路を組みIDEが入っているPCに接続し書き込みをするとLEDが点滅して光ります。
今回は以上です。次回はボタンでのLEDの制御を紹介しようと思っています!