Come creare il proprio termostato intelligente
Componenti Hardware:
- Microcontrollore: Arduino MKR WiFi 1010 (Microcontrollore per elaborare i dati dei sensori e controllare il sistema di riscaldamento. Ha capacità WiFi e Bluetooth).
- Sensori: Sensore di umidità e temperatura: Sensori di umidità, pressione e temperatura BME280
- Display OLED: Display OLED SSD1306 da 0,96 pollici I2C 128 x 64 pixel
- Modulo relè: modulo relè 5V/12V , utilizzato come interruttore per controllare il sistema di riscaldamento.
- Orologio in tempo reale: Orologio in tempo reale RTC DS3231 I2C orologio in tempo reale (per il monitoraggio dell'ora esatta)
- alimentatore: adattatore di alimentazione 5V/2A
- alloggiamento: stampato in 3D (vedi bozza in questa nota) o scatola di aggiornamento per ospitare i componenti
- scheda circuito
- breadboard e jumper (se vuoi eseguirlo come prototipo ed eventualmente espanderlo)
- circuito stampato personalizzato (progettalo usando KiCad EDA e stampalo usando Eurocircuits)
Requisiti software:
-
IDE: Arduino IDE (puoi utilizzare qualsiasi IDE che preferisci purché tu sia in grado di caricare il codice su Arduino)
-
Programmazione: è necessaria solo una conoscenza di base dell'assemblaggio e dell'ottimizzazione della configurazione. Se desideri espandere il progetto, potrebbe essere utile una certa esperienza con le tecnologie di cui sopra.
-
Arduino: C++
-
Database: SQL (MariaDB)
-
Front-end: TypeScript (front-end Angular17)
-
Backend: TypeScript (Node.js, Express)
Passo 1: Alloggio Stampato in 3D
Passo 2: Stampa il PCB
Passaggio 3: assemblaggio dell'hardware e configurazione del microcontroller
Impostazione del microcontrollore
Inizia il processo di assemblaggio configurando il microcontrollore. Montatelo su una breadboard in modo che possa essere prototipato e collegato più facilmente. Collega il microcontrollore a una fonte di alimentazione, assicurandoti che riceva un'alimentazione stabile da 5 V/2 A. Questa configurazione iniziale costituisce la base del termostato, fornendo il controllo e la potenza di elaborazione necessari per i restanti componenti.
Integrazione dei sensori
Successivamente, integra i sensori di temperatura e umidità con il microcontrollore. A seconda del tipo di sensore scelto, seguire lo schema elettrico specifico per collegarli correttamente. Per il sensore Adafruit sopra elencato, puoi trovarlo sul loro sito web. Il sensore fornirà dati in tempo reale sulla temperatura e l'umidità ambientale, che il microcontrollore utilizzerà per regolare il sistema di riscaldamento. Fissare il sensore in una posizione in cui possa misurare con precisione la temperatura ambiente.
Connessione Display OLED
Collega il display OLED al microcontrollore, assicurandoti che i pin siano configurati correttamente. Il display verrà utilizzato come interfaccia utente per mostrare la temperatura attuale, la temperatura impostata e altre informazioni rilevanti. Il corretto collegamento del display è fondamentale per un output del display chiaro e accurato.
Relè Impostazione del modulo
Configura il modulo relè che controllerà il sistema di riscaldamento in base alle letture della temperatura e agli input dell'utente. Collega il relè al microcontrollore per assicurarti che possa gestire il carico del sistema di riscaldamento. Il relè funge da interruttore e il microcontrollore può accenderlo o spegnerlo per regolare la temperatura. Testare il funzionamento del relè per assicurarsi che risponda correttamente ai segnali di controllo provenienti dal microcontrollore.
Passo 4: Programmazione del termostato
-
invia periodicamente un heartbeat al server.
-
se l'heartbeat ha esito positivo, mette in coda la richiesta dei dati del sensore.
-
elabora tutte le richieste pendenti in coda.
-
tenta di riconnettersi se è in modalità fallback ed è trascorso un tempo sufficiente.
-
controlla il relè di riscaldamento in base alla temperatura mentre è in modalità fallback.
-
aggiornare il display periodicamente.
-
Collega la scheda: collega Arduino MKR 1010 WiFi al computer utilizzando il cavo USB.
-
Seleziona scheda madre: vai su Strumenti->Scheda madre e seleziona Arduino MKR WiFi 1010.
-
Seleziona porta: vai su Strumenti->Porte e seleziona la porta che corrisponde alla scheda a cui ti stai connettendo (ad esempio, COM3, /dev/ttyUSB0).
-
Apri schizzo: apri il file di schizzo di Arduino (.ino) nell'IDE di Arduino.
-
Configura schizzo: modifica lo schizzo in modo che corrisponda all'IP del server, alle credenziali WiFi e ad altre impostazioni.
-
Verifica lo schizzo: fai clic sull'icona del segno di spunta nell'angolo in alto a sinistra dell'IDE di Arduino per compilare e verificare il codice. Ciò garantisce che non vi siano errori di sintassi.
-
Carica schizzo: fai clic sull'icona della freccia destra accanto al segno di spunta per caricare il codice su Arduino MKR 1010 WiFi. l'IDE compilerà nuovamente il codice e poi lo caricherà sulla scheda madre.
-
Attiva il monitor seriale: vai su Strumenti->Monitor seriale per accendere il monitor seriale.
-
Imposta velocità di trasmissione: assicurati che la velocità di trasmissione nella parte inferiore del monitor seriale sia impostata su 9600 per corrispondere a Serial.begin(9600); impostazione nel codice.
-
Visualizza output: dovresti vedere l'output di Arduino, che include messaggi di debug e letture dei sensori.
Passaggio 5: configurazione del database, del server e del front-end
Passo 6: Test e Calibrazione