Continuare a leggere dati

So per quanto riguarda la comunicazione seriale di arduino, ci sono vari esempi su questo.
Se comunichi con un PC, allora userai la porta usb, esistono esempi sul forum di come comunicare
in seriale tra arduino e matlab.

In arduino esiste il metodo serial.available(), che ci indica se ci sono caratteri sulla seriale.

Volendo mandare un "comando" ad arduino , nella funzione loop() metto una condizione
"se ci sono caratteri sulla seriale ALLORA leggi il comando", poi in base al comando ricevuto faccio
qualcosa.

La cosa più semplice per inviare un comando, è inviare un semplice carattere, ad ogni carattere corrisponde un azione o un richiamo di una funzione.

Esempio ricezione comandi su arduino

char comando;
void loop(){

    if(Serial.available()){// Solo se ho trasmesso un comando da seriale, se ci sono caratteri sulla seriale

          comando=Serial.read();
          switch(comando){
              case 'a':
                   funzione1();
                   break;
               case 'b':
                   funzione2();
                   break;
               case 'c':
                   funzione3();
                   break;
          }
   }

}

Se i comandi sono superiori ai caratteri disponibili o si è interessati ad inviare una parola come comando, allora si dovrà trasmettere una stringa, e in arduino leggere una stringa "ci sono esempi sul forum" e poi confrontare la stringa con un if e la funzione strcmp(), Ma per quanto mi riguarda non è quasi mai necessario e inviare un semplice carattere è sufficiente.