初心者のArduinoプログラミング入門【ボタンスイッチ編】
Arduinoでプログラミング学習をしていきたいと思います。
この記事ではボタンスイッチとLEDを使用して、ボタンを押したときにLEDを点灯させることが目標です。
目標
ブレッドボードにボタンスイッチとLEDを使って回路を作ります。
先に記載したようにボタンを押すとLEDが光るような制御を行うことが目標です。
回路図
今回はブレッドボード、ボタンスイッチ、LEDと抵抗を使用して回路を作成します。
回路図のようにボタンスイッチは片側をGND、もう一方をピン3に接続します。
LEDも片側をGND、もう一方は220Ωの抵抗を通じてピン7に接続しました。
スケッチ
//ピン3にボタンスイッチ割り付け const int pinButton = 3; //ピン7にLEDを割り付け const int pinLed = 7; void setup() { //ピン3(pinButton)を入力(High)に設定 pinMode(pinButton, INPUT_PULLUP); //ピン7(pinLed)を出力に設定 pinMode(pinLed, OUTPUT); } void loop() { //ボタンスイッチ(pinButton)が押されず、HIGHなら{}内の処置を行う if (digitalRead(pinButton) == HIGH ){ //LEDをLOWにする(消灯) digitalWrite(pinLed, LOW); } //それ以外(ボタンスイッチが押されている)なら else { //LEDをHIGHにする(点灯) digitalWrite(pinLed, HIGH); } }
スケッチの最初では、ボタンスイッチと接続したピン3をpinButtonに、LEDと接続したピン7をpinLedという名前にしています。
これにより、このスケッチ内ではボタンスイッチについて操作を行う場合はpinButton、LEDを操作するときはpinLedと書くことでそれぞれ操作できるようになりました。
次に各ピンの初期設定を行います。
ボタンスイッチが割り付けられているピン3は入力としています。
ボタンスイッチはGNDに接続しているので、押されていないときはHIGHとしておき、ボタンが押されたときはLOW(GND)になるようにPULLUPしています。
LEDが接続されているピン7は出力に設定しています。
loop内ではボタンが押されているかどうかを判定しています。
ボタンスイッチが押されていなければpinButtonはHIGHなので、LEDが接続されているピン7はLOWとなります。したがって電流は流れず、LEDは点灯しません。
ボタンスイッチが押されているときは、else内の処理を行います。
このときはピン7がHIGHとなり、LEDが点灯します。
このスケッチでは、ボタンスイッチの状態に応じてLEDが点灯したり、消灯したりするはず!です。
動作確認
ボタンスイッチを押すとLEDが点灯し、離すと消灯しました!