[RISOLTO]Comunicazione seriale leggere parte della stringa

Salve,
vorrei realizzare un programma che quando inserisco una frase via seriale controlli se c'è una data parola (ad esempio voglio spere se nella frase "ciao mi chiamo Luca" è presente la parola "ciao"). Quali funzioni devo usare? La frase devo salvarla come stringa o ogni carattere separatamente?
Grazie

Devi avere due variabili dichiarate come string, ed utilizzare StringIndexOf.
Se hai un valore uguale o maggiore di 0, allora la tua stringa esiste, se è -1 non è presente.
Ricorda che è case sensitive, cioè Luca è diverso da luca.

Grazie Brado :slight_smile: :slight_smile:

Figurati! :wink:

Purtroppo però controlla solo la prima parola. Quindi se chiedo nella frase "ciao mi chiamo Luca" è presente la parola "ciao" mi dice sì, se chiedo se c'è la parola "chiamo" dice di no. Non si può fare oppure sono io che non sono capace di usare questa funzione?
Esiste un altro modo?

Grazie

Lo sketch?

ne ho provati due:

String stringa;

void setup () {
Serial.begin(9600);
}

void loop () {
if(Serial.available () > 0){
stringa = Serial.readString();
Serial.println(stringa);
if(!stringa.indexOf("ciao")||(!stringa.indexOf("Ciao"))){
Serial.println("Ciao, sono Arduino.");
}else{
Serial.println("xxx");
}
}
}

String stringa;

void setup () {
Serial.begin(9600);
}

void loop () {
if(Serial.available () > 0){
stringa = Serial.readString();
Serial.println(stringa);
if(!stringa.indexOf("?")){
Serial.println("domanda");
}else{
Serial.println("affermazione");
}
}
}

Nel primo prova a sostituire

if(!stringa.indexOf("ciao")||(!stringa.indexOf("Ciao")))

con

if((stringa.indexOf("ciao")>=0)||(stringa.indexOf("Ciao")>=0))

Re:GRAZIE brado.

grazie al tuo consiglio ora sono riuscito a fare funzionare tutti e due gli sketch.

:slight_smile: :slight_smile: :slight_smile: :slight_smile: :):slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile:

Bene!
L'importante che abbia capito il perché prima non funzionasse, ed ora si. :wink: