youtube始めました

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

_
arduino-eyecatchArduino(マイコンボード)
この記事は約3分で読めます。

こんにちは。ホビーハッピーです。

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

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

自己紹介

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

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

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

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

タクトスイッチの使い方

タクトスイッチは、ボタンです。

押して話すともとに戻るボタンです。

パソコンのマウスのクリックなんか想像してもらえるとわかりやすいかも。

押している間だけ通電させたい。もしくは認識させたいときに使われます。

言葉だけではよくわからないので、

プログラミングする前に電気工作しましょう。

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

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

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

Arduinoは5V電源として使用します。※抵抗は10kΩ程度です。

タクトスイッチの使い方1

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

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

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

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

タクトスイッチの使い方2

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

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

実は常に通電です。

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

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

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

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

配線方法

タクトスイッチの状態をArduinoで認識

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と宣言する。
  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以内に押して・離して

をしないといけません。

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

コメント

タイトルとURLをコピーしました