String variablen in if schleife abgleichen

Hey!
ich experimentiere gerade etwas mit meinen HC-08 BLE Modul herum und bekomme einen wert in einer string variable. Nun möchte ich diesen Wert in einer if schleife abgleichen, es funktioniert aber nicht. Kann mir jemand sagen, wo in meinem Code der Fehler liegt?

#include <SoftwareSerial.h>

SoftwareSerial btSerial(10, 11); // RX, TX PIN

String bt_rx;

void setup() {
  Serial.begin(9600);
  pinMode(12, OUTPUT);
  btSerial.begin(9600);
}

void loop() {
  if (btSerial.available()) {
    bt_rx = btSerial.readString();
    Serial.print("Received:");
    String message = bt_rx;
    Serial.println(message);

    
    if (message == "led_an") {
      digitalWrite(12, HIGH);
      btSerial.println("LED turned on");
    }
    if (message == "led_an") {
      digitalWrite(12, LOW);
      btSerial.println("LED turned off");
    }
  }
}

If schleife

Zeige mal die serielle Ausgabe

In deinem String ist nicht das drin, was du dir wünscht.
String'::length() würde dir das beweisen können.

Daraus folgt:
Du möchtest Streng::trim() zur Anwendung bringen, auch wenn du das bis jetzt noch nicht wusstest.

Zudem macht es bei deiner Abfrage keinen Sinn, wenn du zweimal auf das selbe abfragst.

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