Accesso a menu personalizzato

Grazie per aver guardato il mio codice.
Cercherò di spiegare neglio il problema.
Alla fine del codice, ho inserito un controllo "if" per verificare la pressione del tasto, (collegato all'ingresso analogico 0 che ho chiamato "lcd_key" e che controllo con l'istruzione if (lcd_key<50)) ed il quale dovrebbe portare ad uno la variabile ONsetup.
Il codice all'interno dell'if viene eseguito regolarmente alla pressione del tasto perchè lcd viene cancellato, ma la variabile ONsetup resta a zero, in quanto il codice inserito nell' If ONsetup==1 non viene eseguito.

//---------------Tasto select--------------------------------------- 
  if (lcd_key<50){
     ONsetup==1;  
     lcd.clear();
 }  
//---------------Programmazione valori---------------------------------------
  if (ONsetup==1){
     lcd.setCursor(0, 0);
     lcd.print("Prog. parametri");
     lcd.setCursor(0, 1);
     lcd.print("Fermentatore: ");
     lcd.print(Setup_Fer);
     st_char(); 
     lcd.setCursor(0, 2);
     lcd.print("Forno:        ");
     lcd.print(Setup_Forno);
     st_char();

Non riesco a capirne il motivo in quanto da nessuna altra parte porto a zero tale variabile, pertanto dovrebbe restare sempre ad uno.
Ho provato anche ad inserire una pausa di 5 secondi per essere sicuro che il codice venisse eseguito e non essere ingannato dalla velocità di esecuzione dem microprocessore.

//---------------Tasto select--------------------------------------- 
  if (lcd_key<50){
     ONsetup==1;  
     lcd.clear();
 }  
//---------------Programmazione valori---------------------------------------
  if (ONsetup==1){
     lcd.setCursor(0, 0);
     lcd.print("Prog. parametri");
     lcd.setCursor(0, 1);
     lcd.print("Fermentatore: ");
     lcd.print(Setup_Fer);
     st_char(); 
     lcd.setCursor(0, 2);
     lcd.print("Forno:        ");
     lcd.print(Setup_Forno);
     st_char();
    delay(5000);