Arduino Input Pin immer auf HIGH?

Servus Kollegen,

ich versteh mal wieder garnichts. Ich habe einen ganz normalen Schalter (KEINEN TASTER) an den Arduino angeschlossen. Der SChalterzustand soll am Pin 13 abgefragt werden. Damit das Ganze funktioniert, habe ich am Pin 13 den internen Pullup - Widerstand benutzt, um das Potential vom Eingang auf HIGH/5V zu ziehen. Habe das Problem in keinem anderen Thema so finden können.

Problem:

Schalter unbetätigt --> HIGH/1

Schalter betätigt --> HIGH/1

Wie kann das sein? Ist der interne Widerstand hinüber? Schalter habe ich durchgemessen, funktioniert ganz normal...

Code (sorry falls bisschen schlampig, Zweck sollte erkennbar sein) lautet wie folgt:

#define Schalter_LCD 13

Serial.begin(9600);

void setup()
pinMode(Schalter_LCD, INPUT_PULLUP);

void loop()
int status_S_LCD = digitalRead(Schalter_LCD);
    Serial.println(status_S_LCD);

Habe das Problem jetzt mit einem Widerstand zwischen PIN13 und GND gelöst (siehe Foto). Damit wird das Potential auf 0V/LOW gezogen. Damit funktionierts jetzt.

PS: Wenn ich in der Kategorie "International Deutsch" auswähle, ist mein Beitrag dann nur im deutschsprachigen Raum oder auch international? Das "International" verwirrt mich. :exploding_head:

Deutsch ist eine Untersektion von International.
Genauso wie Französisch oder Spanisch.
Nur wenn du ausschließlich auf Englisch kommunzieren willst, dann sollst du in den "nicht internationalen" Sektionen posten.

Außerdem solltest du den Ausgang des Schalters an einen Eingangspin schalten
und die andere Seite auf GND.
das was du da gebaut hast macht wenig Sinn in Verbindung mit INPUT_PULLUP.

Also: Widerstand weg, Schalter schließt den Eingangspin gegen GND.

Außerdem ist an PIN 13 die LED. Ist auch kontraproduktiv. Nimm einen anderen GPIO.

Beim UNO ist die LED an 13 entkoppelt.
z.B. beim Nano nicht.

Mach daraus:
pinMode(Schalter_LCD, INPUT);

Fertig

1 Like

das sind ca. 50k nach VDD. Mit deinem 4K7 hast du jetzt einenSpannungsteiler gebaut, der bei digitalRead 0 ergibt.
2 Möglichkeiten: den Schaltern und Widerstand so lassen aber nur INPUT schreiben
oder Schalter nach GND, und den Widerstand entfernen.

1 Like

Servus @noiasca,

merci für die Antwort. Dann bin ich ja in dem Fall richtig unterwegs.

Den Schalter kann ich leider so nicht fotografieren, weil es nur ein kleiner Teil eines größeren Aufbaus ist.

Wenn ich dich richtig verstehe, sollte ich mit dem Schalter das LOW - Signal als Eingangssignal nutzen oder? Und dann INPUT_PULLUP am Pin x deklarieren.

(Pin 13 habe ich in diesem Fall nur gewählt, weil er beim Uno direkt neben GND ist und die anderen Pins 12-4 belegt sind.)

Da steckt der Fehler!
Ich rieche ihn........
Es riecht nach SPI, SD Karte, Ethernet usw....

Da funktioniert der Pin13, wie man erwartet, problemlos als Eingang!
Wenn: Kein SPI aktiv.

Warum verwendest du nicht Pin 14 bis 19 für deinen Schalter?

1 Like

@my_xy_projekt das habe ich am Anfang gemacht, bringt leider keinen Erfolg.

@wwerner Schalter von 5V direkt auf GND??

Hi @combie,

welchen Pin 14 - 19?

SPI ist nicht aktiv, ich frage mit den anderen Pins nur Schalterzustände ab und schalte Mosfet - Module.

Bei INPUT_PULLUP so:

INPUT_PULLUP

2 Likes

A0 - A5

Das glaub ich nicht.
Du brauchst einen Bezugspunkt.
Der ist in Deinem Plan der GND, der mit einem R verbunden an den PIN geht.
Legst Du auf den PIN direkt 5V, wechselt die Abfrage sofort ihr Ergebnis.
Lässt Du die Taste wieder los / legst den Schalter um, hast Du sofort wieder das bezugspotenzial.

Wenn Du das probiert hast und das nix war, hat Dein R keine Verbindung zwischen PIN und GND hergestellt.
Das passiert.
Aber dann funktioniert das auch nicht, weil der PIN die Ladung nicht verliert.

Hallo @Kai-R, ja macht so schon mehr Sinn. Das ist auch das was @noiasca gemeint hat. Verstehe ich.

@my_xy_projekt @wwerner @noiasca @combie @Kai-R sorry, habe ich vergessen zu erwähnen. Ich habe, wie ich den Widerstand eingebaut habe, den PIN 13 wieder als normalen INPUT deklariert.

Jetzt hats geklickt. INPUT_PULLUP hat nicht funktioniert weil die Verdrahtung falsch war. Und ohne Widerstand hängt der Eingang in der Luft.

Die Verwirrung ist verwirrt.

Mit dem Input Pullup sollte ich mich nochmal beschäftigen :face_with_peeking_eye:

Danke Kollegen für die schnellen Antworten.

2 Likes

.
... du kannst nur einen Beitrag als Lösung markieren (hast schon gemerkt oder?)
Du kannst dich aber bei mehreren Leuten mit einem Herzchen bedanken.

1 Like

Langer Tag heute :man_facepalming: :man_facepalming:

Merci

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.