PROBLEMI memorizzazione numero con keypad

Salve, avevo già aperto un argomento ma si stava incasinando quindi ne apro un altro simile (al momento non chiudo l'altro perchè ho delle risposte anche lì che mi servono).
Io sto lavorando ad un progetto da dover portare per forza all'esame di maturità, partendo dal fatto che io (come tutta la classe) ho 0 competenze con arduino, nonostante ciò hanno deciso ad inizio anno di farci accendere 1 led, e ora di chiederci la progettazione di un sistema idrico per la città con tanto di fungo alto 20 metri totalmente automatizzato da arduino... vabbeh.

Oltre al mio piccolo sfogo, questo è quello che (con l'aiuto di altri utenti) sono riuscito a fare, ma sono bloccato;


#include <LiquidCrystal.h>
#include <Keypad.h>



#define VIRGOLA 'A' 
#define FINE_NUMERO 'B'
#define CANCELLA 'C'


LiquidCrystal lcd(5, 4, 3, 2, A4, A5);


const byte ROWS = 4; 
const byte COLS = 4; 
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {A0, A1, A2, 10}; 
byte colPins[COLS] = {9, 8, 7, 6}; 

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

int LCDRow = 0;
int livello = 0;
int i = 0;




void setup() {
  
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  Serial.begin(9600);

  
}

void loop()
{
  lcd.begin(16, 2);
  delay(2000);
  {
    lcd.print("Avvio...");
    delay(5000);
    lcd.clear();
    {
      delay(3000);
      lcd.print("Inserire altezza");
    }
    {
      lcd.setCursor(0, 1);
      lcd.print("Hmin:");
      delay(1000);
    }
    {
      lcd.setCursor(5, 1);
      int hMin = 0;
      char key;
      while (true) {
        key = keypad.waitForKey();
        if (key == VIRGOLA) {
          Serial.println(',');
          lcd.print(',');          
          continue;
        }
        if (key == CANCELLA) {
          Serial.println("Cancellato");
          lcd.setCursor(5, 1);      //POSIZIONA IL CURSORE ALL'INIZIO DEL NUMERO
          lcd.print("           "); //SCRIVI UN NUMERO DI SPAZI PER CANCELLARE
          lcd.setCursor(5, 1);      //RIPOSIZIONA IL CURSORE ALL'INIZIO DEL NUMERO
          continue;
        }
        if (key == FINE_NUMERO) {
          break;
        }
        if (key-48 >= 0 && key-48 <=9) {   
          Serial.println(key);
          lcd.print(key);                    
          hMin = hMin * 10 + (key-48);
        }
      }
    }
  }
}

devo fare in modo da scrivere con keypad un numero da dover leggere sull'lcd,(questo sono riuscito a farlo), ma questo che sto per dirvi no:

il numero va salvato come Hmin (altezza minima)
poi bisogna scrivere sempre con keypad un numero da dover salvare questa volta come Hmax (altezza massima)

questi valori dovranno poi essere confrontati con un valore dato da un sensore (dato che uso tinkercad sto usando un potenziometro per simularlo)
ma a quest'ultima cosa ci sto lavorando io dato che credo di essere in grado.

Potreste aiutarmi con questa cosa? ho praticamente 2 settimane per completarlo e studiare tutte le altre cose che ci hanno dato, stiamo praticamente impazzendo, il vostro aiuto sarebbe il TOP, Grazie in anticipo!

A post was merged into an existing topic: Problemi con l'lcd