Curiosità

Buongiorno a tutti,

cercando di "costruire" un codice numerico di 6 cifre su arduino mega (ma ciò vale anche per Uno) mi sono trovato a ricevere un dato negativo.

int tempo = 140;
int v_Dati;
int F = 2;
int V = 5;
int T = 1;
int C;
int D;
int U;

void setup() {
  Serial.begin(9600);             // Serial port to computer
}

void loop() {

  if (tempo >= 0) {
    for (int i = tempo; i >= 0; i--) {
      if (tempo > 0) {
        tempo = i;
      }

      C = i / 100;
      D = (i - (C * 100)) / 10;
      U = i - ((C * 100) + (D * 10));
      v_Dati = (F * 100000) + (V * 10000) + (T * 1000) + (C * 100) + (D * 10) + U;

      Serial.println(v_Dati);
      delay(1000);
    }
  }
}

Qualcuno mi può indicare dove sto sbagliando?

Il valore ottenuto verrebbe poi trasmesso con HC12 e riscomposto nelle sue singole parti per inizializzare azioni diverse.

Grazie anticipatamente + saluti a tutti.

Enrico

Grazie Faraday, quell'informazione mi era sfuggita.

PS: esiste un modo meno farraginoso per trasferire informazioni, senza, cioè, moltiplicare e poi dividere?

Scusa, Brunello, non faraday...la fretta...