Delay ohne delay

Sollte hier korrigiert sein:

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>


#define ONE_WIRE_BUS 30  // Temperatursensor pin 30
#define FADE_DELAY 30 // Verzögerung beim Faden
LiquidCrystal lcd(22, 23, 24, 25, 26, 27, 28);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DeviceAddress Sensor[] = {{0x28, 0xCD, 0x9B, 0xDA, 0x03, 0x00, 0x00, 0xF2},
                          {0x28, 0x1F, 0xA3, 0xDA, 0x03, 0x00, 0x00, 0xE2},
                          {0x28, 0x2D, 0xB9, 0xDA, 0x03, 0x00, 0x00, 0xA0},
                          {0x28, 0x37, 0x88, 0xDA, 0x03, 0x00, 0x00, 0x7D}};

int backLight = 29;
uint8_t k[] = {31, 32, 33, 35};   //relais HIGH = Aus; LOW = An

uint8_t knopf1 = 34;
uint8_t buttonState = 0; //knopf
int buttonPushCounter = 0; 
uint8_t lastButtonState = 0;

uint32_t previousMillis = 0;
uint32_t interval = 31000;
uint32_t zeit = 31000;

int   mpxPin =  5; //drucksensor
int   mpx;
float pkPa;

uint8_t ledPin = 9; // (kemo)
uint8_t fade;
uint8_t status;

void setup() {
  pinMode(backLight, OUTPUT);
  digitalWrite(backLight, HIGH);
  lcd.begin(20, 4);
  sensors.begin();
  uint8_t i;
  for (i = 0; i < 4; i++) {
    pinMode(k[i], OUTPUT);
    digitalWrite(k[i], HIGH);
  }
  pinMode(knopf1, INPUT);
  
  int status=0;
}

void loop(){
  sensors.requestTemperatures();

  uint8_t i;
  for (i = 0; i < 4; i++) {
    lcd.setCursor(0, i);
    lcd.print("T");
    lcd.print(i+1, DEC);
    lcd.print(":");
    if (sensors.isConnected(Sensor[i])) {
      lcd.print(sensors.getTempC(Sensor[i]));
      lcd.print("C");
    } else {
      lcd.print("AUS   ");
    }
  }
  
  mpx = analogRead(mpxPin);
  pkPa = (mpx/1023.0-0.04)/0.0018;
  lcd.setCursor(10, 0);
  lcd.print(pkPa);
  lcd.print("mb   ");
   
  lcd.setCursor(10, 1);
  lcd.print(fade); 
    
  buttonState = digitalRead(knopf1);
  if (buttonState != lastButtonState && buttonState == HIGH) {
    buttonPushCounter++; 
  }
  lastButtonState = buttonState;
  if (buttonPushCounter % 2 == 0 && status == 0) {
    digitalWrite(k[0], HIGH);
  } else {
    programm1();
  }
}

void programm1() { 
  static uint32_t previousMillis = 0;
  static uint32_t thresholdMillis = 0;
  if (sensors.getTempC(Sensor[0]) >= 25.8 && status == 0) {
    digitalWrite(k[0], HIGH);
    status = 1;
    previousMillis = millis();
  } else if (status == 1 && millis() - previousMillis > 60000L) {
    digitalWrite(k[1], LOW);
    digitalWrite(k[2], LOW);
    digitalWrite(k[3], LOW);
    fade = 0;
    analogWrite(ledPin, fade);
    previousMillis = millis();
    status = 2;
  } else if (status == 2 && millis() - previousMillis > FADE_DELAY) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    if (fade >= 51) {
		status = 3;
	}
  } else if (status == 3 && millis() - previousMillis > 120000L) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    status = 4;
  } else if (status == 4 && millis() - previousMillis > FADE_DELAY) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    if (fade >= 102) {
      status = 5;
    }
  } else if (status == 5 && millis() - previousMillis > 180000L) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    status = 6;
  } else if (status == 6 && millis() - previousMillis > FADE_DELAY) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    if (fade >= 153) {
      status = 7;
    }
  } else if (status == 7 && millis() - previousMillis > 240000L) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    status = 8;
  } else if (status == 8 && millis() - previousMillis > FADE_DELAY) {
    previousMillis = millis();
    analogWrite(ledPin, ++fade);
    if (fade >= 255) {
      status = 9;
    }
  }
  if (sensors.getTempC(Sensor[0]) >= 99.0 && thresholdMillis == 0) {
    digitalWrite(k[1], HIGH);
    thresholdMillis = millis();
  } else if (thresholdMillis && millis() - thresholdMillis > 300000L) {
    digitalWrite(k[2], HIGH);
    digitalWrite(k[3], HIGH);
    analogWrite(ledPin, 0);
    thresholdMillis = 0;
    previousMillis = 0;
    status = 0;
  }   
}

Kann man das nicht etwas beschleunigen, sodass der PWM wert schneller steigt?

Du kannst jetzt den Wert von FADE_DELAY anpassen. Kleinere Werte ergeben eine höhere Geschwindigkeit.

Und denn wollt ich fragen ob du mir erklären was es mit diesem "uint8_t" aufsich hat. Was bewirkt es?

Es ist eine sinnvollere Typ-Deklaration als "unsigned char" für ein Byte.

Edit: added some missing commas in the code.