HIGH/LOW ändern sich beliebig ohne Tasterbenutzung

sschultewolter:
Du hast aber auch genau mit dem Sketch das nun probiert?

ganz genau!

michiries:
ganz genau!

Willst Du eine unendlich lange Zeile auf Serial erzeugen?
Wer scrollt denn so weit rechts rüber, dass er die Ausgabe dort noch sehen kann?

Mach doch wenigstens am Ende einen Zeilenvorschub (println = "print line"):

Serial.println(c);

Das ist insofern merkwürdig als ein Arduino-Board beim Upload einen automatischen Reset ausführt, d.h. wenn Du den seriellen Monitor schließt und wieder öffnet, macht das Programm einen Reset, und dann sollte die Anzeige wieder so sein als wenn noch gar keine Tasten gedrückt worden wären, also 000 und nicht 111.

Dann wars ein Formulierungsfehler meinerseits: SM offen, alles funktioniert, SM wird geschlossen, also noch kein Reset, funktioniert weitere Sekunden, DANN KOMMT MEIN FRAGLICHES RÄTSEL - LCD ist nicht mehr auf 111 (Taster haben jedoch auf 111 geschaltet), sondern auf 000 - meine Vermutung: irgendwo ist ein Reset, den ich nicht finde/kenne

Kann es vielleicht sein, dass
a) Dein Board gar keinen automatischen Reset durchführt?

Hab zwischenzeitlich auch was ganz anderes drauf geladen, mein LCD zeigt mir test an, urspr. Code wieder drauf, zeigt mir wieder 000 etc. an

b) Dein Board einen ganz anderen Sketch enthält als Du meinst und der Upload auf das Board fehlschlägt?

Der richtige ist drauf, sonst würde mein LCD ja nicht auf die Taster reagieren.

c) oder gar, dass Du zwei Arduino-Boards an zwei verschiedenen seriellen Schnittstellen an Deinem PC angeschlossen hast, und während Du beabsichtigst, auf den einen Arduino hochzuladen, machst Du den Upload tatsächlich auf den zweiten angeschlossenen Arduino?

In der Tat hab ich 4 UNOs dran hängen, die anderen 3 laufen aber kontinuerlich in einem LabVIEW-VI.

Willst Du eine unendlich lange Zeile auf Serial erzeugen?
Wer scrollt denn so weit rechts rüber, dass er die Ausgabe dort noch sehen kann?

Mach doch wenigstens am Ende einen Zeilenvorschub (println = "print line"):

Hab das automatische Scrollen an, aber das ist durchaus eine gute Idee!

if (digitalRead(Taster3) == HIGH)
   {
    c==0?c=1:c=0;
    delay(WARTENKURZ);
   }

Da versteh ich den Kode jetzt nicht. Wenn der Taster gedrückt ist dann soll der a, b bzw c den Wert negieren ( 0 wird 1 und 1 wird 0)
Ist das so beabsichtigt?
Bei 10mS delay() und nochmal etwas wie 5mS für die Serielle SChnittstelle bzw LCD wechselt der Wert alle 15 mS. Da hast Du keinen so schnellen Finger.
Grüße aus dem heißen Malta.
Uwe