Go Down

Topic: Frage zu digitalRead (Read 1 time) previous topic - next topic

hk007

Hi,

ich such mich jetzt schon eine Stunde an meiner Anlage tot, weil ich ein Signal nicht reinbekomme.
Hab den Controller schon gefühlte 100mal ausgebaut, neu geflasht und wieder eingebaut.

Jetzt ne kurze Frage an euch:

Ich lese einen digitalen Eingang, der Signalwechsel funktioniert bis zum Arduino-PIN.
Aber ich bekomme in der Software nur "True", egal wie der Schalter steht  :(

Hier mal die entsprechenden Code-Teile

Code: [Select]

const int RM_S_Anlage_Ein = 4;  // Rückmeldung Schalter "Anlage Ein"
pinMode(RM_S_Anlage_Ein, INPUT_PULLUP);
S_Anlage_Ein_Status = !digitalRead(RM_S_Anlage_Ein);  // Schliesser am Knebelschalter verwendet, interner PullUp am Arduino-Eingang


Kann es sein, dass die Negierung bei digitalRead Probs macht?
Arduino 1.8.8

combie

#1
Feb 08, 2015, 12:54 pm Last Edit: Feb 08, 2015, 01:07 pm by combie
Quote
Kann es sein, dass die Negierung bei digitalRead Probs macht?
Bei meinen Arduinos und Tastern nicht.


Ich würde das Problem in deinen Code vermuten.
Nur zeigst du uns nicht die Fehler verursachende Stelle ....
Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

Serenifly

Ich lese einen digitalen Eingang, der Signalwechsel funktioniert bis zum Arduino-PIN.
Ich nehme an das heißt dass der Taster korrekt gegen Masse angeschlossen ist, und nicht gehen +5V?

hk007

Ich nehme an das heißt dass der Taster korrekt gegen Masse angeschlossen ist, und nicht gehen +5V?
Na klar doch ;)
Schliesser zieht den Eingang auf Masse.
Arduino 1.8.8

ElEspanol

#4
Feb 08, 2015, 01:37 pm Last Edit: Feb 08, 2015, 01:38 pm by ElEspanol
schon mal mit einem kleinen Dreizeiler ausprobiert, ob der PIN vom Arduino eventuell kaputt ist?

hk007

schon mal mit einem kleinen Dreizeiler ausprobiert, ob der PIN vom Arduino eventuell kaputt ist?
Kann dann ja nur noch das sein.
Werd ich dann mal testen. Bau ich halt den Controller noch mal aus  :smiley-sad:

Danke für eure Antworten
Arduino 1.8.8

ElEspanol

so etwas gehört bei mir immer zu den ersten Tests bei der Fehlersuche.  8)
idealerweise gar nichts von dem alten oder ursprünglichen Code verwenden,  sondern neu geschriebenen oder aus den Beispielen. 

hk007

Ich würde das Problem in deinen Code vermuten.

Tja... peinlich, aber du hattest recht.

Ich Esel hab die Variable in einem anderen Unterprogramm (das sich natürlich auch noch in einem anderen Tab befand) zu Testzwecken statisch auf "true" gesetzt. Ich hatte damals noch keinen Schalter dran, und wollte den Signalpfad zu meiner Visualisierung simulieren. Ich hab zwar das Haupt-Ino durchsucht, weil ich so was normalerweise immer da platziere, aber nicht die anderen-Tabs.

Die Idee von ElEspanol mit dem Dreizeiler hat mich drauf gebracht.
Manchmal sieht man den Wald vor lauter Bäumen nicht.

Ich glaub ich muss mir für die Zukunft angewöhnen, solche Testsachen irgendwo zentral zu verwalten. Dann verliert man nicht so schnell den Überblick. V.a. bei größeren Programmen.

Danke an eure Antworten.
Arduino 1.8.8

ElEspanol

Genau deswegen. Ich kenne das nämlich. Ich durchsuche immer mit einem speziellen Suchprogramm (nicht mit der Windows Suche)  den gesamten Sketchordner nach der Variablen.


Go Up