こんばんは!
今回はタクトスイッチというものを使っていきます。
概要
タクトスイッチを使ってスイッチが押されたときにLEDが点灯するようにする。
次に少し応用して、スイッチのON・OFFを読み取り、2つのLEDの点灯を制御する。
使用するもの
・Arduinoメインボード(https://amzn.to/2vkPIUH)
・USBケーブル(https://amzn.to/2UHhntl)
・ブレッドボード(https://amzn.to/38eNi8u)
・ジャンパワイヤ (https://amzn.to/39uBU8T)
・LED(https://amzn.to/2TvEPGc)
・抵抗100Ω(https://amzn.to/2snlNWT)
・タクトスイッチ(https://amzn.to/3aVZe0k)
タクトスイッチについて
タクトスイッチはプッシュ式のボタンです。
4本の端子が出ており、番号を画像のようにするとボタンを押していないときは1と2、3と4がそれぞれ接続しています。
ボタンを押すと1と3、2と4がそれぞれ接続します。
タクトスイッチは動作方式が「モーメンタリ」です。
モーメンタリというのはボタンが押されているときのみONまたはOFFになるものです。
今回のタクトスイッチはボタンが押されているときのみONになります。
ちなみに家の電気をつけるスイッチは「オルタネイト」といい、ボタンを押したあとに手を離してもONまたはOFF状態を維持します。
手順
図のように配線します。
これでスイッチを押すとLEDが点灯します。
次に図のように配線します。
Arduino IDEに次のプログラムを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 | const int pin = 4; int value = 0; void setup() { pinMode(pin, INPUT); Serial.begin(9600); } void loop() { value = digitalRead(pin); Serial.println(value); delay(200); } |
digitalRead(pin)はpinの番号(ここではD4ピン)の値を読み取ります。
戻り値はHIGHかLOW(1か0)です。
これでメインボードに書き込み、シリアルモニタを開くと、スイッチを押したときは1、スイッチを押していないときは0が表示されます。
次にこれを使って2つのLEDを制御してみます。
まず、図のように配線します。
そしてArduino IDEに次のプログラムを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | const int pin = 4; const int led1 = 2; const int led2 = 3; int value = 0; void setup() { pinMode(pin, INPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); } void loop() { value = digitalRead(pin); if(value == 1){ digitalWrite(led1,LOW); digitalWrite(led2,HIGH); }else{ digitalWrite(led1,HIGH); digitalWrite(led2,LOW); } delay(200); } |
このプログラムはスイッチをONにすると片方のLEDが点灯し、スイッチをOFFにするともう片方のLEDが点灯するという処理を書いています。
実際にスイッチを押してみるとプログラム通りになっているはずです。
まとめ
今回はタクトスイッチというスイッチを扱ってみました。
1つの種類のスイッチの使い方がわかると他の種類のスイッチも応用で使えると思います。
電子工作にはかかせないものですので、使えるようになっておくと便利だと思います。
今回はこれで終わります。
ではまた!