Arduino タクトスイッチとLEDを使う

このチュートリアルは武蔵野美術大学通信教育課程授業用に作成したものです。

今回は基本のインタラクションである「タクトスイッチを押したらLEDが光る」というプログラムをみてゆきます。

LEDとタクトスイッチ、抵抗を用意してください。ここでそれぞれに注意点がありますので改めて確認します。

LEDについて

LEDには極性があり、一般的に足が長いほうがアノード、短いほうがカソードとされてます。勝手に切ってわからなくならないよう注意してください。
主にデジタルピンソケットにアノードを接続し、カソードはGNDへ接続します。これを逆に接続してしまうとLEDが点灯しないので気をつけてくださいね。

タクトスイッチについて

タクトスイッチは4ピンの足が生えていますが、各2ピンは電気的に繋がっています。形がわかりにくいかもしれませんが、プラスチックの横から足が生えているような構成になってますので、よく見て位置を確認してください。タクトスイッチは突起を押し込むことで、(画像上下のピンが)電気的に繋がります。元々繋がっているピンと、スイッチを押すことでつながるピンを間違えないようにしてくださいね。

抵抗について

抵抗は電圧を制御するために利用します。LEDなど、パーツによって利用する電圧が違う場合は抵抗を間に入れて調整します。
LEDと違い、極性は無いのでどちらに接続しても構いません。カラーコードと言われる色のついたラインによって抵抗の値が違いますので、必要な色の組み合わせのものを利用してください。

抵抗値は上記画像で計算することができます。

Arduinoと接続してみよう!

画像のようにジャンパーピンと抵抗、LED、タクトスイッチを繋げてみてください。ブレッドボードの電気的接続を注意して見ながらショートしないように構成してください。抵抗値はよく確認して設定してくださいね。

プログラムを書き込む

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}

void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

スケッチの例から、02.Digital / Buttonを開いてアップロードしてください。上手くアップロードができたらスイッチを押してみましょう。(上記はコメントを一部消しています。)

どうなりましたか?

これが基本のインタラクションになります。体験者の行為(ボタンを押す)に対応してふるまい(LEDが光る)ということが実装できましたね。タクトスイッチでなくても電気的に接続できるものであればアルミ箔などでも同じように挙動しますし、もっと輝度の高いLEDでも同じように動作します。色々と試してみてください。