Hallo an alle.
Ich werde nicht lange und lyrisch einführen, wie kurz und grausam das Schicksal von Haushaltsgeräten ist. Was gestern als letzte Errungenschaft des Fortschritts angesehen wurde, wird heute bereits ein vertrauter Teil des Durchschnittshaushalts sein, und morgen wird es trotz seiner vollen Arbeitsfähigkeit einfach auf die Mülldeponie geworfen oder bestenfalls als Teilespender für Teile abgebaut. Für "Es gibt Knöpfe, aber ich möchte einen Sensor" und "Das Design ist sowjetisch" und "Es gibt keinen Chip". Und okay, wenn wir über eine Art chinesische Mikrowelle oder einen chinesischen Wasserkocher sprechen, an den Sie sich aufgrund ihres kurzen Lebenszyklus und ihrer plastischen Spiritualität wirklich nicht gewöhnen.
Aber was zu tun ist, wenn es um etwas geht, an das sich mehrere Generationen Ihrer Familie erinnert haben und das seit Ihrer Kindheit für Sie die Verkörperung von Wohnkomfort, Großmutters Leckereien und der ganzen „Lampe“ war? Eine Hand rauszuwerfen, erhebt sich nicht, da es zu viele Erinnerungen an dieses Ding gibt, und im Allgemeinen ist dies Gotteslästerung. Es ist jedoch überhaupt nicht möglich, es zu verwenden, da es völlig veraltet ist und ehrlich gesagt nicht präsentabel aussieht.
Was zu tun ist?
Richtig! Auferstehen.
Treffen Sie unsere Heldin. Ofen elektrisch "Kharkov".

Zunächst eine kurze Bekanntschaft mit dem Thema:
- Erscheinungsjahr - 1980 (in meinem Alter).
- Leistung - 800 Watt.
Und alle. Es gibt keinen Timer, keinen Temperatur- oder Leistungsregler, kein Thermometer. Auch Wai Fai wird ehrlich gesagt nicht überall gesucht. Nun, nein, das ist alles. Es gibt nichts. Nur der Fall mit Heizelementen und dem Stecker in die Steckdose, auch ohne Schalter. Backen Sie wie Sie möchten.
Als ich während meines früheren Junggesellenlebens diese Rarität in den Eingeweiden von Garagen ausgrub, eine nostalgische Träne wegwischte und versuchte, etwas darin zu kochen, wurde mir klar, dass dieser „Kuchengenerator“ bei all seinem süßen Jahrgang so benutzerfreundlich ist wie der erste 1817 Holzfahrrad von Carl von Dres Sie können sich das Museum ansehen, auch den Jahrgang bestaunen, aber nach der ersten bedingten Reise verstehen Sie, dass Caesar Caesar ist und ein seltener Ort im Museum, und ich werde immer noch mit dem modernen Fahrrad fahren, weil ich die Nieren nicht schlagen möchte.

So ist es hier. Beim Einschalten röstete dieser Ofen-Dämon sofort bei 400 Grad und erinnerte mich überzeugend daran, dass alle organischen Stoffe beim Erhitzen garantiert zu Kohle werden. Und Probepizza war keine Ausnahme. Nicht umsonst im Familienarchiv glichen die Rezepte für die Herstellung von Kuchen auf diesem Herd eher den technologischen Betriebsarten eines Hochofens. Es wurde empfohlen, 10 Minuten zu erhitzen, dann das Backblech mit den Quellen einzulegen, dann X Minuten mit angelehnter Tür zu backen, dann U Minuten mit vollständig geöffnetem Backblech, wobei die Backbleche regelmäßig ausgetauscht werden. Denn 1980 konnte die sowjetische Technik der sowjetischen Frau keine andere Möglichkeit bieten, die Temperatur einzustellen, als durch Öffnen der Ofentür. Yura Gagarin dreht sich seit 19 Jahren im Orbit und unsere Atombombe war die nuklearste, aber die sowjetischen Hausfrauen erwärmten den Planeten weiterhin mit Kharkiv-Öfen.
Okay. Die Situation wurde geklärt, Ziele gesetzt, Werkzeuge geschärft. Kommen wir zum technischen Teil.
Softwarekomponente
„Ich glaube an den einen Vater, den Allmächtigen, den Schöpfer des Himmels und der Erde, sichtbar für alle und unsichtbar. Der Name meines Gottes ist Arduino. Amen. "
Als eifriger Gemeindemitglied der Arduinova-Kirche habe ich mich natürlich entschlossen, meine Idee auf dieser gemeinnützigen Plattform zu formen. Denn es ist einfach und billig und passt zu deinen Beinen. Aber etwas später über elektronisches Füllen, und jetzt wenden wir uns dem Software-Füllen zu. Skizze meine ich.
Wir stehen vor der folgenden Aufgabe. Folgende Funktionen müssen in der Ofensteuerung implementiert sein:
- Timer - Einstellen der Uhrzeit unseres Programms;
- Thermostat - Einstellen und Halten der Temperatur auf einem bestimmten Niveau;
- akustischer Alarm beim ersten Verlassen der eingestellten Temperatur - der Moment, in dem es Zeit ist, Kuchen zu legen;
- Tonsignalisierung des Programmsendes - der Moment, in dem es Zeit ist, die Kuchen zu holen;
- visuelle Anzeige der Betriebsarten - um zu verstehen, was dabei passiert und es ist einfach wunderschön. Es gibt zwei Indikatoren - das Programm ist eingeschaltet und die Zehn ist eingeschaltet.
- Anzeige der verbleibenden Betriebszeit. Zu verstehen, wann es Zeit ist, Magensaft abzuscheiden.
Nachdem die Schriftrollen der Weisen in Arduino-Foren gemalt worden waren, wurde mit Gottes Hilfe der folgende Govnokod geschaffen. Kritik wird nicht akzeptiert. Wer kritisiert, bekommt keine Kuchen.
Skizze #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> #include <EEPROM2.h> #include <SPI.h> volatile byte seqA = 0; volatile byte seqB = 0; volatile byte cnt1 = 0; volatile byte cnt2 = 0; volatile int Temp = 150; // volatile int Time = 30; // boolean heat = false; boolean work = false; boolean first_heat; volatile boolean right = false; volatile boolean left = false; volatile boolean button = false; long previousMillis = 0; int temp_count; long time_ost; long time_millis; byte menuitem = 1; // 1 byte page = 1; // 1 unsigned long heatMillis = 0; #define RT0 10000 // #define B 3950 // K #define VCC 5 //- #define R 10000 //R=10 float RT, VR, ln, TX, T0, VRT, temp_izmer, temp_itog; Adafruit_PCD8544 display = Adafruit_PCD8544(13, 12, 11, 9, 10); //************************************************************************************************** void setup() {//************************************************************************************* //*************************************************************************************************** Serial.begin(115200); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A4, INPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(A0, HIGH); // digitalWrite(A1, HIGH); // digitalWrite(A2, HIGH); // digitalWrite(6, LOW); // digitalWrite(7, HIGH); // digitalWrite(8, LOW); // T0 = 25 + 273.15; // T0 , PCICR = 0b00000010; // 1. PCIE1: Pin Change Interrupt Enable 1 PCMSK1 = 0b00000111; // Enable Pin Change Interrupt for A0, A1, A2 // Initialize LCD display.setRotation(2); // Set LDC orientation display.begin(60); // Set LCD contrast display.clearDisplay(); // Clear display display.display(); // Apply changes Temp = EEPROM_read_byte(0); Time = EEPROM_read_byte(3); sei(); } //************************************************************************************************ void loop() {//********************************************************************************** //************************************************************************************************ // unsigned long currentMillis = millis(); // ***************************************************************************** if (page==1) { display.setTextSize(1); display.clearDisplay(); display.setTextColor(BLACK, WHITE); display.drawFastHLine(0,0,83,BLACK); display.drawFastHLine(0,47,83,BLACK); display.drawFastVLine(0,0,47,BLACK); display.drawFastVLine(1,0,47,BLACK); display.drawFastVLine(2,0,47,BLACK); display.drawFastVLine(3,0,47,BLACK); display.drawFastVLine(4,0,47,BLACK); display.drawFastVLine(83,0,83,BLACK); display.setCursor(5, 2);// if (menuitem==1) { display.setTextColor(WHITE, BLACK); // display.drawFastHLine(0,1,83,BLACK); //************************* } else {display.setTextColor(BLACK, WHITE); // } display.print(" TEMP "); display.setCursor(5, 14); if (menuitem==2) { display.setTextColor(WHITE, BLACK); display.drawFastHLine(0,13,83,BLACK); } else {display.setTextColor(BLACK, WHITE);} display.print(" TIME "); if (menuitem == 3) { display.setTextColor(WHITE, BLACK); display.drawFastHLine(0,25,83,BLACK); } else { display.setTextColor(BLACK, WHITE); } display.setCursor(5, 26); display.print(" START: "); if (work) { display.print("ON "); } else { display.print("OF "); } display.setCursor(5, 38); if (menuitem==4) { display.setTextColor(WHITE, BLACK); display.drawFastHLine(0,37,83,BLACK); } else {display.setTextColor(BLACK, WHITE);} display.print(" INFO "); if (left) { left = false; menuitem--; if (menuitem==0) { menuitem=1; } } if (right) { right = false; menuitem++; if (menuitem==5) { menuitem = 4; } } display.display(); if (button) { button = false; digitalWrite(8, HIGH); delay (50); // digitalWrite(8, LOW); if (page == 1 && menuitem==1) { page=3; } else if (page == 1 && menuitem==2) { page=4; } else if (page == 1 && menuitem==4) { page=5; } // ******************************************************************************** else if (menuitem == 3 && page == 1) { if (work) { work = false; digitalWrite(6, LOW); // } else { heatMillis = currentMillis; work = true; first_heat = true; digitalWrite(6, HIGH); // } } } } // ()*************************************************** if (page==3) { display.setTextSize(1); display.clearDisplay(); display.drawFastHLine(0,0,83,BLACK); display.drawFastHLine(0,1,83,BLACK); display.drawFastHLine(0,47,83,BLACK); display.drawFastVLine(0,0,47,BLACK); display.drawFastVLine(83,0,83,BLACK); display.drawFastVLine(82,0,10,BLACK); display.drawFastVLine(81,0,10,BLACK); display.drawFastVLine(80,0,10,BLACK); display.drawFastVLine(79,0,10,BLACK); display.setTextColor(WHITE, BLACK); display.setCursor(1, 2); display.print(" Temp "); display.drawFastHLine(0,10,83,BLACK); display.setTextColor(BLACK, WHITE); display.setCursor(26, 12); display.print("Degree"); display.setTextSize(3); if (Temp >=100) { display.setCursor(16, 23); } else { display.setCursor(27, 23); } display.print(Temp); if (left) { left = false; Temp--; } if (Temp==49) { Temp=50; } if (right) { right = false; Temp++; } if (Temp==251) { Temp=250; } if (button) { digitalWrite(8, HIGH); delay (50); digitalWrite(8, LOW); button = false; page=1; EEPROM_write_byte(0, Temp); } display.display(); } // ()*************************************************************************** else if (page==4) { display.setTextSize(1); display.clearDisplay(); display.drawFastHLine(0,0,83,BLACK); display.drawFastHLine(0,1,83,BLACK); display.drawFastHLine(0,47,83,BLACK); display.drawFastVLine(0,0,47,BLACK); display.drawFastVLine(83,0,83,BLACK); display.drawFastVLine(82,0,10,BLACK); display.drawFastVLine(81,0,10,BLACK); display.drawFastVLine(80,0,10,BLACK); display.drawFastVLine(79,0,10,BLACK); display.setTextColor(WHITE, BLACK); display.setCursor(1, 2); display.print(" Time "); display.drawFastHLine(0,10,83,BLACK); display.setTextColor(BLACK, WHITE); display.setCursor(22, 12); display.print("Minutes"); display.setTextSize(3); if (Time >=10) { display.setCursor(27, 23); } else { display.setCursor(38, 23); } display.print(Time); if (left) { left = false; Time--; } if (Time==0) { Time=1; } if (right) { right = false; Time++; } if (Time==61) { Time=60; } if (button) { digitalWrite(8, HIGH); delay (50); digitalWrite(8, LOW); button = false; page=1; EEPROM_write_byte(3, Time); } display.display(); } // ( )*********************************************************** else if (page==5) { display.clearDisplay(); display.setTextColor(BLACK, WHITE); display.setTextSize(1); display.drawFastHLine(0,0,83,BLACK); display.drawFastHLine(0,47,83,BLACK); display.drawFastVLine(0,0,47,BLACK); display.drawFastVLine(83,0,83,BLACK); display.setCursor(3, 5); display.print("TEMP_UST:"); display.setCursor(64, 5); display.print(Temp); display.setCursor(3, 20); display.print("TEMP_TEK:"); display.setCursor(64, 20); display.print(temp_itog, 0); display.setCursor(3, 35); display.print("TIME_OST:"); display.setCursor(64, 35); display.print(time_ost); if (button) { digitalWrite(8, HIGH); delay (50); digitalWrite(8, LOW); button = false; page=1; } display.setTextSize(2); display.display(); } // ********************************************* if (work) { time_millis = Time * 1000; time_millis = time_millis * 60; time_ost = ((time_millis) - (currentMillis - heatMillis)); time_ost = time_ost/1000; time_ost = time_ost/60; } else { time_ost = 0; } // ******************************************* if (((currentMillis - heatMillis) > time_millis) && (work)) { work = false; digitalWrite(6, LOW); // digitalWrite(8, HIGH);// delay (1000); digitalWrite(8, LOW); delay (500); digitalWrite(8, HIGH); delay (1000); digitalWrite(8, LOW); delay (500); digitalWrite(8, HIGH); delay (1000); digitalWrite(8, LOW); } // ************************************************* if (currentMillis - previousMillis > 500) { previousMillis = currentMillis; VRT = analogRead(A4); // VRT VRT = (5.00 / 1023.00) * VRT; // VR = VCC - VRT; RT = VRT / (VR / R); // RT ln = log(RT / RT0); TX = (1 / ((ln / B) + (1 / T0))); // TX = TX - 273.15; // temp_count++; temp_izmer = temp_izmer + TX; } if (temp_count == 10) { temp_itog = temp_izmer/10; temp_count = 0; temp_izmer = 0; } // ********************** if (temp_itog < (Temp - 1)) { // heat = true; } if (temp_itog > (Temp + 1)) { heat = false; if (first_heat) { // first_heat = false; digitalWrite(8, HIGH);// delay (200); digitalWrite(8, LOW); delay (300); digitalWrite(8, HIGH); delay (200); digitalWrite(8, LOW); delay (300); digitalWrite(8, HIGH); delay (200); digitalWrite(8, LOW); } } // ***************************************************** if ((work) && (heat)) { digitalWrite(7, LOW); // digitalWrite(5, HIGH); // } else { digitalWrite(7, HIGH); // digitalWrite(5, LOW); // } // ******************************************** if ((temp_itog < 0) || (temp_itog > 250)) { digitalWrite(8, HIGH);// delay (500); digitalWrite(8, LOW); delay (500); } } // ****************************************************************** ISR (PCINT1_vect) { // If interrupt is triggered by the button if (!digitalRead(A0)) { button = true; } else { // Else if interrupt is triggered by encoder signals boolean A_val = digitalRead(A1); // Read A and B signals boolean B_val = digitalRead(A2); // Record the A and B signals in seperate sequences seqA <<= 1; seqA |= A_val; seqB <<= 1; seqB |= B_val; // Mask the MSB four bits seqA &= 0b00001111; seqB &= 0b00001111; // Compare the recorded sequence with the expected sequence if (seqA == 0b00001001 && seqB == 0b00000011) { cnt1++; left = true; } if (seqA == 0b00000011 && seqB == 0b00001001) { cnt2++; right = true; } } }
Alles ist mehr als üblich und besteht im Wesentlichen aus den grundlegendsten Beispielen für die Arbeit mit einem Nokia 5110-Bildschirm, einem Encoder, einem Thermistor und einem Relais. Die Wahl dieser Komponenten ist im nächsten Teil unserer faszinierenden Erzählung gerechtfertigt.
Das Menü besteht aus 4 Elementen: "TEMP", "TIME", "START" und "INFO". Was für was verantwortlich ist, denke ich, geht aus dem Foto hervor. Bei Bedarf können Sie das Programm stoppen, Zeit oder Temperatur hinzufügen oder reduzieren und erneut fortfahren.

Natürlich werden unsere Einstellungen im nichtflüchtigen Speicher gespeichert.
Die Kontrolle der Überhitzung des Ofens und die Kontrolle einer Unterbrechung oder Beschädigung des Temperatursensors wurden ebenfalls hinzugefügt. Wenn die Temperatur 250 Grad überschreitet (ein Relais bleibt hängen oder ein Fehler wird nicht gemeldet) oder die Temperatur unter Null fällt (ein offener Sensor zeigt 270 Grad im Freien an), wird ein Alarm ausgelöst.
Hardwarekomponente
Um die oben beschriebene Funktionalität zu implementieren, benötigen wir die folgenden Komponenten:
- Stromversorgung 220 - 5 Volt, durch Aufladen gerissen. Es speist die gesamte Elektronik.
- Arduino Pro Mini. Silicon Superbrain, das für die Verwaltung unserer Idee verantwortlich ist.
- Monochromer Bildschirm Nokia 5110, Auflösung 84 * 48 Pixel mit einer leichten Überarbeitung. Zeigt Menüelemente an, mit denen Sie Temperatur und Zeit einstellen, das Programm für die Ausführung aktivieren und die aktuellen Parameter anzeigen können.
- Encoder (auch bekannt als Encoder, auch bekannt als Twist). Sie können das Einstellungsmenü intuitiv verwalten und benötigen nur ein Loch im Bedienfeld.
- Relais Das am häufigsten verwendete Relaismodul sind 10 chinesische Ampere. Auch ohne Optokopplung. Ja, Risiko ist mein zweiter Vorname.
- Thermistor als Temperatursensor. Früher wurde ein nicht identifizierter Wärmesensor an einem Gewinde von mir aus einem Gerät herausgebrochen, lag im Leerlauf, jetzt ist er gefragt. Tests ergaben, dass in einem normalen NTC-Thermistor bei 10 com. Das heißt, alles ist mehr als einfach und die Passtemperaturgrenze von 250 - 300 Grad entspricht meinen Aufgaben. Natürlich habe ich einen Prüfstand aus einem Thermistor und einem digitalen Sensor DS18B20 hergestellt. Bis zu 100 Grad zeigten Nasenloch im Nasenloch und die Genauigkeit ist mehr als übertrieben. Lubo!
- Lichtanzeige - ein Paar orangefarbene LEDs. Tonanzeige - aktiver Piezo-Summer.

Für eine bessere Atmosphäre ist es notwendig, den Bildschirm fertigzustellen. Standardmäßig verfügen Nokia 5110-Bildschirme über weiße oder hellblaue LEDs mit Hintergrundbeleuchtung. Weiße LEDs entsprechen nicht dem geplanten äußeren Stil, und blaue Vyrviglazny-LEDs scheinen bei Benutzern Epilepsie-Angriffe hervorzurufen, und im Allgemeinen wird Satan geschaffen, der zum schnellen Kommen des Antichristen beitragen soll. Wir trinken sie auch am Lagerfeuer. Pater Noster. Amen.
Nehmen Sie als Nächstes die orangefarbenen smd-LEDs, mit denen Glühlampen der alten Schule simuliert werden sollen, und löten Sie sie anstelle der Standardlampen, nachdem Sie die Metallblende des Bildschirms und den LCD-Bildschirm selbst darunter entfernt haben. Jetzt ist alles Feng Shui.
Wir finden eine passende Plastikbox mit Montageohren. Wir legen ein Netzteil, eine Arduinka, einen Quietscher und eine Relushushka hinein. Wir geben ein Paar Drähte an die Netzversorgung, ein Paar Drähte an den Thermistor und einen Kabelbaum an die Vorderseite des Bildschirms, des Encoders und der Status-LEDs mit Diffusoren aus. Der Platz der Steuereinheit befindet sich auf dem Bauch des Ofens.

Eisenkomponente
Bei all meiner Liebe zur alten Technologie würde ich mich niemals verpflichten, diesen Ofen zu restaurieren, wenn es nicht eines wäre - ich habe eine Küche im Provence-Stil und das abgerundete Vintage-Gehäuse dieses Ofens passt perfekt in den Innenraum. Daher wurde beschlossen, zu täuschen.
Wir entfernen die Rückwand, indem wir die 4 Befestigungsohren biegen, um zur Rückwand des inneren Hohlraums des Ofens zu gelangen. Wir nehmen eine Schicht Massenvernichtungswaffen heraus, die "Glaswolle" genannt wird. In der Mitte der Rückwand des inneren Hohlraums bohren wir ein Loch auf die Größe des Thermistorstabs, setzen den Thermistor ein, ziehen die Mutter fest, entfernen die Drähte unter dem Gehäuse, nehmen die Reste der Glaswolle heraus, stopfen stattdessen die Basaltwatte und sammeln sie zurück.
Als nächstes bereiten wir das Bedienfeld, Elemente von Stiften und Schablonen für die Dekoration vor. Kein Plastik, nur Metall. Da ich nicht weiß, wie man in AutoCAD zeichnet, zeichne ich die erforderlichen Details in Photoshop und konvertiere sie über einen Cloud-Dienst in das DWG-Format. Ja, ich bin pervers, ich weiß, ich mag es. Wir geben Zeichnungen für das Laserschneiden.

Schweißen Sie das Dashboard an den geplanten Ort. Wir schweißen die fehlenden Dreiecke an den Seiten, spachteln und reinigen die Schweißstelle, um das Erscheinungsbild eines festen Teils zu maximieren. Auf dem Armaturenbrett befinden sich 4 Steckplätze - ein Platz für den Bildschirm, ein Platz für einen Encoder mit Löchern für LEDs unter der Drehung „for beauty“ unter der Drehung und geschweifte Steckplätze für Betriebs- und Heizungsanzeigen. Die Platte besteht aus 2 mm dickem Stahl, was nicht ausreichen würde. "Gewicht ist zuverlässig." Boris Rasiermesser.
Das ehrwürdige Alter des Ofens und viele Jahre unmenschlicher Bedingungen konnten nur Spuren auf seinem Körper hinterlassen. Es gab Farbkratzer, kleine Dellen und Korrosionsherde. Wir setzen die Schleifbürste auf und reinigen so viel wie möglich. Kittdellen und Defekte mit Autofüllern. Wir reinigen es wieder. Entfetten.

Weiter malen. Ich fand in meiner Gegend nicht die Möglichkeit, den pentaphthalischen Zahnschmelz in den Farben meiner Wahl zu färben, deshalb wählte ich aus den verfügbaren vorgefertigten Farben. Elfenbein wurde als Hauptfarbe des Gehäuses und Pistazie als Elemente für das Dekor des Gehäuses ausgewählt.
Wir malen, mähen, fluchen, entfernen Flecken, streichen neu, mähen wieder, wir schwören, nie wieder mit so etwas zu täuschen, sondern nur friedlich wie alle normalen Männer zu schlagen, uns zu beruhigen, wieder zu malen und zufrieden zu sein. Wir warten eine Woche, bis die Farbe sicher getrocknet ist.

Während der Ofen trocknet, kochen wir ein paar Befestigungselemente für den verriegelbaren Türgriff, zeichnen eine Skizze der Holzgriffe und geben sie dem Dreher. Wir malen die Stifte selbst und lassen sie trocknen. Wir malen den Encoderknopf und die Metallplatte auf den Bildschirmkörper.


Nachdem die Hülle vollständig getrocknet ist, tragen wir Schablonen auf und malen mit Pistazienfarbe.
Als nächstes setzen wir alles zu einem Haufen zusammen und verstehen, dass die Seitenflächen des Ofens provokativ leer sind und sich an etwas anderes halten müssen. Das Malen durch Metallschablonen ist jedoch äußerst unpraktisch, da Tinte unter der Schablone austritt und dann ein Pinsel mit dem Lösungsmittel erforderlich ist, um das Bild anzupassen. Und ich konnte bei Orakal keine Schablonen bestellen, weil ich mit dem „Manager“ einer Werbeagentur nicht einverstanden war. Daher fand ich im Internet fertige, in der Größe geeignete.
Bleib dran. Wir malen. Wir bewundern dich.

Als nächstes setzen wir alles zusammen - installieren Sie den Bildschirm, den Encoder und den Encoderknopf. Aus gerissenem Plexiglas stellen wir Diffusoren für Betriebsartenanzeigen her und kleben sie von der Unterseite des Armaturenbretts. Wir dehnen und löten die Drähte der Module und installieren den Netzwerkstromanschluss mit dem Netzschalter. Wir bohren und montieren Halter für Holzgriffe. Kleben Sie Filz auf die Innenseite des Open-Close-Zeigers, damit der Griff während der Drehung nicht an der Oberfläche der Tür kratzt.
Als nächstes rufen wir die Herrin an, geben ihr diese Kreativität, hören zu, wie klug und schön ich bin, und während wir auf die Kuchen warten, werden wir noch ein paar Zeilen hinzufügen, um zu erklären, warum ich es so gemacht habe und nicht anders.



1. Warum ist der Temperaturerhaltungsalgorithmus so dumm und nicht PID?
Weil es einfach keine Notwendigkeit gibt. Bei einem Standardarbeitsprogramm von 30 bis 40 Minuten überschreitet die Temperatur des Ofens den Zielpunkt nur ein paar Mal. Der Ofen ist klein, gut isoliert und kühlt langsam ab. PID-Algorithmus trivial nirgends umzudrehen. Eine geringe Temperaturträgheit tritt nur einmal während des ersten Temperatursatzes auf und die Überlappung beträgt etwa 20 Grad, was für das Backen überhaupt nicht wichtig ist und bequem durch Öffnen der Tür in diesem Moment zum Verlegen der Pfanne ausgeglichen wird. Hierzu ertönt das Signal zum Erreichen der Betriebstemperatur. Die nächste Iteration erfolgt im Allgemeinen im Bereich von + - 2 Grad.
2. Warum ist ein Relais kein Triac und warum nicht PWM?
Trotzdem. Ich liebe Simistoren und weiß, wie man sie kocht, aber zumindest glauben Sie nicht, dass ein Riss notwendig ist, um sie in das Gerät zu schieben, in dem das Relais innerhalb einer halben Betriebsstunde viermal klickt. Und bei 800 Watt Leistung, dh drei Ampere Strom, wird selbst im chinesischen Relais ein ausreichender Sicherheitsspielraum vorhanden sein. Aber PWM hat hier nichts zu tun, nicht diese Ebene des Geräts. Ja, und das Relais ist aufrichtig und Lampe, und der Triac ist Arroganz und Stolz. Und die Gastgeberin ist mehr als glücklich, und das war ein strategisches Ziel. Kurz gesagt, das ist alles.
3. Was ist noch geplant?
Backbleche aus Edelstahl. Denn im Original gibt es Backbleche aus Brombeeren, und wenn es schon so heiß ist, sollten die Backbleche entsprechen. Später werde ich zeichnen und es dem Laser geben.

Für sim lass mich verabschieden, ich ging, um die Kuchen zu testen. Privit aus der Ukraine.