conteggio che decrementa,giunto ad una soglia prefissata

Buongiorno,gradirei sapere(non sono praticissimo di programmazione arduino),come fare che partendo il conteggio ,questi arrivi ad una soglia da me previssata,torni indietro decrementando i valori…Esempio 0,1,2,3,4…30 e poi decrementare 29,28,27,26…sino a 0.Grazie

#include <LCD.h>
 
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 

#define I2C_ADDR 0x27 
 
LiquidCrystal_I2C lcd(I2C_ADDR,2,1,0,4,5,6,7,3,POSITIVE);
 
int n = 0;
 
void setup ( ) {
   lcd.begin ( 20, 4 ); 
   lcd.setBacklight(1);
   lcd.print("ciao");
   lcd.print(", Gianni");
   delay(600);
   lcd.setCursor(0,1);
   lcd.print(" sto contando");
   delay(600);
   lcd.setCursor(0,3);
   lcd.print("conto bene");
}
void loop (){
  for (int n = 1; n<=30 ; n++) {
     lcd.setCursor(3,2);
     lcd.print("      ");
     lcd.setCursor(3,2);
     lcd.print(n,DEC);
     delay(500);
   }
   for (int n=30 ; n=0; n--) {
     lcd.setCursor(3,2);
     lcd.print("      ");
     lcd.setCursor(3,2);
     lcd.print(n,DEC);
     delay(500);
   }
}

devi usare una flag per verificare se il tuo set è stato raggiunto ed invertire il conteggio...tipo:

boolean setReached = false;
int a = 0;

if(!setRached){
    a++;
}
else{
    a--;
}

if(a==30){
    setReached = true;
}
else if (a==0){
    setReached = false;
}
#include <LCD.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
 
LiquidCrystal_I2C lcd(I2C_ADDR,2,1,0,4,5,6,7,3,POSITIVE);
 
int miaSogliaPrefissata = 32;
int n = 0;
 
void setup ( ) {
   lcd.begin ( 20, 4 );
   lcd.setBacklight(1);
   lcd.print("ciao");
   lcd.print(", Gianni");
   delay(600);
   lcd.setCursor(0,1);
   lcd.print(" sto contando");
   delay(600);
   lcd.setCursor(0,3);
   lcd.print("conto bene");
}
void loop (){
  for ( n = 1; n<=miaSogliaPrefissata ; n++) {
     lcd.setCursor(3,2);
     lcd.print("      ");
     lcd.setCursor(3,2);
     lcd.print(n,DEC);
     delay(500);
   }
   for (int n=miaSogliaPrefissata ; n>=0; n--) {
     lcd.setCursor(3,2);
     lcd.print("      ");
     lcd.setCursor(3,2);
     lcd.print(n,DEC);
     delay(500);
   }
}

Grazie moltissime funziona perfettamente.Solo che inavvertitamente non e’ stata aggiunta un “a” int miaSogliPrefissata=32.