はじめに
スイッチを押すとLEDが光る装置の実装について説明します。
- 用意するもの
- 接続例
- プログラミング
- スイッチオン
1.用意するもの
使用する材料は以下の通りです。
番号 | 商品名 | 価格 | 参考の販売店 |
1 | Arudino Uno | 3,240円 | Amazon |
2 | LED(3mm赤色LED 100個入り) | 350円 | 秋月電子通商 |
3 | カーボン抵抗180Ω(100本入り) | 100円 | 秋月電子通商 |
4 | カーボン抵抗10KΩ(100本入り) | 100円 | 秋月電子通商 |
5 | ブレッドボード | 200円 | 秋月電子通商 |
6 | ジャンパーコード(オス-オス) | 220円 | 秋月電子通商 |
7 | タクトスイッチ(赤)10個入り | 120円 | 秋月電子通商 |
タクトスイッチは1個10円から販売されています。プラスマイナスの向きはありません。押している間だけONになります。(スイッチによっては押すたびびON/OFFを繰り返すものもあります。)
プルダウン抵抗として10KΩの抵抗を使用します。
2.接続例
タクトスイッチをプルダウン抵抗で接続します。
プルダウン抵抗とは入力がない場合に “Low” レベルの電圧(通常、電位0V)にしておくために使われる方法です。
スイッチを押すと5Vとつながるのでデジタル入力は5Vになります。
今回はデジタル入力ピンとしてピン2を使用します。LEDは前回と同様の構成のままピン13の出力で光らせます。
3.プログラミング
スイッチを押すとLEDが光るプログラムはサンプルプログラムとして用意されています。
Arduino IDEを起動し、スケッチ例➡02.Deigital➡Buttonを選択します。
プログラムの内容について説明します。
スイッチを押したときに5V電圧がかかる入力ピンとしてピン2を、LEDへの出力ピンとしてピン13を定義します。
const:その変数の値を変更してはいけない(つまりは定数である)、ということを示す修飾子です。宣言の型名の部分の前か後につけて使います。
int:integerの略で-32768 ~ 32767まで扱う変数を使用する場合に宣言します。
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
buttonStateという変数を用意します。初期値は0です。
int buttonState = 0; // variable for reading the pushbutton status
setup関数で、使用するピンのinput/ouputを定義します。
スイッチを押したときに5V電圧を取得するのでbuttonPinはINPUTです。
取得した5V電圧をLEDに出力するのでledPinはOUTPUTです。
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
loop関数で繰り返し実行を定義します。
digitalRead関数を使用してbuttonPinの情報をbuttonStateに代入します。
スイッチを押している状態ならHIGHとなっていますので、ledPinにHIGHが入力され
LEDが光ります。スイッチOFFの状態ならledPinにLOWが入力されLEDは光りません。
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
4.スイッチオン
ブレッドボードにLEDとスイッチを繋いだら、Arduino UnoとPCを接続します。
Arduino IDEでアップロードして完了です。
スイッチを押すと光って話すと消えます。