Nano schaltet bei Kabel berührung

Hallo,
mein Nano ist der meinung sobald ich das Kabel für die Funktion berühre zuschalten.

Dieses Kabel soll ein Schalter werden (Schalter noch nicht verbaut), da ich noch auf die Teile warte.
Woran kann sowas liegen?
Nein die Kabel berühren sich nicht. Habe auch schon von a0 auf d11 getauscht selbes Problem.

#define Switch A0
#define LED_PIN 13
#define LED_Rot 6
#define LED_Grun 7
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 10  


  lcd.print(sensors.getTempCByIndex(0));
 }
}

Code ist noch nicht fertig aber ich muss erstmal das Problem lösen :confused:
Hoffe auf Hilfe
Mit freundlichen Grüßen

Du musst an deinem Eingang zwingend einen Pullup oder Pulldown Widerstand anbringen. Wenn du gegen GND schaltest, brauchst du einen Pullup, da geht auch der interne Pullup. Wenn du gegen +5V schaltest, brauchst du einen Pulldown.

Ohne diese Widerstände arbeitet dein Pin als Empfänger mit einer Antenne. Widerstand der Größe 4k7 oder 10k ist ok.

Bin jetzt von 5V auf A0 gegangen es würde also ein anderer Befehl ausreichen um das zu korriegerien?

Hast Du einen PullDown-Widerstand angeschlossen? Der Eingang ist extrem hochohmig. ohne einen Pulldown-Widerstand fängt der beliebig Störungen auf und schaltet dann. Du kannst auch den intern Pullup-Widerstand nutzen:

 pinMode(Switch, INPUT_PULLUP);

Offen lassen darfst Du den Eingang jedenfalls nicht.

Ok, Dieter war schneller ;)

Audiator: Bin jetzt von 5V auf A0 gegangen es würde also ein anderer Befehl ausreichen um das zu korriegerien?

Verstehe ich nicht.

Du musst einen Widerstand verwenden, habe ich doch schon geschrieben.

@TO: Sage uns doch erst mal, wie Du den Taster angeschlossen hast.

Gruß Tommy

Taster ist noch keiner dran soll ein Schwimmschalter werden. Kabel liegen halt rum und er macht was er will ohne das etwas passiert bzw, wenn man das Kabel anfässt.
Bin auf 5v und auf A0 gegangen. Ich dacht das der Intern ausreicht deswegen fragte ich ob ein ander Befehl das Problem lösen könnte. Mfg

Audiator: Taster ist noch keiner dran soll ein Schwimmschalter werden. Kabel liegen halt rum und er macht was er will ohne das etwas passiert bzw, wenn man das Kabel anfässt. Bin auf 5v und auf A0 gegangen. Ich dacht das der Intern ausreicht deswegen fragte ich ob ein ander Befehl das Problem lösen könnte. Mfg

Das hatten wir dir doch schon beschrieben. Post #3 zeigt dir wie du den internen Pullup verwenden kannst. Dann musst du zwingend auf 0 oder LOW abfragen und gegen GND schalten. Und ja, bei kurzen Kabeln reicht der interne Pullup aus. Bei längeren Kabeln musst du evtl. einen externen Widerstand hinzufügen.

So ich habe jetzt im Script auf:

#define Switch A0

}

geändert. Jetzt müsste er ja den Interen Pulldown nehmen und es müsste ja eigentlich wie gewohnt schalten wenn ich jetzt die KAbel verbinde tut sich aber nix.

Sorry aber so hatte ich vertsanden das es das Problem löst. :/

Liest Du eigentlich, was wir Dir schreiben? Lies den letzten Post von Dieter nochmal sorgfältig durch.

Dann hast du unsere Beiträge nicht richtig gelesen.

Wenn du den internen Pullup-Widerstand verwendest, musst du auf 0 oder LOW abfragen und gegen GND schalten. Das hatte ich auch schon #7 geschrieben.

Und der interne Pullup ist nur bei kurzen Leitungen ausreichend.

Edit: Diesmal war Franz-Peter schneller. ;)

Naja ich denke ich habs verstanden. PS: habe richtig gelesen aber ist halt alles Neuland :) Leider habe ich nicht alle Bauteile da um zu testen. Habe mal ne Zeichnung gemacht wie ich denke das es richtig ist.

Der pinMode(Switch, INPUT_PULLUP);

kann der dann so bleiben oder reicht ein PULLUP ?

Anbei Bild: https://www.dropbox.com/s/qy8ruy128x1fp3e/20191031_203448.jpg?dl=0

Audiator: Naja ich denke ich habs verstanden. PS: habe richtig gelesen aber ist halt alles Neuland :) Leider habe ich nicht alle Bauteile da um zu testen. Habe mal ne Zeichnung gemacht wie ich denke das es richtig ist.

Der pinMode(Switch, INPUT_PULLUP);

kann der dann so bleiben oder reicht ein PULLUP ?

Anbei Bild: https://www.dropbox.com/s/qy8ruy128x1fp3e/20191031_203448.jpg?dl=0

Ja, ein Pullup reicht für einen Eingangspin. Und die Zeichnung bitte hier im Forum direkt als Attachment posten. Extern verschwinden die Bilder und ann fehlt der Zusammenhang.

Deine Zeichnung verwendet einen Pulldown-Widerstand und du schaltest gegen +5V, dann musst du auch auf 1 oder HIGH abfragen.

Ja das wollte ich ging aber leider nicht :/ Aber danke :) Ist das mit der Zeichnung den so korrekt?

Audiator:
Ja das wollte ich ging aber leider nicht :confused: Aber danke :slight_smile: Ist das mit der Zeichnung den so korrekt?

Wieso ging nicht ?
Ein jpg kannst du hochladen.
Und die Erklärung zur Zeichnung steht im vorherigen Post.

Hi

Das ist ein externer Pull-DOWN (zieht den Pegel runter - daher Pull (zieh) Down (runter)). Dann ist INPUT_PULLUP ... blöd.

Das INPUT_PULLUP spart einen externen Widerstand - nicht mehr, nicht weniger. Dadurch ist der unbetätigte Taster aber HIGH - durch den Pull-UP (hoch gezogen, auf 5V).

Ich 'löse' solche low-aktiv Dinger mit zwei #define oder const boolean. const boolean AN=LOW; const boolean AUF=!AN;

So muß ich nur an EINER Stelle was ändern, wenn sich was ändert - ich also (in meinem Fall) andere Relais nutze - Die eben nun doch HIGH für AN brauchen - in einer Zeile was getauscht - läuft.

MfG

Hier das Bild und danke für die Super antworten. Dann besorge ich mir mal ein 4,7kohm widerstand. Danke Leute klasse das ihr so geduld habt :slight_smile:

Audiator: Hier das Bild und danke für die Super antworten. Dann besorge ich mir mal ein 4,7kohm widerstand. Danke Leute klasse das ihr so geduld habt :)

Ok, das mit dem Bild hat jetzt ja auch funktioniert.

Wie lang soll das Kabel zum "Schalter" werden ?

Das kann ich noch nicht genau sagen evtl. 1 meter aber ich habe jetzt ein 4,7 kohm widerstand besorgen können habs gleich getestet und Sie da freu

Audiator: Das kann ich noch nicht genau sagen evtl. 1 meter aber ich habe jetzt ein 4,7 kohm widerstand besorgen können habs gleich getestet und Sie da freu

Ok, prima dass es so funktioniert.

1m ist kein großes Problem. Notfalls den Widerstand kleiner machen. Das geht problemlos bis 1k runter.