Arduino Mega 2560 LESSON:5 LEDをオン/オフするためにデジタル入力付きのプッシュボタンを使用する方法
概要
LEDをオン/オフするためにデジタル入力付きのプッシュボタンを使用する方法
回路図は以下のようなものです。
Arudino C++コードは以下のようなものです。
//www.elegoo.com
//2016.12.08
int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;
//byte leds = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(buttonApin) == LOW)
{
digitalWrite(ledPin, HIGH);
}
if (digitalRead(buttonBpin) == LOW)
{
digitalWrite(ledPin, LOW);
}
}
出来上がりは以下のようなものになりました。
スイッチが新たに登場します。
部品図は管理人のよるもので、AIで作図したもの
このようなスイッチになっています。スイッチでLEDを付けたり消したりしますが、回路ではスイッチ自体はLEDの回路に影響しないカタチで二つのスイッチが接続されている回路になっています。スイッチが押されたことをマイクロコンピュータが検出して、LEDの回路への電力供給を制御するような仕組みになっています。
部品図は管理人のよるもので、AIによる作図説明
スイッチの役割を持たせると、プルアップ抵抗やプルダウン抵抗で電力を消費します。プルアップにしてマイクロコンピュータ側で消費するか、プルダウンにして外付け抵抗で消費するかの差があるだけです。
Mega2560には内部プルアップ機能があるため、単純なスイッチ入力では外付けのプルアップ/プルダウン抵抗を省略し、INPUT_PULLUPを利用できる。特別な理由がなければ、部品点数を減らせる内部プルアップを利用すると簡単である。ただし、スイッチを押したときがLOWになる点に注意する。