Arduinoでエアコンの1時間タイマーを自作する

ArduinoUnoでLチカしてみる



Arduinoのみに関わらずPICマイコンでも”Lチカ”は初心者がほぼ必ず行うであろう回路とプログラムです。

そんなLチカを初心に帰ってやってみることにしました。
今回13ピン(デジタルピン)にLEDを接続し、およそ1秒周期で点滅させようと思います。




ArduinoIDEを起動してプログラムを書き込みます。
こちらがそのプログラム⇩
const int LedPin = 13;  //13ピンを使う

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

void loop() {
  digitalWrite(LedPin, HIGH);
  delay(500);
  digitalWrite(LedPin, LOW);
  delay(500);
}

const int LedPin = 13;

"LedPin"という文字列に"13"という数字を代入しています。
頭にある"const"を省いて変数のままでも構いませんが、"const"を付け加えると定数として扱えるので使用するメモリの削減になります。

pinMode(LedPin, OUTPUT);

void setup()内でLEDを接続する13ピンの設定をします。
LedPinは先ほど宣言したように「13」ですので、「13ピンを出力」に設定しています。

digitalWrite(LedPin,HIGH); 

digitalWrite(LedPin,LOW); 

HIGHにするとそのピンから5Vが出力されます。
LOWは0V。

delay(500);

delayは待ち時間です。
入れる数字の単位はミリ秒ですので今回の場合0.5秒の待ち。
1ループで2回delayが入っているので1ループがおよそ1秒になります。


ArduinoUnoにプログラムを書き込む

ArduinoUnoをパソコンに接続し、「ツール」から「シリアルポート」「Arduinoが接続されているCOMポート」を選択。

書き込みボタンを押すと接続されているArduinoUnoにプログラムが書き込まれます。



回路を組む

プログラムと書き込みは完了したので回路を組みます。


通常ArduinoUnoのピン1本が流せる電流の定格は20mA(絶対最大定格40mA)なので必ず抵抗等で流す電流を制限しましょう。
LEDを使う際の電流制限は基本中の基本。
間違ってもArduinoにLED単体をぶっ刺すことのないように。

今回電球色LED(順電圧3.1V、標準電流20mA)を使用し、5mA(0.005A)流すと仮定します。
以下の式を使って電流制限用の抵抗値を求めます。

(Arduinoのピン電圧 - LEDの順電圧) ÷ 流したい電流 = 抵抗値
(5V - 3.1V) ÷ 0.005A = 380Ω

380Ωの抵抗が必要だと分かりましたが、380Ωの抵抗は売っていませんので1つ抵抗値の大きい390Ωを使うのが良いと思います。
今回680Ωの抵抗を使ったのは5mAでも眩しかったからです。

ブレッドボードに組みます⇩
赤が13ピン、黒がGNDに繋がっています


ArduinoUnoに電源を投入すると無事にLEDが点滅し始めました👏

ちなみに13ピンを使用することでボード上にあるLEDも光ります。