dividere in 2 parti il numero 99999 e regolare 3 cifre, poi 2 cifre per volta

all'inizio avevo messo int ma era una "tragedia" uscivano quasi sempre numeri col meno iniziale :fearful:

quasi sicuramente era perche l'int non puo essere usato per un numero troppo alto

qui c'è la prima parte del codice

se si puo usare qualcos'altro al posto di float (int proprio non va) lo provo

int A = 0;     // mappa per regolare le prime 3 cifre
int B = 1023 ; // mappa per regolare le prime 3 cifre
int C = 0 ;    // mappa per regolare le prime 3 cifre
int D = 180 ;    // mappa per regolare le prime 3 cifre

int E = 0;    // mappa per regolare le ultime   2 cifre
int F = 1023; // mappa per regolare le ultime   2 cifre
int G = 0;    // mappa per regolare le ultime   2 cifre
int H = 99;   // mappa per regolare le ultime   2 cifre



float millimetri ;
float centesimi ;

float CFR1;  //display 7 seg  per visualizzare il trattino se necessario
float CFR2;  //display 7 seg
float CFR3;  //display 7 seg



float sfarfallio = 3900;  //serve per aggistare lo sfarfallio se cè

float CFR4;  //display 7 seg
float CFR5;  //display 7 seg
float CFR6;  //display 7 seg

float K = 0;


                               

 void setup () {  
   

     
 // Serial.begin(9600); 
//pinMode (0, OUTPUT);   
//pinMode (1, INPUT);   
pinMode (2, OUTPUT); 
pinMode (3, OUTPUT); 
pinMode (4, OUTPUT);  
pinMode (5, OUTPUT);  
pinMode (6, OUTPUT);  
pinMode (7, OUTPUT); 
pinMode (8, OUTPUT);
pinMode (9, OUTPUT); 
pinMode (10, OUTPUT);  
pinMode (11, OUTPUT); 
pinMode (12, OUTPUT);  
pinMode (13, OUTPUT);
//pinMode (14, OUTPUT);
//pinMode (15, OUTPUT);
pinMode (16, INPUT);
pinMode (17, INPUT);
pinMode (18, OUTPUT);
pinMode (19, OUTPUT);

digitalWrite (16, HIGH);  //seconda cifra
digitalWrite (17, HIGH);  //prima cifra

digitalWrite (3, HIGH);  //seconda cifra
digitalWrite (4, HIGH);  //prima cifra
digitalWrite (2, HIGH);  //segmento  f  sinistra,alto
digitalWrite (5, HIGH);  //segmento  e  sinistra,basso
digitalWrite (6, HIGH);  //segmento  d  basso
digitalWrite (7, HIGH);  //segmento  c  destra,basso
digitalWrite (8, HIGH);  //segmento  b  destra,alto
digitalWrite (9, HIGH);  //segmento  a  alto
digitalWrite (10, HIGH); //segmento  g centrale
digitalWrite (11, HIGH); //terza cifra
digitalWrite (12, HIGH); //quarta cifra
digitalWrite (18, HIGH); // quinta cifra 
digitalWrite (19, HIGH); // sesta cifra 




}

void loop () 

 {
   
if ( digitalRead (16) == HIGH )  millimetri = map(analogRead(A0), A, B, C, D);
if ( digitalRead (17) == HIGH )  centesimi= map(analogRead(A0), E, F, G, H);
millimetri = millimetri*100;

if ( digitalRead (16) == HIGH ) K = millimetri + centesimi ;
if ( digitalRead (17) == HIGH ) K = millimetri + centesimi ;