Arduino Mega 2560 LESSON:5 LEDをオン/オフするためにデジタル入力付きのプッシュボタンを使用する方法

提供:yonewiki
2026年10月3日 (土) 21:05時点におけるYo-net (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

Arduino Mega 2560に戻る。

概要

 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になる点に注意する。


KiCADで追加した部品

  • Conn_01x04:Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector)
  • LED:Light emitting diode
  • R:Resister
  • SW_Push:Push button switch, generic, two pins


KiCADで追加したフットプリント

  • LED:LED_THT:LED_D5.0mm
  • Conn_01x04:Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical
  • 220:Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
  • SW_Push:Button_Switch_THT:SW_PUSH_6mm


■PCB図

PCB図


■3Dプレビュー図

3Dプレビュー図


 

Arduino Mega 2560に戻る。