どうも、なかしーです。
僕は自動車のマイコンにプログラミングをする組み込みエンジニアとして働きつつ、YouTubeでArduinoの使い方を解説しています。
>>なかしーの電子工作部
ArduinoでLEDを点滅させる方法を知りたいなぁ
という悩みにお答えします。
マイコンの入門書で最初に紹介していることが多いので、LEDの点滅です。
LEDがチカチカ光ることから「Lチカ」と呼ばれています。
ローソンのLチキみたいですね(笑)
ArduinoでLEDを点滅させるには、
- LEDと抵抗をArduinoに接続
- ArduinoでLEDを点滅させるプログラムを作る
この2つが必要です。
それぞれ詳しく解説していきます。
動画でも解説しています。
ArduinoでLEDを点滅させる回路
今回使う部品はLEDと抵抗です。
回路は下の図のように、抵抗とLEDをArduinoに接続するだけです!
LEDは取り付ける方向が決まっているので、間違えて反対に挿さないように注意してください!
反対に挿すと正しいプログラムで動かしたとしても、LEDは点灯しません。
LEDの足が長い方(画像だと左)がアノードで、足が短い方(画像の右側)がカソードとなっています。
アノードを抵抗に、カソードをArduinoのGNDに接続してください。
抵抗の反対側はArduinoの7ピンに接続しています。
ブレッドボードの使い方が分からない方はこちらの記事を読んでください!
>>ブレッドボードの使い方【現役エンジニアが教える電子工作】
ArduinoでLEDを点滅させるプログラミング
ArduinoでLEDを点滅させる流れを考えてみましょう。
LEDの点滅は「点灯→消灯→点灯」を繰り返します。
点灯と消灯だけを実行するプログラムだと、高速で点灯と消灯が切り替わってしまいます。
そこで、状態を保ったまま待機する時間を作ります。
待機する処理を入れると「点灯→待機→消灯→待機→点灯」となり、待機する時間の設定に応じて点滅する速度が変わる仕組みです。
これをArduinoのプログラミングにすると下のようになります。
void setup() {
pinMode(7, OUTPUT);//7ピンの入出力設定
}
void loop() {
digitalWrite(7,HIGH);//LEDを点灯
delay(500);//0.5秒待つ
digitalWrite(7,LOW); //LEDを消灯
delay(500);//0.5秒待つ
}
このプログラミングについて解説します。
pinMode(ピン、入力or出力)
pinModeはArduinoのポートを入力か出力のどちらで使うか設定する関数です。
カッコの最初に設定するピンの番号を入力し、入力か出力かを打ち込みます。
入力の場合はINPUTで、出力の場合はOUTPUTになります。
今回のLEDの点滅は7ピンを出力ポートとして使うのでOUTPUTにしています。
digitalWrite(ピン,HIGHorLOW)
出力として設定したピンに電源電圧を出力するかどうか決める関数です。
Arduino UNOの場合、電源電圧が5VなのでHIGHの時は5Vを出力します。
LOWの時はGNDと同じ電圧つまり0Vを出力します。
delay(500)
何も処理せずに指定の秒数待機する関数です。
カッコの中に入力した数字×0.001秒間の間、待機します。
紹介したプログラムではdelayに500を入力しているので、0.5秒ごとにLEDを点灯し、消灯する動作を繰り返します。
ディレイを短くするとLEDの点滅が早くなります。
ArduinoでLEDを点滅させる方法|まとめ
この記事では「ArduinoでLEDを点滅(Lチカ)させる方法」について紹介しました。
ポイントは次の通りです。
- LEDには電流が流れる方向が決まっている
- プログラムでArduinoのポートの入出力設定をして、HIGHとLOWを繰り返す
- ディレイで待機時間を作ってあげる
Arduino関連の人気記事
>>【Arduino入門キット】電子工作の勉強におすすめ【こんなに安くていいの?】
>>Arduinoでできることを紹介【逆にできないことは何?】
当ブログで人気のArduino入門キット