I see nothing obviously wrong with the program
Except for all the delay()s.
Serial.begin(300); //Serial-Übertragung auf 300Baud-reicht völlig
Why is this in your code, when there are no Serial.print() statements? Conversely, why are there no Serial.print() statements, to see what the code IS doing?