Youtubeでも活動中チャンネルはこちら!

Arduinoでタクトスイッチをつなげてみる「配線方法を解説」

arduino-eyecatch

今回はタクトスイッチ。つまり押しボタンですね。

モーメンタリスイッチの一種です。

押してる間だけ通電するスイッチですね。

タクトスイッチは「モーメンタリスイッチ」ですが、

対を成すのが「オルタネイトスイッチ」です。

オルタネイトスイッチは、押して話しても保持されます。

トグルスイッチなんかがこのオルタネイトスイッチに該当しますね。

今回は紹介しませんが、基本は同じような配線で再現可能です。

これをつなげてArduinoで挙動を見てみます。

この記事を読むことでわかること

タクトスイッチとは何か?配線方法を含めた使い方まで理解できる。

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

転職に成功して現在は超大手企業でシステム系の開発をしています。

_/_/_/_/_/Youtubeでも情報発信中!_/_/_/_/_/

本ブログはアフィリエイトを用いた広告を掲載している場合があります。

そもそもタクトスイッチってなに?

タクトスイッチとは何なのか?簡単に言うと押しボタン。

 タクトスイッチは、ボタンです。押して離すともとに戻るボタンです。

一般的なタクトスイッチ

 パソコンのマウスのクリックなんか想像してもらえるとわかりやすいです。押している間だけ通電させたい。もしくは認識させたいときに使われます。

 注意点としては、世の中には、押して離しても元に戻らないボタンも存在します。例えばロッカースイッチと呼ばれる、押したら反対側のボタンが飛び出てくるタイプのボタンですね。今回のタクトスイッチは、押しても戻ってきます。

OMRONのロッカースイッチ

言葉だけではよくわからないので、プログラミングする前に電気工作しましょう。

まずは電気工作でタクトスイッチの動きを確認

それでは、下記の配線図のようにArduinoとタクトスイッチ、LEDをつなげてみましょう。

今回は電気工作なのでプログラミングは不要で、

Arduinoは5V電源として使用します。

※抵抗は10kΩ程度です。内部pullupでも可。

tact-switch_arduino
タクトスイッチの使い方1(ArduinoとLEDで確認。)

このように配線してみると、どうなるかわかりますか??

タクトスイッチとは、左右の足が押されている時だけ通電します。

なので今回の場合は、押している間だけLEDが点灯します。

ではこの場合はどうでしょうか?

tact-switch_arduino_updown
タクトスイッチの使い方2(タクトスイッチの上下はどうなっているのか?)

左右はタクトスイッチが押されたときのみ通電。

では上下はどうかというと、

実は常に通電です。

タクトスイッチの上下は常に通電しています。

なので、今回の場合は、青色は常に点灯。

赤色は押したときだけ点灯します。

タクトスイッチをArduinoにつなげてみる

それではお待ちかね。Arduinoのデジタル端子に接続してみましょう。

配線方法

tact-switch_arduino_gpio
ArduinoのGPIOピンとタクトスイッチをつなげている様子。

LEDはいったん取り払って、デジタル端子の3番pinとタクトスイッチをつなげましょう。

抵抗は先ほどLEDの時に使用した10kΩで大丈夫です。

先ほどの電子工作でわかった通り、

この状態では左右が通電していないのでArduinoの3番pinには何も流れないことがわかりますね。

ボタンを押すと5Vが流れて、3番pinに電気信号が流れる。という仕組みです。

タクトスイッチの状態を確かめるためのソースコード

それでは3番pinを監視するためのソースコードを以下に表示します。

int tact_switch=3;//今回はデジタルの3番pinを使用します。 
void setup() {
  pinMode(tact_switch,INPUT);//3番pinを入力PINと宣言する。pullupして抵抗抜いてもOK
  Serial.begin(9600);//シリアル監視で状況を確認するためにSerialを設定する。
}
void loop() {
  Serial.println(digitalRead(tact_switch));//3番pinの状況を表示する。
  delay(10);//表示の更新頻度
}

シリアル通信で確認するので、シリアルの窓を表示させてください。

ものすごい勢いで0が表示されていきます。

タクトスイッチの状態の結果

結果は0がすごい勢いで表示され、

タクトスイッチを押すと、押している間だけ1になっているのがわかると思います。

これは、3番pinに5Vが流れている時だけデジタル端子が反応して1になっているためです。

一瞬押しただけなのに1が連続で出力されるのがわかると思いますが、

これは更新速度。つまり監視のタイミングがとても早いためです。

このソースコード上では10mmsecで更新しているので、

もし1回だけ1を表示させたいなら、10mmsec以内に押して・離して

をしないといけません。

わたしにはできませんでした笑

今回のまとめ

今回のまとめ
  • タクトスイッチとはどんなスイッチなのか紹介しました。
  • タクトスイッチをArduinoとつなげて実際の使い方について学びました。

 人間のタイミングで操作するとなると、やはりタクトスイッチは必要不可欠です。日常生活でも押さない日はないのでしょうか?パソコンのキーボードだってある意味では構造としてはほとんど同じですしね…

 今回は1個のタクトスイッチしか使いませんでしたが、もちろん複数のタクトスイッチを使っても面白いことができそうですよね。ぜひイメージを膨らませていろんな電子工作にチャレンジしてみてください。!