Arduino-connecting-switch
Arduino-接続スイッチ
押しボタンまたはスイッチは、回路内の2つのオープン端子を接続します。 この例では、ピン8に接続された押しボタンスイッチを押すと、ピン2のLEDが点灯します。
プルダウン抵抗
外部デバイスが切断されているか、高インピーダンスになっている場合、Arduinoへの入力が期待されるロジックレベルに安定するように、プルダウン抵抗が電子論理回路で使用されます。 入力ピンには何も接続されていないため、論理ゼロであることを意味しません。 プルダウン抵抗は、グランドとデバイスの適切なピンの間に接続されています。
デジタル回路のプルダウン抵抗の例を次の図に示します。 プッシュボタンスイッチは、電源電圧とマイクロコントローラピンの間に接続されています。 このような回路では、スイッチが閉じているとき、マイクロコントローラーの入力は論理的に高い値ですが、スイッチが開いているとき、プルダウン抵抗は入力電圧をグランド(論理ゼロ値)に引き下げ、入力での未定義状態。
プルダウン抵抗は、論理回路のインピーダンスよりも大きな抵抗値を持っている必要があります。そうしないと、スイッチの位置に関係なく、電圧が下がりすぎてピンの入力電圧が一定の論理低値のままになります。
必要なコンポーネント
次のコンポーネントが必要になります-
- 1×Arduino UNOボード
- 1×330オーム抵抗
- 1×4.7Kオーム抵抗(プルダウン)
- 1×LED
手順
回路図に従って、以下の画像に示すように接続します。
スケッチ
コンピューターでArduino IDEソフトウェアを開きます。 Arduino言語でコーディングすると、回路が制御されます。 [新規]をクリックして、新しいスケッチファイルを開きます。
Arduinoコード
//constants won't change. They're used here to
//set pin numbers:
const int buttonPin = 8;//the number of the pushbutton pin
const int ledPin = 2;//the number of the LED pin
//variables will change:
int buttonState = 0;//variable for reading the pushbutton status
void setup() {
//initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
//initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
//read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
//check if the pushbutton is pressed.
//if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
//turn LED on:
digitalWrite(ledPin, HIGH);
} else {
//turn LED off:
digitalWrite(ledPin, LOW);
}
}
注意すべきコード
スイッチが開いている(プッシュボタンが押されていない)場合、プッシュボタンの2つの端子間に接続がないため、ピンは(プルダウン抵抗を介して)グランドに接続され、LOWが読み取られます。 スイッチを閉じると(プッシュボタンを押すと)、2つの端子間が接続され、ピンが5ボルトに接続されるため、HIGHが読み取られます。
結果
LEDは、押しボタンを押すとオンになり、離すとオフになります。