Hallo nochmal zusammen!
Micha hat fertig
8) !
Nach den Denkanstößen von Klaus und Michael und noch etlichen Tutorials auf YouTube bezüglich Arduino und Co. war ich nun in der Lage genau den Code zu schreiben, den ich haben wollte!
Da ich momentan noch keinen Sensor geliefert bekommen habe, wurden die Werte einfach mit einem Poti "zusammengedreht".
Das "Trennrelais" war zu Demozwecken eine gelbe LED, die Status-LED eine RGB-LED.
Benutzt habe ich zudem noch ein Display für die verschiedenen Meldungen und Anzeigen der Werte.
Ich habe verschiedene Betriebsmodis deklariert welche wie von mir gewünscht
im ersten Modi: aufheizen bis auf "Wert 800", LED Grün, LCD-Anzeige "Heizung AN", Trennrelais aus (Wert 800 soll später z.B. 180°C sein)
im zweiten Modi: Heizung aus und bis auf "Wert 600" abfallen lassen (z.B. 170°C), LED Orange, LCD-Anzeige "Heizung AUS", Trennrelais an
und im dritten Modi (welcher eigentlich nicht eintreten kann, nur für mich als Übung): LED ROT, LCD-Anzeige "Notabschaltung" Trennrelais an
hier mal mein fertiges Script:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2); // LCD Adresse = 0x3F (16 Zeichen / 2 Zeilen)
const int Solltemperatur = 800;
const int Mintemperatur = 600;
const int Alarmtemperatur = 850;
const int rotled = 7;
const int gruenled = 8;
const int blauled = 9;
const int trennrelais = 10;
int betriebsmodus = 1;
void setup() {
lcd.init();
lcd.backlight();
pinMode(rotled, OUTPUT);
pinMode(gruenled, OUTPUT);
pinMode(blauled, OUTPUT);
pinMode(trennrelais, OUTPUT);
}
void loop() {
int Sensor = analogRead(A0);
delay(1);
if(betriebsmodus == 1){
digitalWrite(gruenled, HIGH);
digitalWrite(rotled, LOW);
digitalWrite(blauled, LOW);
digitalWrite(trennrelais, HIGH);
lcd.setCursor(0,0);
lcd.print(Sensor);
lcd.setCursor(0,1);
lcd.print(" Heizung AN ");
if(Sensor > Solltemperatur){
digitalWrite(gruenled, HIGH);
digitalWrite(rotled, HIGH);
digitalWrite(blauled, LOW);
digitalWrite(trennrelais, LOW);
lcd.setCursor(0,1);
lcd.print(" Heizung AUS ");
betriebsmodus = 2;
}
}
else if(betriebsmodus == 2){
if(Sensor < Solltemperatur and Sensor > Mintemperatur){
digitalWrite(gruenled, HIGH);
digitalWrite(rotled, HIGH);
digitalWrite(blauled, LOW);
digitalWrite(trennrelais, LOW);
lcd.setCursor(0,0);
lcd.print(Sensor);
lcd.setCursor(0,1);
lcd.print(" Heizung AUS ");
}
if(Sensor < Mintemperatur){
betriebsmodus = 1;
}
if(Sensor > Alarmtemperatur){
betriebsmodus = 3;
}
}
else if(betriebsmodus == 3){
digitalWrite(gruenled, LOW);
digitalWrite(rotled, HIGH);
digitalWrite(blauled, LOW);
digitalWrite(trennrelais, LOW);
lcd.setCursor(0,0);
lcd.print(Sensor);
lcd.setCursor(0,1);
lcd.print(" NOTABSCHALTUNG ");
betriebsmodus = 2;
}
}
Ob es ein "guter" bzw sauberer Code ist weiß ich nicht, ich kann nur für mich behaupten, dass es funktioniert 
Danke für die "Starthilfe" die ich gebraucht habe, auch wenn manche Antworten nicht unbedingt zum Verständniss dazugetragen haben.
Gruß, Micha3582
PS: @Gunter: Momentan läuft das Laminiergerät auch mit dem Bimetallschalter, allerdings musste ich den 160er einbauen und laut meinem Multimeter geht die Temperatur trotzdem bis 200°C hoch, schaltet dann aber wie gewollt ab - ABER ich wollte diesen doofen Code fertig bekommen 