como ejecutar un if usando la respuesta de otro if

Hola!, me he quedado pillado en una parte del codigo que estoy haciendo, en el que quiero hacer el mismo efecto fade de los ejemplos de arduino, pero haciendo que un led se empiece a encender cuando otro este encendido al 20%, para ello he optado por utilizar la funcion millis basicamente para evitar las interrupciones, y he usado map para convertir una cifra del 0 al 100 (un porcentaje) a la salida pwm de arduino de ahy lo de 255

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
  int otr= 100;
  int cont = 0;
  int salida1 = 0;
  int salida2 = 0;
#define I2C_ADDR    0x3f

unsigned long tprev = 0;
LiquidCrystal_I2C             lcd(I2C_ADDR,2, 1, 0, 4, 5, 6, 7);

void setup()
   {
       lcd.begin (16,2); 
       lcd.setBacklightPin(3,POSITIVE);
       lcd.setBacklight(HIGH);
   
   }
void loop() 
   {
    

    contadores();
   }

void contadores()
  {
    int lag = 500;

    salida1 = map (cont,0,100,0,255);
    lcd.setCursor(0,0);
    lcd.print(cont);
    
    if (millis() > tprev + lag && cont < otr)
    {
      tprev=tprev+lag;
      cont=cont+2;
    } 
    if (millis() > tprev + lag && cont >= 20)
    { 
    lcd.setCursor(0,1);
    lcd.print("hola");
    }
  }

la idea es que en el segundo if, cuando la variable cont del primero llegue a 20, inicie una cuenta ascendente como el primero, para probar si funciona el if he usado una pantalla lcd para que me muestre un mensaje si se cumpliese la condicion a modo de prueba, pero no hay forma de que funcione. no se donde esta el fallo, a ver si me podeis echar una mano con esto :cry: :cry:

El código lo he escrito para informarme a través del puerto serial para mostrar la base de como seria mi propuesta a lo que quieres hacer.

int lag = 500;
unsigned long tprev = 0;
int cont = 0;
int cont2 = 0;
byte salida = 0;
byte salida1 = 0;


void setup() {
  Serial.begin(9600);
}

void loop() {
  contadores();
}
void contadores(){
  if (millis() > tprev){//verifica si se cumple el tiempo
    
    tprev = millis() + lag;//carga el tiempo actual mas el retrazo
    
    Serial.print("cont 0:");//Informa del estado anterior del contador
    Serial.println(cont);
    
    cont = cont + 2;//aumenta el contador 
    if (cont >= 20){//verifica que se cumpla la condicion del contador anterior
      Serial.print("cont 1:");//Informa lo que sucede en el segundo contador
      Serial.println(cont2);
      cont1 = cont1 + 2;//Aumenta el segundo contador
    }
  }
  salida = map (cont,0,100,0,255);
  salida1 = map (cont1,0,100,0,255);
}

Espero y te sirva de ayuda esto.