ボタンを読み取る
CoddyのArduinoジャーニー「はじめての回路」セクションの一部。レッスン 22/22。
ピンは入力にもできます。ボードはピンがHIGHかLOWかを読み取ります。
このボタンは、押している間、ピン2をグラウンド(0ボルト)に接続します。ボタンを離すと、ピンは何にも接続されず、ランダムな値が読み取られます。INPUT_PULLUPを使うと、ボード内のプルアップ抵抗が有効になり、ボタンによってLOWにされるまで、ピンをHIGHに保ちます。
pinMode(2, INPUT_PULLUP);digitalRead(2)はピンのレベルを返します。プルアップを使うと、ボタンを押したときにLOWが読み取られます。
if (digitalRead(2) == LOW) {
// ボタンが押されている
}あとはこれまでに学んだとおりです。選択にはifとelseを、LEDにはdigitalWrite()を、結果の出力にはSerial.println()を使います。
チャレンジ
簡単ボタンはピン 2、LED はピン 13 に接続されています。ボタンを押している間、LED が点灯するようにします:
- ピン 2 を
INPUT_PULLUPに設定する digitalRead(buttonPin)がLOWのとき、LED を点灯し、Pressedを出力して 200 ms 待つ(モニターが出力で埋め尽くされないようにするため)- それ以外の場合は、LED を消灯する
Run を押し、ボード上の緑色のボタンを押したままにしてから、Check を押します。
自分で試してみよう
const int buttonPin = 2;
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
はじめての回路のすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド