Allora ragazzi ho messo un carattere di fine stringa che io ho indicato con il punto. Quindi ogni qual volta che dovrebbe trovare questo benedetto punto la lettura dovrebbe interrompersi.
Ad esempio se io mando tramite seriale la parola "accendi." appena vede il punto dovrebbe interrompere l'acquisizione. Il codice che ho scritto è questo:
int led=13;
String stringa; // stringa ricevuta
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
stringa = ""; // azzera stringa
while (Serial.available() > 0 && (Serial.read() != '.')) { // ricezione da Serial Monitor
stringa += char(Serial.read()); // aggiungi carattere alla stringa
}
//delay(4000);
//Serial.print(stringa);
stringa.trim(); // elimina spazi iniziali e finali
stringa.toLowerCase(); // converti in minuscolo
if (stringa == "accendi") digitalWrite(led, HIGH);
else if (stringa == "spegni") digitalWrite(led, LOW);
}
ma ancora non funzionaaaa

cmqe ritornando alla questione char[] o string ho preferito scegliere la soluzione delle string perchè innazi tutto gli operatori di stringa sono molto più semplici, cioè per catenare ho visto che basta utilzzare la sintassi
stringa1 + stringa 2...ecc...
poi per quanto riguarda i char[] ho visto che questi devono essere dichiarati e dimensionati a priori e il bello è che non so quanto sarà lunga questa stringa...
almeno queste sono nozioni che ho imparato nel giro di una settimana avendo arduino davanti...se ci sono scappatoie fatemi sapere!sono qui per imparare
