// Definitionen int z = 0; //Minutenzähler int m = 0; //Sekundenzähler void setup() { pinMode(12,OUTPUT); // Pin 12 ist ein Relais (Oberhitze) pinMode(11,OUTPUT); // Pin 11 ist ein Relais (Unterhitze) pinMode(3,OUTPUT); // Pin 3 ist ein Pieper } void loop() // Das Hauptprogramm beginnt. { digitalWrite(3, HIGH); // Schalte den Piezo aus (Anfangszustand herstellen) // ein pieps am Anfang digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. // Aufheizen 120 Sek. digitalWrite(11, HIGH); // heiz ein digitalWrite(12, HIGH); delay(90000); // 120 sek // 120 Sek entspricht delay 90000, da 12Mhz // ein doppelpieps am Heiz-Ende digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(37); // Warte 50 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. delay(200); digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(37); // Warte 50 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. // jetzt hat die Heizschleife ca. 300°C erreicht // hier kommt eine "while-Schleife" rein while (z < 10) // wird auf 10 (Minuten) eingestellt //stetiger Zyklus 1 Minute { while (m < 60) // 60 Sekunden Zyklen // Betrieb mit halber Leistung // abkühlen { digitalWrite(11, LOW); //heiz aus digitalWrite(12, LOW); delay(375); // 0,5 Sek entspricht delay 375, da 12Mhz auf der Platine // anstelle 16MhZ beim Arduino UNO // heizen digitalWrite(11, HIGH); //heiz ein digitalWrite(12, HIGH); delay(375); // 0,5 Sek entspricht delay 375, da 12Mhz m = m + 1; } // jetzt hat die Heizschleife ca. 300°C erreicht // und hält diese Temperatur. m = 0; z = z+1; // ein Erinnerungs-Pieps jede Minute digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. } // dreifach-Pieps beim automatischen Ausschalten digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(100); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. digitalWrite(11, LOW); //heiz aus digitalWrite(12, LOW); delay(900000); // 1000 sek 16,666 Min. // 16,66 Min Auskühlen // längerer Dreifachpieps vor End-Ausschalten digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(500); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. delay(100); // Warte 75 Millisekunden. digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(500); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. delay(100); // Warte 75 Millisekunden. digitalWrite(3, LOW); // Schalte den Piezo-Lautsprecher an. delay(500); // Warte 75 Millisekunden. Es hat gepiepst digitalWrite(3, HIGH); // Schalte den Piezo aus. // End-Abschaltung nach 26 Min // Wenn man höhere Temperaturen zum Grillen möchte, // schaltet man den Einschalter Oberhitze kurz aus // und nach einer gewünschten Zeit wieder ein. // Jetzt startet das Programm mit einer höheren // Anfangstemperatur, aber dem gleichen Heiz-Schema. // 30 Sekunden primäre Einschaltzeit entspricht // etwa 75°C, 60sec etwa 150°C. // Das kann man ja in etwa einschätzen. // Diese Temperatur wird dann gehalten. // Das gesamte Regime mit Erinnerungspiepsen // und Endabschaltung wird bis zum Abschalten ausgeführt. }