bluetooth, gestire dati in ricezione in presenza di variabili


salve, ho un problema capire come gestire dati che ricevo su arduino tramite bluetooth. riesco programmare per fare in modo che, se invio una lettera o un numero, alla ricezione di quella lettera o numero l arduino faccia una determinata cosa, ma come si possono gestire variabili tramite un ciclo for? faccio un esempio per spiegarmi meglio.

code: [select]


#include <softwareserial.h>

softwareserial bluetooth(10, 11);
string bluetoothdata;
int nuovoval;

void setup() {
  bluetooth.begin(38400);
  bluetooth.println("bluetooth on");
 
}

void loop() {
     if (bluetooth.available()){
bluetoothdata=bluetooth.readstring();
 for (int = 0; <100; i++){
   if(bluetoothdata=="test" + i){ 
   nuovoval=i;
   bluetooth.print ("nuovo valore impostato : ");
   bluetooth.println(nuovoval);

   
      }
    }

  }
}



fin quando devo gestire due o tre variabili mi creo gli if per ognuno e risolvo, ma se voglio gestire una mole di variabili piu elevata, c'è un modo per gestirla tramite ciclo for(o altro modo che non sia creare un if per ogni possibile valore)? qual è la procedura per leggere dati che ricevo, come va implementata la ricezione dei dati? perche l errore deve essere in quel "test" +i, ma non come cercare per risolverlo. grazie

sperando di aver capito cosa ti serve... se il numero massimo di valori è noto potresti usare un array.
rimane da vedere come associare il valore alla posizione nell'array, ma questo dipende dalla logica con cui ricevi valori.

curiosità: se valori che ricevi sono tutti nella forma testn con n che va da 0 99, perché non invii semplicemente un numero da 0 99?

tieni presente che quel non è molto "economico"... sprechi un sacco di controlli che potresti evitare... pensa se l'if è soddisfatta al primo colpo, con il ti fai comunque altri 99 confronti inutili...


Arduino Forum > International > Italiano > Software (Moderator: leo72) > bluetooth, gestire dati in ricezione in presenza di variabili


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'