Wie vergleiche ich einen String aus Serial.read ()?

Ich habe diesen Code unten, wo ich herkommedieses Forum dass ich durch folgte. Es hat bei mir nicht funktioniert, aber sie behaupten, dass der Code in Ordnung ist. Ich habe bereits mehrere Stringvergleichsmethoden ausprobiert, wie zstring.equals(string) und der Standard== Betreiber, immer noch ohne Glück.

int ledPin = 13;
String readString;

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT); 
  Serial.println("serial on/off test 0021"); // so I can keep track
}

void loop() {
  while (Serial.available()) {
    delay(3);  
    char c = Serial.read();
    readString += c; 
  }
  if (readString.length() >0) {
    if (readString == "on") {
      Serial.println("switching on");
      digitalWrite(ledPin, HIGH);
    }
    if (readString == "off") {
      digitalWrite(ledPin, LOW);
    }
    readString="";
  } 
}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage