Ich habe mein Arduino UNO mit 4 Eingangsleitungen eingerichtet. Sie werden an den Port 10, 11, 12, 13 angeschlossen. Sie werden mit nichts als dem Kabel an mein Steckbrett angeschlossen.
Mein Code wäre einfach:
Serial.println(digitalRead(13));
Serial.println(digitalRead(12));
Serial.println(digitalRead(11));
Serial.println(digitalRead(10));
Die Sache ist, nachdem ich kurz einen Pin an 5V oder 3V3 angeschlossen habe, würde der Messwert verrückt werden wie: 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 Ohne Sinn! Ohne dass ein Kabel direkt an mein VCC (5V oder 3V3) angeschlossen ist, ändert sich der Messwert ständig, wenn er Null sein sollte!
Ist mein Arduino tot? Wie kann ich das beheben?
arduino
floating-pin
Guilherme Garcia da Rosa
quelle
quelle
Antworten:
Was Sie haben, heißt
Floating
Pin. Digitale Eingangsstifte reagieren sehr empfindlich auf Änderungen und nehmen, sofern sie nicht positiv in den einen oder anderen Zustand (hoch oder niedrig) getrieben werden, Streukapazität von nahe gelegenen Quellen wie Steckbrettern, menschlichen Fingern oder sogar der Luft auf. Jedes daran angeschlossene Kabel wirkt wie eine kleine Antenne und bewirkt, dass sich der Eingangszustand ändert. Und ich meine jeden Draht, die Spur auf der Platine, den Draht zum Steckbrett, den Steckbrettstift, sogar den Metallstift des IC selbst.Dies wird auf der Arduino-Referenzseite erwähnt:
Wenn Sie sich das Arduino Digital Pin Tutorial ansehen :
Diese schwachen Zugwiderstände zwingen den Eingangsstiftzustand in einen bekannten Zustand und können leicht durch stärkere Eingangsspannungen wie eine direkte Verbindung mit Masse oder +5 V überschrieben werden.
quelle
pinMode(pin, INPUT_PULLUP)
? Es ist leicht zu merken und sehr schwer zu vermasseln.Das ist normal. Sofern ein Eingang nicht mit etwas verbunden ist, wird HIGH oder LOW angezeigt oder ändert sich ständig. Dies wird durch die beschrieben digitalRead- Referenzseite auf der Arduino-Website beschrieben.
Der Eingangspin verhält sich mit einer kleinen Kapazität. Wenn Sie ihn also kurz an 3V3 oder 5V anschließen, wird die Kapazität aufgeladen. Sie können einen ähnlichen Effekt mit bloßem Finger feststellen.
Sie können das Problem vermeiden, indem Sie einen großen Widerstand zwischen Pin und GND hinzufügen.
Fragen Sie sich, warum Sie Null erwarten?
quelle