TOP > カテゴリ > ロボット・電子工作・マイコン >

タクトスイッチ(押しボタン)の使い方 [Arduino]

ボタンを押した時に「導通」して電流が流れます。(動作はモーメンタリ)

種類動作
モーメンタリ
(タクトスイッチ)
ボタンを押している間のみONとなる。ボタンを離すとOFFとなる。※ブレッドボードで使用可能。
オルタネイトボタンを一回押すとONとなる。OFFにするにはもう1回ボタンを押す。 ※主に基盤で使用される。

使用部品・材料

総額で約310円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
タクトスイッチ
(4個)
¥10秋月電子の通販コード(P-03647)
カーボン抵抗器数円1MΩ(1個)、10KΩ(2個)、220Ω(1個)を使用

配線図1

抵抗値の計算

一般的にLEDは220Ω、ボタンは10KΩを使用する事が多いですので、今回は10KΩを使用しています。(10KΩだとオームの法則で電流は0.5mAとなる)

スケッチ(プログラム)

ボタンを押すと「シリアルモニター」にHIGH(1)が出力されます。ボタンを離すとLOW(0)が出力されます。

※「シリアルモニター」はArduino IDEのツールバーの一番右にある「シリアルモニター」のアイコンをクリックすると表示されます。

void setup() {
  Serial.begin(9600);
  pinMode(2,INPUT); 
}

void loop() {  
  int val = digitalRead(2);
  Serial.println(val);
}



続いてはラダー抵抗回路を使用する例です。

配線図2

スケッチ(プログラム)

押されたボタンの電圧をanalogRead()で取得します。実際には「0から5V」の入力電圧を「0から1023」の数値でシリアルモニターへ表示します。

void setup() {
  Serial.begin(9600);
}

void loop() {  
  int val = analogRead(A0);
  Serial.println(val);
}

シリアルモニターに表示されている「数値」から電圧を求めるには「数値 ÷ 1024 × 5」で算出できます。

1番目のボタン

値は常に1023。

このボタンを押した時の電圧は5V電源の電圧がそのままかかっていますので、常に1023になります。

2番目のボタン

値は990から1010。

3番目のボタン

値は504から514。

4番目のボタン

値は5から15。

誤差について

Arduinoの5V電源や抵抗器などによって誤差が発生すると思いますので、閾値(値の範囲)は各自の環境に合わせてください。





掲示板

ソフトウェア、ハードウェアのプログラミング用の掲示板を作成しました。質問やわからない事は@掲示板でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年05月09日 最終更新日:2017年08月20日
記事NO:02352