あなたが持っているものはFloating
ピンと呼ばれています。デジタル入力ピンは変化に非常に敏感であり、ある状態または別の状態(HighまたはLow)に確実に駆動されない限り、ブレッドボード、人間の指、または空気などの近くのソースから浮遊容量を拾います。それに接続されたワイヤーは小さなアンテナのように動作し、入力状態を変化させます。そして私はどんなワイヤー、ボード上のトレース、ブレッドボードへのワイヤー、ブレッドボードピン、さらにはIC自体の金属ピンをも意味します。
これはArduinoのリファレンスページで参照されています。
ピンが何にも接続されていない場合、digitalRead()はHIGHまたはLOWを返すことができます(これはランダムに変化する可能性があります)。
Arduinoデジタルピンチュートリアルを見ると:
ただしこれは、何も接続されていない、または他の回路に接続されていないワイヤが接続されている入力ピンは、ピンの状態がランダムに変化しているように見え、環境から電気ノイズを拾い、または状態を容量結合することを意味します近くのピンの。
入力が存在しない場合、入力ピンを既知の状態に誘導すると便利な場合があります。これは、プルアップ抵抗(+ 5Vまで)またはプルダウン抵抗(グラウンドへの抵抗)を入力に追加することによって実行できます。10Kが一般的な値です。Atmegaチップには、ソフトウェアからアクセスできる便利な20Kプルアップ抵抗も組み込まれています。これらの内蔵プルアップ抵抗には、次の方法でアクセスします。
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors
これらの弱いプル抵抗は、入力ピンの状態を既知の状態に強制し、グラウンドへの直接接続または+ 5vなどのより強い入力電圧によって簡単に上書きされます。