Problema refresh tm 1637

Ciao a tutti,
ho un tm1637 a 6 cifre e sto usando la libreria TM1637TinyDisplay6.h .
Il display per me deve mostrare 2 dati, un float e un intero con il classico;

display.showNumber(temperatura, 0, 6);
display.showNumber(Vbatt, 1, 3);

il problema che sto riscontrando è che andando a scrivere 2 volte il display praticamente ha una sorta di sfarfallio molto fastidioso, si vede l'aggiornamento a occhio nudo come un led che accende e spegne molto velocemente.
Volevo sapere se secondo voi esiste qualche soluzione per ovviare il problema ( come visualizzare le 2 variabili nella stessa riga ) oppure cosa mi consigliate.
Grazie.

Posta lo sketch per intero

#include <TM1637TinyDisplay6.h> 
#define CLK 5
#define DIO 6

TM1637TinyDisplay6 display(CLK, DIO); // 6-Digit Display Class

int ThermistorPin = 0;
int Vo;
float R1 = 998;
float logR2, R2, T, Tc, Tf;
float c1 = 1.462513631e-03, c2 = 2.577329162e-04, c3 = -2.648649236e-07;

int PinBatt = A1;  
int ValPinBatt;
int tempprec=0;
float Vpin_perc;
float Vbatt;  
float calc_res;
float res1 = 14100; //modificare questi valori con i valori realmente utilizzati.
float res2 = 4700;
float media=0;

void setup() {
Serial.begin(9600);
display.begin();
display.setBrightness (7);
pinMode (PinBatt, INPUT);
calc_res = (res1 + res2) / res2;

}

void loop() {

  int i=0;
  int temperatura=0;
  for ( i=0;i<50;i++){
  Vo = analogRead(ThermistorPin);
  float R2 = R1 / (1024.0 / (float)Vo - 1.0); // VCC-R1-R_therm-GND
  //R2 = R1 * ( 1024.0/Vo -1 ); // VCC-R_therm-R-GND (opposite wiring)
 // R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
  Tc = T - 273.15;
  Tf = (Tc * 9.0)/ 5.0 + 32.0; 
  temperatura= temperatura + Tc;
  }
  temperatura=temperatura/50;

  Serial.print("Temperature: "); 
  
  Serial.print(temperatura);
  
  Serial.println(" C"); 

   


    for ( i=0;i<1000;i++){
     media= media +  analogRead(PinBatt);
    }
    media= media/1000;



  ValPinBatt = media;
  media=0;
  Vpin_perc = map (ValPinBatt, 0, 1023, 0, 500);
  Vbatt = Vpin_perc * calc_res / 100 ; 
  Serial.print("Tensione batteria:");
  Serial.println(Vbatt);    

   //float numero=0;
   //numero= temperatura*100;
   //numero= numero + Vbatt;
   //display.showNumber(numero, 1,6);


  delay(1000);

  if ( tempprec!=temperatura){
  display.showNumber(temperatura,  0, 6);
  tempprec=temperatura;
  }

  display.showNumber(Vbatt,  1, 3);
}

ho provato 2 soluzioni diverse per evitare lo sfarfallamento del display quando avvengono le 2 scritture dei 2 valori.
La prima soluzione che è quella non utilizzata è comporre un unico numero ( moltiplicando la variabile temp per 1000 e poi aggiungendo il valore Vbatt) in maniera da scrivere solo una volta nel display.
la seconda opzione che è quella attiva è sovrascrivere il valore temperatura quando il nuovo valore è diverso dal precedente. Quindi in questo caso ogni ciclo viene aggiornato il valore Vbatt tranne quando cambia di valore anche temp. In quel caso ho lo sfarfallio ancora ovviamente...

La soluzione è fare showNumber solo quando cambia il numero...
ma ovviamente lo devi fare per tutte e due le cifre che stampi!!
Hai 2 showNumber, se lo fai solo per una... non basta.

"My TM1637 display is flickering"