Hier ist der Komplette Code
Kommentare sind für mich Privat, falls es Fragen gibt einfach den Code Teil posten.
Ich versuche dann zu erläutern um was es mir dabei ging. 
//librarys
#include <BH1750FVI.h> //Lichtsensor
#include <Wire.h> //Lichtsensor
#include <LiquidCrystal.h> //LCD
//Deklarierung Temp
#define TempPin A0 // Temperaturfühler
#define beta 4090 // umrechnungsfaktor aus dem Arduino Beispiel
#define resistance 10 // Wert des Pull-Down Widerstandes
//Deklarierung Hell
BH1750FVI LichtSensor;
uint16_t Light_Intensity=0;
//Deklarierung Feuchte
#define Pumpe1 8
volatile unsigned int pulse;
boolean FreigabePump=0;
//Deklarierung Tank
int trigger=7;
int echo=6;
long dauer=0;
long fuellstand=0;
//Belegung LCD
LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
//Erstellung von eigenen Zeichen
//Temperatur
//byte Thermometer[8] = {
// 0b00100,
// 0b01010,
// 0b01010,
// 0b01110,
// 0b01110,
// 0b11111,
// 0b11111,
// 0b01110
//};
byte Grad[8] = {
0b00110,
0b01001,
0b01001,
0b00110,
0b00000,
0b00000,
0b00000,
0b00000
};
//SONNE
byte Sonne2[8] = {
0b00100,
0b10000,
0b01000,
0b01011,
0b01000,
0b10000,
0b00100,
0b00010
};
byte Sonne1[8] = {
0b00100,
0b00001,
0b00010,
0b11010,
0b00010,
0b00001,
0b00100,
0b01000
};
//halbsonne
byte SonneWolke1[8] = {
0b00100,
0b00001,
0b00010,
0b11010,
0b00011,
0b01111,
0b11111,
0b01111
};
byte SonneWolke2[8] = {
0b00100,
0b10000,
0b01000,
0b01011,
0b11100,
0b11110,
0b11111,
0b11000
};
//WOlke
byte Wolke1[8] = {
0b00000,
0b00000,
0b00000,
0b00011,
0b01111,
0b11111,
0b01111,
0b00000
};
byte Wolke2[8] = {
0b00000,
0b00000,
0b00000,
0b11100,
0b11110,
0b11111,
0b11000,
0b00000
};
//Feuchte
byte Tropfen[8] = {
0b00100,
0b00100,
0b01010,
0b01010,
0b10001,
0b10001,
0b10001,
0b01110
};
void setup()
{
// LCD Display:
Serial.begin(9600);
lcd.begin(16, 2);
//erstelle Zeichen auf dem LCD
//lcd.createChar(0, Thermometer);
lcd.createChar(0, Grad);
lcd.createChar(1, Sonne1);
lcd.createChar(2, Sonne2);
lcd.createChar(3, SonneWolke1);
lcd.createChar(4, SonneWolke2);
lcd.createChar(5, Wolke1);
lcd.createChar(6, Wolke2);
lcd.createChar(7, Tropfen);
//Helligkeit
LichtSensor.begin();
LichtSensor.SetAddress(Device_Address_H);
LichtSensor.SetMode(Continuous_H_resolution_Mode);
//Feuchte
pinMode(Pumpe1, OUTPUT); //PumpenPin als Ausgang
digitalWrite(Pumpe1, HIGH); //relais schaltet bei LOW >>> Pumpe = 1
//Tank
pinMode(trigger, OUTPUT); //Festlegung des triggers
pinMode(echo, INPUT); //Festlegeung des Echos
//Messung start
lcd.setCursor (0,0);
lcd.print("Bitte warten...");
lcd.setCursor(1,1);
lcd.print("Messung beginnt");
delay(5000); //warte 5s
lcd.clear(); //lösche anzeige vor loop
}
void loop()
{
//Temperatur berechnen
long a =1023 - analogRead(TempPin);//lese Widerstandswert
float temp = beta /(log((1025.0 * 10 / a - 10) / 10) + beta / 298.0) - 273.0;//umrechnung in Temperatur aus dem Arduino Beispiel
int tempn=(int)temp; // runde Temperatur (Temperatur neu)
//Helligkeit auswerten
Light_Intensity = LichtSensor.GetLightIntensity(); //schreibe aktuelle Lux in Variable
Serial.println(Light_Intensity);
Serial.println("lux");
//Frequenz auswerten
pulse=0;
attachInterrupt(0, zaehlen, RISING); // starte Zählung der Flanken
delay(10); //für 10ms
detachInterrupt(0); //stoppe Zählung
Serial.print("Gemessene Pulse in 10 Millisekunden: ");
Serial.println(pulse);
//Füllstand berechnen
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH); //Dauer auswertung des Schalls
fuellstand = (dauer*(-1)+1220)/(54/5); //umrechnung in % (4cm = 100% UND 21cm = 100%)
//schreibe Temp
lcd.setCursor(0,0);
//lcd.write((uint8_t)0); //schreibe Thermometer
lcd.print(tempn);
lcd.write((uint8_t)0); //Zeichen Grad
lcd.print("C");
//schreibe Hell in Abhänigkeit der Luxwerte
if (Light_Intensity > 25000) //Sonnig
{lcd.setCursor(7,1);
lcd.print("Wetter:");
lcd.write((uint8_t)1); //Zeichen Sonne1
lcd.write((uint8_t)2);} //Zeichen Sonne2
else if (Light_Intensity > 1
,000) //halbschattig
{lcd.setCursor(7,1);
lcd.print("Wetter:");
lcd.write((uint8_t)3); //Zeichen SonneWolke1
lcd.write((uint8_t)4);} //Zeichen SonneWolke2
else if (Light_Intensity < 3000)//schattig
{lcd.setCursor(7,1);
lcd.print("Wetter:");
lcd.write((uint8_t)5); //Zeichen Wolke1
lcd.write((uint8_t)6);} //Zeichen Wolke2
//schreibe Feuchte
if (pulse > 1250)
{lcd.setCursor (0,1);
lcd.print(" ");}
else if (pulse > 1000)
{lcd.setCursor (0,1);
lcd.write((uint8_t)7);}
else if (pulse > 750)
{lcd.setCursor (0,1);
lcd.write((uint8_t)7);
lcd.write((uint8_t)7);}
else if (pulse > 500)
{lcd.setCursor (0,1);
lcd.write((uint8_t)7);
lcd.write((uint8_t)7);
lcd.write((uint8_t)7);}
else if (pulse < 500)
{lcd.setCursor(0,1);
lcd.write((uint8_t)7);
lcd.write((uint8_t)7);
lcd.write((uint8_t)7);
lcd.write((uint8_t)7);}
//schreibe Tank
if (fuellstand > 100) //nicht größer 100 bei weniger als 4cm Abstand Wasser zu Ultraschallsensor
{fuellstand = 100;}
else if (fuellstand <0) //nicht kleiner 0 bei größer 21cm Abstand
{fuellstand = 0;}
lcd.setCursor (7,0);
lcd.print("Tank:");
lcd.print(fuellstand);
lcd.print("%");
//Freigeben der Pumpe
if (fuellstand > 34) //Füllstand ok
{FreigabePump=1;}
else //Füllstand zu niedrig
{FreigabePump=0;}
//Pumpenschaltung
if ((pulse > 1250) && (fuellstand > 34))
{digitalWrite(Pumpe1, LOW); //relais schaltet bei LOW >>> Pumpe = 1
delay(5000); //Pumpzeit
digitalWrite(Pumpe1, HIGH); //relais schaltet bei LOW >>> Pumpe = 0
FreigabePump=0;}
delay(600000); //warte 5s bis Neustart der Schleife
//löschen der Anzeige
lcd.clear(); //vor jeder Schleife
}
void zaehlen()
{
pulse++; //nur positvie Intervalle zählen
}
Spannungsmessung wird heute nicht möglich sein, da ich kein geeignetes Messgerät besitze, aber eines besorgen könnte.