Neuling benötigt Unterstützung mit Code

//===========================================================Projekt Growduino================================================//
//erstellt/angepasst von Stefano Scarpelli
//Vorlage basiert auf der Grundlage Youtube-Video von Bastelbruder: https://www.youtube.com/watch?v=DaSagesHyGM



//====================================== Bibliotheken

#include <Servo.h>
Servo myservo;                      // Objekt myservo anlegen

#include "DHT.h"
#define DHTTYPE DHT22
#define DHTPIN 13
DHT dht(DHTPIN, DHTTYPE);           // Objekt dht anlegen und Zuweisung Typ und PIN13

#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27, 20, 4); // Objekt lcd anlegen und Typenbeschreibung (4Zeilen, 20Zeichen)

//====================================== Temperatureinstellungen

#define solltemp 22                 // Solltemperatur 22°C
#define stufe1 solltemp+2           // Stufe 1 sind 2°C mehr als Soll
#define stufe2 solltemp+4           // Stufe 2 sind 4°C mehr als Soll
#define stufe3 solltemp+6           // Stufe 3 sind 6°C mehr als Soll

//====================================== Datentyp- und Wertzuweisung

int FeuchtigkeitProzent;
int csmsWert;
const int trocken = 416;                                              // Wert für trockene Erde vom Bodenfeuchtesensor
const int nass = 249;                                                 // dito für nasse Erde
float temp;
String status;                      // das Wort status wird einem String zugewiesen

#define RELAIS 12                   // Zuweisung RELAIS an Pin 12
boolean Relaiszustand = false;      // Relaiszustand wird boolscher Wert zugewiesen

//====================================== Setup (wird einmalig beim Start ausgeführt)

void setup() {

  myservo.attach(3);            // myservo wird an PIN11 zugewiesen
  lcd.init();                   // LCD-Display wird initialisiert
  lcd.backlight();              // LCD-Hintergrundbeleuchtung wird eingeschaltet
  dht.begin();                  // Temp- und Luftfeuchtesensor wird initialisiert
  pinMode(RELAIS, OUTPUT);      // der Pin 12 wird als Output deklariert
}

//===================================== Funktionen definieren

void csmsMessen()
{
  const unsigned long interval1 = 5000;                                   // Intervall für Temperaturmessung
  static unsigned long lastMessung1 = 0;                                  // Zwischenspeicher für Zeitstempel letzte Messung
  if (millis() - lastMessung1 >= interval1) {                           // wenn der Zähler millis minus Wert letzte Messung grösser gleich interval ist
    csmsWert = analogRead(A0);                                          // Messung und Zuweisung an csmsWert
    FeuchtigkeitProzent = map(csmsWert, nass, trocken, 99, 10);         // der csmsWert wird in 0-100% umgerechnet und Zuweisung an FeuchtigkeitProzent
    FeuchtigkeitProzent = constrain(FeuchtigkeitProzent, 10, 99);       // den Wert FeuchtigkeitProzent auf 10 bis 99% begrenzen
    lastMessung1 = millis();
  }
}

void dhtMessen()
{
  const unsigned long interval2 = 2000;                                   // Intervall für Temperaturmessung
  static unsigned long lastMessung2 = 0;                                  // Zwischenspeicher für Zeitstempel letzte Messung
  if (millis() - lastMessung2 >= interval2)                             // wenn der Zähler millis minus Wert letzte Messung grösser gleich interval ist
  {
    temp = dht.readTemperature();                                          // DHT22 Temperatur auslesen und dem Wert temp zuweisen
    lastMessung2 = millis();                                               // Wert von millis wird in letzte Messung geschrieben
  }
}

void servoAktion()
{
  if (temp <= solltemp) {
    myservo.write(0);
    status = "AUS       ";
  } else if (temp >= stufe2) {
    myservo.write(150);
    status = "Stufe 3";
  } else if (temp >= stufe1) {
    myservo.write(90);
    status = "Stufe 2";
  } else if (temp >= solltemp) {
    myservo.write(40);
    status = "Stufe 1";
  }
}

void relaisAktion()
{
  if (FeuchtigkeitProzent < 15)
    Relaiszustand = false;
  if (FeuchtigkeitProzent > 30)
    Relaiszustand = true;
  digitalWrite(RELAIS, Relaiszustand);
}

void AnzeigenEins()
{
  lcd.setCursor(0, 0);
  lcd.print("Growduino by Scarpi");
  lcd.setCursor(0, 1);
  lcd.print("Temp SOLL: ");
  lcd.print(solltemp);
  lcd.print("\337C  ");
  lcd.setCursor(0, 2);
  lcd.print("Temp IST: ");
  lcd.print(temp);
  lcd.print("\337C");
  lcd.setCursor(0, 3);
  lcd.print("Frischluft: ");
  lcd.print(status);
}

void AnzeigenZwei()
{
  lcd.setCursor(0, 0);
  lcd.print("Growduino by Scarpi");
  lcd.setCursor(0, 1);
  lcd.print("Bodenfeuchte: ");

  //if (FeuchtigkeitProzent < 10)
  //lcd.print("0");

  lcd.print(FeuchtigkeitProzent);
  lcd.print("%");
  lcd.setCursor(0, 2);
  lcd.print("Pumpenstatus: ");

  if (Relaiszustand == false)
    lcd.print("Ein");
  else
    lcd.print("Aus");
}

void Wechselanzeige()
{
  switch ((millis() / 8000) % 2)
  {
    case 0: AnzeigenEins(); break;
    case 1: AnzeigenZwei(); break;
    default: lcd.print("Error");
  }
}
//====================================== Loop (wird zyklisch abgearbeitet / analog SPS)

void loop()
{
  csmsMessen();
  relaisAktion();
  dhtMessen();
  servoAktion();
  Wechselanzeige();


}