2016-08-01 5 views
0
void setup() { 
    pinMode(2,INPUT); //2nd pin as in put 
    pinMode(13,OUTPUT); //onboard LED as output 
} 
void loop() { 
    digitalWrite(13,digitalRead(2)); //When there is i/p glow, else does not 
} 

ich diesen Code geschrieben ist und mit einem Ende eines Drahtes 2 von Arduino an Pin anderen Ende belassen, wie sie ist, nicht an jedem Ort verbunden und LED gestartet glühend. Ich habe 2 Klone von Arduino, beide taten das gleiche. Ja, ich habe das Arduino überprüft, funktioniert gut für andere Codes. Kann mir jemand erklären, wie arduino 5v eingibt, ohne es zu liefern? Image of the Arduino, glowing LED, with wire not connected to supplyArduino nimmt sogar Eingang, wenn es keine Versorgung an den Eingangsstift ist

Der Tisch besteht aus Holz. Ich habe versucht, 3mm LED an 13. Pin und Masse zu verbinden, das Ergebnis war das gleiche.

+0

Ich stimme für das Schließen dieser Frage als Off-Topic, da dies keine Programmierfrage ist. –

Antwort

5

Es gibt einen weiteren Eingabemodus INPUT_PULLUP. Ohne ihn wirken alle "schwebenden" Eingänge wie ein Funkempfänger, so dass er dann alle Arten von elektrischen Störungen erfasst.

1

Wenn Sie den Wert eines nicht angeschlossenen Pins lesen, erhalten Sie keine sinnvollen Informationen zurück. Sie müssen ihn entweder erden oder an eine Spannungsquelle anschließen. (Oder verwenden Sie einen anderen Pin-Modus)

+0

Das ist meine Frage, es ist nichts mit einem offenen Kabel verbunden, und die LED leuchtet! –

+0

Der Wert, der beim Lesen eines offenen Pins zurückgegeben wird, ohne einen Pullup-Modus zu verwenden, wird zufällig zwischen Min und Max schweben. Wenn es näher an den Maximalwert schwebt, gibt der digitalRead den Wert 1 (oder HIGH) zurück und schaltet die LED ein. –