ich möchte den Zustand der LED als Text ausgeben. Leider ist die Ausgabe immer "AUS". Ich habe auch andere Varianten ausprobiert und das Ergebnis ist (fast) immer gleich. Da ich noch NEU bin, denke ich, das es etwas grundlegendes ist.
Anbei ein Auszug vom Programm:
...
digitalWrite (ledPin, HIGH);
if (digitalRead(ledPin ==HIGH))
lcd.print("AN");
else
lcd.print("AUS");
delay (2000);
digitalWrite (ledPin, LOW);
if (digitalRead(ledPin ==HIGH))
lcd.print("AN");
else
lcd.print("AUS");
Ein paar kleine Fehler schau mal hier
bei einem if wird die nachfolgende funktion immer ausgeführt wenn das ergebniss 1 ist
also kannst du es so machen wie im beispiel nur den digitalRead (da er nur 0 oder 1 ist) oder ausführlich auf den Zustand vergleich ==1 ==0 oder == !HIGH oder == !LOW
digitalWrite (ledPin, HIGH);
if (digitalRead(ledPin ==HIGH)) // hier flasch if(digitalRead(ledPin)) wäre hier richtig oder
// (digitalRead(ledPin) ==HIGH) <== Klammer Falsch
lcd.print("AN");
else
lcd.print("AUS");
delay (2000);
digitalWrite (ledPin, LOW);
if (digitalRead(ledPin ==HIGH)) // Genauso
lcd.print("AN");
else
lcd.print("AUS");
delay (2000);
außerdem hast du die if und bei else die geschwungenen Klammern vergessen, damit wird immer lcd.print("AN"); ausgeführt.
Gruß Ardubu
Nicht korrekt ohne schweifende Klammer wird nur die nächste Zeile nach der If-Bedinung unter diese Bedingung gestellt. Wenn man mehr als 1 Zeile unter die Bedingung stellen will sind die schweifende klammern erforderlich.
Gruß
DerDani
könnte ich nicht die Ausgabe in eine Variable schieben und diese dann zur Textausgang heranziehen?
Das ist doch bestimmt weniger Schreibarbeit, besonders wenn mehrere Pins abgefragt werden?
könnte ich nicht die Ausgabe in eine Variable schieben und diese dann zur Textausgang heranziehen?
Das ist doch bestimmt weniger Schreibarbeit, besonders wenn mehrere Pins abgefragt werden?