Utilizzare due display tm1637 con temperature da due sonde

Buongiorno
ho due sonde di temperatura poste in locali diversi con temperature diverse.

Riesco a visualizzare le due temperature, a intervalli di pochi secondi, su un solo
display tm 1637.
Sto cercando ora di visualizzare la temperatura Temper1 su un display e la temperatura Temper2 su un altro display (entrambi tm 1637)
(Ho trovato nelle discussioni la possibilità di fare questo con display lcd, ma vorrei insistere con la mia idea)
Ho provato con un ciclo IF ma ottengo errore
Ho fatto numerosi tentativi ed ora mi sono arreso ( il mio livello di programmazione con Arduino non è evidentemente ancora sufficiente)

Di seguito il mio programma

digita o incolla il codice qui
```/////////////////////////////////////////////////
// SENSORE TEMPERATURA DS18B20 
//
#include "TM1637.h"
#include <DallasTemperature.h>
#include <OneWire.h> // dichiarazione di utilizzo della libreria OneWire.h
#define ONE_WIRE_BUS 2 // assegna il valore 2 al nome ONE_WIRE_BUS
OneWire oneWire(2); // associa alla porta 2 (valore di ONE_WIRE_BUS) il
// canale dati dei sensori
float tc=0.0 ;
int nsonde=0; 
DallasTemperature temp(&oneWire); //trasferisce alle routine della libreria DallasTemperature
// il controllo delle funzioni OneWire
#define E 3
#define F 4
#define A 5
#define B 6
#define C 7
#define D 8
TM1637 tm1(A, B);
TM1637 tm2(C, D);
TM1637 tm3(E, F);
void setup(){
Serial.begin(9600); // inizializza la porta seriale per l'utilizzo del monitor seriale
temp.begin(); // inizializza i sensori
nsonde=temp.getDeviceCount();

//Serial.print("le sonde sono ");
//Serial.println(nsonde);
tm1.init(); //inizializzo il display
tm1.set(1);//valori da 0 a 7 per impostare la luminosità
tm2.init();
tm2.set(1);
tm3.init();
tm3.set(1);
}
void loop()
{

temp.requestTemperatures(); // invia ai sensori la richiesta di misurare la temperatura
for (int i=0; i<nsonde ; i++ ){
//Serial.print("sonda  ");
//Serial.print(i);
tc = temp.getTempCByIndex (i);
//Serial.print("   C: ");
//Serial.println(tc);

//Serial.println("    ");

int Temper1=temp.getTempCByIndex(0);
int Temper2=temp.getTempCByIndex(1);
//Serial.print(Temper1);
//Serial.print("    ");
//Serial.println(Temper2);

//delay (1000); // attende un secondo per dare tempo ai sensori di effettuare la misurazione
shownumber(Temper1);
delay (2000);
shownumber(Temper2);
//delay (2000);
}
}
void shownumber(int Temper1) {
 int d1= Temper1 % 10 ;
int d2= (Temper1/10) % 10 ;
tm1.display(2, d1) ;
tm1.display(3, d2) ;

}

//}
//void shownumber(int Temper2){
 // int b1= Temper2 % 10 ;
// int b2= (Temper2/10) % 10 ;
//tm2.display(2, b1) ;
//tm2.display(3, b2) ;
//tm3.display(2, b1) ;
//tm3.display(3, b2) ;
//}
//}`

:warning:
Ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato.
Grazie.

A quanto detto da UKHeliBob aggiungo ...

... cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO della sezione Italiana del forum, (... e, per evitare future possibili discussioni/incomprensioni, prestando sempre molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.