
Hardwarekomponenter:
- Microcontroller: Arduino MKR WiFi 1010 (Microcontroller til at behandle sensordata og styre varmesystemet. Den har WiFi- og Bluetooth-funktioner).
- Sensorer: Fugtigheds- og temperatursensor: BME280 Fugtighed Tryk Temperatur Sensorer
- OLED Display: 0,96 tommer OLED SSD1306 Display I2C 128 x 64 pixels
- Relæmodul: 5V/12V Relæmodul, brugt som en kontakt til at styre varmesystemet.
- Real Time Clock: Real Time Clock RTC DS3231 I2C realtidsur (til at holde styr på præcis tid)
- strømforsyning: 5V/2A strømforsyningsadapter
- kabinet: 3D-printet (se udkast i denne note) eller retrofit-boks til at rumme komponenterne
- printkort
- breadboard og jumpere (hvis du vil køre det som prototype og eventuelt udvide det)
- specialfremstillet printkort (design det ved hjælp af KiCad EDA og print det via Eurocircuits)

Softwarekrav:
-
IDE: Arduino IDE (du kan bruge enhver IDE, du ønsker, så længe du kan uploade kode til Arduino)
-
Programmering: Du behøver kun grundlæggende kendskab til assembly og konfiguration. Hvis du vil udvide projektet, kan erfaring med ovenstående teknologier være nyttig.
-
Arduino: C++
-
Database: SQL (MariaDB)
-
Front-end: TypeScript (Angular17 front-end)
-
Backend: TypeScript (Node.js, Express)
Trin 1: 3D-printet kabinet

Trin 2: Print PCB'en


Trin 3: Saml hardware og mikrocontrolleropsætning

Mikrocontrolleropsætning
Start samlingsprocessen ved at opsætte mikrocontrolleren. Monter den på et breadboard, så den nemmere kan prototypetestes og tilsluttes. Tilslut mikrocontrolleren til en strømkilde, og sørg for, at den modtager en stabil 5V/2A forsyning. Denne indledende opsætning danner grundlaget for termostaten og leverer den nødvendige kontrol- og processorkraft til de resterende komponenter.
Sensorintegration
Integrer derefter temperatur- og fugtighedssensorerne med mikrocontrolleren. Afhængigt af hvilken type sensor du vælger, skal du følge det specifikke ledningsdiagram for korrekt tilslutning. For den Adafruit-sensor, der er nævnt ovenfor, kan du finde den på deres hjemmeside. Sensoren vil levere realtidsdata om den omgivende temperatur og fugtighed, som mikrocontrolleren vil bruge til at justere varmesystemet. Fastgør sensoren på et sted, hvor den nøjagtigt kan måle rumtemperaturen.
OLED-displayforbindelse
Tilslut OLED-displayet til mikrocontrolleren, og sørg for, at benene er konfigureret korrekt. Displayet vil blive brugt som brugergrænseflade til at vise den aktuelle temperatur, indstillet temperatur og anden relevant information. Korrekt tilslutning af displayet er afgørende for klar og præcis visning.
Relæ Modulopsætning
Opsæt relæmodulet, der skal styre varmesystemet baseret på temperaturmålinger og brugerinput. Tilslut relæet til mikrocontrolleren for at sikre, at det kan håndtere belastningen fra varmesystemet. Relæet fungerer som en kontakt, og mikrocontrolleren kan tænde eller slukke det for at regulere temperaturen. Test relæets funktion for at sikre, at det reagerer korrekt på kontrolsignaler fra mikrocontrolleren.
Trin 4: Programmering af termostaten
-
sender periodisk et heartbeat til serveren.
-
hvis heartbeat er succesfuld, sætter den sensor-dataanmodningen i kø.
-
behandler alle ventende anmodninger i køen.
-
forsøger at genoprette forbindelsen, hvis det er i fallback-tilstand, og der er gået tilstrækkelig tid.
-
styrer varme-relæet baseret på temperaturen, mens det er i fallback-tilstand.
-
opdaterer displayet periodisk.
-
Tilslut boardet: Tilslut Arduino MKR 1010 WiFi til din computer med USB-kablet.
-
Vælg Motherboard: Gå til Værktøjer->Motherboard og vælg Arduino MKR WiFi 1010.
-
Vælg Port: Gå til Værktøjer->Port og vælg den port, der svarer til det board, du forbinder til (f.eks. COM3, /dev/ttyUSB0).
-
Åbn Sketch: Åbn Arduino-sketchfilen (.ino) i Arduino IDE.
-
Konfigurer Sketch: Tilpas sketchen, så den matcher din server-IP, WiFi-legitimationsoplysninger og andre indstillinger.
-
Verificer Sketch: Klik på flueben-ikonet øverst til venstre i Arduino IDE for at kompilere og verificere koden. Dette sikrer, at der ikke er syntaksfejl.
-
Upload Sketch: Klik på højre pil-ikonet ved siden af fluebenet for at uploade koden til Arduino MKR 1010 WiFi. IDE'en vil kompilere koden igen og derefter uploade den til bundkortet.
-
Tænd for Serial Monitor: Gå til Værktøjer->Serial Monitor for at tænde serial monitor.
-
Indstil baudrate: Sørg for, at baudraten nederst i serial monitor er sat til 9600 for at matche Serial.begin(9600); indstillingen i koden.
-
Se output: Du bør se output fra Arduino, som inkluderer debug-beskeder og sensoraflæsninger.

