超ゆるゆる技術ブログ🌷

プログラミング勉強中です。

【Arduino】タクトスイッチ使ってみた

タクトスイッチでLEDを制御

f:id:dd15038:20180704004032j:plain
うねるジャンパワイヤ……。
タクトスイッチというスイッチを、オンやオフにすることでLEDを点けたり消したりしてみました。

タクトスイッチとは

軽く説明します🌱
f:id:dd15038:20180704004420j:plain
タクトスイッチは、そのボタンを押し、スイッチをオンにすれば電気を通す通電状態になり、離してスイッチをオフにすれば、電気が流れない絶縁状態になります。
これを利用すると、ボタンを押せばLEDは点灯、離せば消灯というふうな制御をすることができます。

f:id:dd15038:20180704004707j:plain
それと上の写真のように、ピンクの文字、青い文字の所がそれぞれ通電するようになっています。

プログラム

//タクトスイッチを接続するピン
const int switchPin = 2;
//LEDを接続するピン
const int ledPin = 13;

void setup() {
  //デジタル2番ピンを入力用として設定
  pinMode(switchPin, INPUT);
  //デジタル13番ピンを出力用として設定
  pinMode(ledPin, OUTPUT);
}

void loop() {
  //タクトスイッチの状態を取得
  int buttonState = digitalRead(switchPin);
  //タクトスイッチの状態をLEDに反映
  digitalWrite(ledPin, buttonState);
}

スケッチはこうです。
degitalRead()関数が、タクトスイッチが通電または絶縁状態かを読み取ります。
それを、degitalWrite()関数で、LEDへ伝えています。

回路図

f:id:dd15038:20180704010341p:plain
LEDはプラス極側をデジタル13番ピンへ、マイナス極側をブレッドボードのGNDへつないでいます。
タクトスイッチは電源の5Vと結果を入力するためのデジタル2番ピン、それとブレッドボードのGNDへつなぎます。
気を付けなければいけないのが、ブレッドボードのGNDは穴が2列あるけれど、通電はそれぞれの列ずつでしかしないこと。
だからいろいろなピンがGNDを使うには、同じ列のなかでつなげなくてはいけない😶

スイッチのようす

f:id:dd15038:20180704011502j:plain
ボタンを押しておらず、LEDも消えている状態です。

f:id:dd15038:20180704011548j:plain
ボタンを押しているので、LEDがキレイにぴかっと光ってます!

感想

今回はかなり苦戦しました。
特に回路。タクトスイッチの結果がちゃんとLEDへ反映されなくて、ガチャガチャ組みかえまくりました…😓
でもそれで、ブレッドボードのGNDは同じ列同士じゃないと通電しないことが思い知れてよかったです。
こんな一見単純なところでつまずくとは思いませんでしたが…。
何はともあれ、結果はうまくいってよかったので次もいろいろと挑戦していきます!!