Salve, la mia idea è quella di leggere i valori provenienti da due diversi sensori a frequenze diverse attraverso le porte analogiche, e ogni qual volta avviene una lettura questa viene inviata tramite la porta seriale, differenziando i due valori con delle sigle che precedono e seguono il dato ovvero:
A
dato1
A
B
dato2
B
questo è il codice:
int tc1 = 1000;
int tc2 = 5000;
int dato1;
int dato2;
unsigned long tempo1;
unsigned long tempo2;
void setup() {
Serial.begin(4800);
tempo1 = millis();
tempo2 = millis();
}
void loop() {
if ((unsigned long )(millis() - tempo1) > tc1) {
dato1 = analogRead(A3);
tempo1 = millis();
Serial.println('A');
Serial.println(dato1);
Serial.println('A');
}
if ((unsigned long)(millis() - tempo2) > tc2) {
dato2 = analogRead(A8);
tempo2 = millis();
Serial.println('B');
Serial.println(dato2);
Serial.println('B');
}
}
Dopo 3 letture corrette di entrambi i dati ovvero:
A
dato1
A
B
dato2
B
A
dato1
A
succede questo:
A
dato1
A
B
dato1
B
A
dato1
A
Potreste aiutarmi a capire per quale motivo??
Grazie