Sentencia if no se ejecuta

que tal.

pues les platico de mi problemita.

se trata de leer por el pto serial un string y lo comparo con otro string para ejecutar algunas instrucciones.

bueno el tema es que no se ejecuta adecuadamente la instruccion if, ya le busque y no encuentro el problema, ya trate con hacer la comparacion con == y con String1.equals(string2) y tampoco funciona.

alguien tiene alguna idea sobre lo que sucede, porfa?

while(Serial.available()>0){
    String r=Serial.readString();
    delay(100);
    if(r.equals("adios")){
      Serial.println(r);
      Serial.println("si se ejecuto");

como pueden ver es muy sencillo pero nomas no encuentro el motivo de que no se ejecute el if

gracias y espero sus comentarios

Porque usas un delay(100)? Y porqué no ves que lees desde el puerto serie usando un Serial.println(r);

Capaz que te conviene mas usar algo como esto que buscar por igualdad:

int var = str2.indexOf("hola"); //hora actual
      if (var>=0){
//si lo encontro
}