タクトスイッチを使ったLEDの点灯 ~Arduino~

今回は、タクトスイッチ、LED、Arduinoを使って、点灯するLEDの切り替えをしてみたいと思います。そのため、今回使用するLEDは2つ使用し、色も別のものを使用します。この点灯するLEDの切り替えのプログラムは基本的なプログラムのコードのみを利用しているので電子工作やプログラミングが初心者の方でも挑戦しやすい内容だと思います。

使用するもの

使用するものは下記のリストの物です。購入先はすべて秋月電子通商です。同じもの購入したい方はリストのリンクより購入してください。

使用方法について

LEDの使用方法

LEDには極性があり、アノードとカノードの2つの端子があります。端子が長い方がアノードでプラス、短い方がカノードでマイナスとなっています。電圧を加える方向を間違えると電流が流れませんし、壊れる原因となります。接続する際は注意してください。もっと詳しく知りたい方は以前書いた下記の記事をお読みください。

LED

タクトスイッチの使用方法

タクトスイッチには、4つの端子があります。以下のように番号を振ると1番と2番、3番と4番はつながっており、スイッチを押すと 1番と2番、3番と4番 の間がつながる仕組みになっています。接続する端子を間違えるとスイッチを押していないのに押した反応が出たりするので気をつけてください。さらに詳しく知りたい方は以前書いた記事を参考にしてください。

タクトスイッチ
タクトスイッチ_中身

タクトスイッチを使ったLEDの点灯

回路

今回の回路は、以下のようになります。使用する抵抗は、タクトスイッチ側を10kΩ、Arduino側を150Ωとします。ArduinoはGND、5V、D2、D3、D4を使用しています。ジャンパー線やブレッドボードを用いて回路を作成してください。

プログラム

プログラムは以下の通りです。ArduinoIDEにコピペして使用してください。

 

プログラムについて解説していきます。
SWにはスイッチのHIGHかLOWか読み取るデジタルピンを代入しています。今回はデジタルの2番ピンです。r_ledには赤色に点灯するLEDと接続しているデジタルピンを代入しています。今回はデジタルの3番ピンです。y_ledは黄色に点灯するLEDと接続しているデジタルピンを代入しています。今回は、デジタルの4番ピンです。valという変数は、メイン文前に定義だけしています。

set upの中身を説明します。
pinModeでスイッチの値を読み取るピンだけはINPUTにしているので入力に設定しています。2つのLEDはOUTPUTにしているので出力として設定しています。入力は、電圧が加わると1(HIGH)、電圧が加わらないと0(LOW)と読み取ります。つまり、入力された電圧のデータによって反応が変わります。逆に出力は、ここではLEDに電圧を加えています。Serial.beginはシリアル通信を行う際の通信速度を()内に指定します。シリアルモニタの見方については以前の記事で記載しているので参考にしてください。

メイン文であるvoid loopの中身について説明します。
まず、スイッチが押されたのかどうかを判定するために入力に設定したピンのデータをvalに代入します。ボタンを押したときは0(LOW)、押さなかった場合は1(HIGH)が入ります。Serial.printlnではvalの値をシリアルモニタに表示します。 delayは指定した時間だけ待つようにします。()内には時間を入れるのですが、単位はms(ミリ秒)ですので注意が必要です。 if文では条件分岐を行っています。valに1が代入されている時は、digitalWriteで黄色をLOW(消す)とし、赤色をHIGH(点灯)にしています。逆にvalに1以外の値が代入された場合は、 digitalWriteで黄色をHIGH(点灯)とし、赤色をLOW(消す)にしています。

これにより、ボタンを押すと点灯するLEDの切り替えをすることができます。

最後に

説明した文章の中でわからない言葉があった際は、問い合わせ又はSNSでの連絡してください。

今回の記事を読んで気になった方は下記よりSNSのフォローをよろしくお願いいたします。また、YouTubeにも様々な動画を載せているのでご覧ください!

コメント