all'inizio avevo messo int ma era una "tragedia" uscivano quasi sempre numeri col meno iniziale
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 ;