- Materiali richiesti:
- Metodologia di lavoro:
- Prerequisiti:
- Funzionamento di un telecomando AC:
- Schema del circuito e spiegazione:
- Decodifica dei segnali del telecomando CA:
- Programma principale Arduino:
- Funzionamento del sistema di controllo automatico della temperatura CA:
Un condizionatore d'aria che una volta era considerato un oggetto di lusso e si trovava solo in grandi hotel, sale cinematografiche, ristoranti ecc… Ma ora quasi tutti hanno un condizionatore a casa nostra per battere l'estate / l'inverno e quelli che ce l'hanno, si preoccupano di una cosa comune. Questo è il loro elevato consumo di elettricità e caricabatterie a causa di esso. In questo progetto realizzeremo un piccolo circuito di controllo automatico della temperatura che potrebbe ridurre al minimo i caricatori di elettricità variando automaticamente la temperatura CA in base alla temperatura delle stanze. Variando periodicamente la temperatura impostata si evita di far funzionare a lungo il condizionatore per valori di temperatura più bassi e quindi di consumare meno energia.
La maggior parte di noi avrebbe sperimentato una situazione in cui dovremmo modificare la temperatura impostata del condizionatore d'aria su valori diversi durante i diversi momenti della giornata, in modo da mantenerci comodi per tutto il tempo. Per automatizzare questo processo, questo progetto utilizza un sensore di temperatura (DHT11) che legge la temperatura attuale della stanza e in base a tale valore invierà comandi all'AC tramite un blaster IR simile al telecomando dell'AC. L'AC reagirà a questi comandi come se stesse reagendo al suo telecomando e quindi regolerà la temperatura. Man mano che la temperatura della tua stanza cambia, Arduino regolerà anche la temperatura impostata del tuo condizionatore per mantenere la tua temperatura nel modo in cui desideri che sia. Suona bene vero?… Vediamo come costruirne uno.
Materiali richiesti:
- Arduino Mega 2560
- TSOP1738 (HS0038)
- Led IR
- Sensore di temperatura / umidità DHT11
- LED di qualsiasi colore e resistenza 1K (opzionale)
- Breadboard
- Collegamento dei cavi
Metodologia di lavoro:
Tutti i telecomandi della nostra casa che usiamo per controllare TV, Home Theater, AC, ecc. Funzionano con l'aiuto di IR Blaster. Un blaster IR non è altro che un LED IR che potrebbe blasterare un segnale con impulsi ripetitivi; questo segnale verrà letto dal ricevitore nell'apparecchio elettronico. Per ogni diverso pulsante del telecomando verrà emesso un segnale unico che, dopo essere stato letto dal ricevitore, viene utilizzato per eseguire un particolare compito predefinito. Se siamo in grado di leggere questo segnale in uscita dal telecomando, possiamo quindi imitare lo stesso segnale utilizzando un LED IR quando richiesto per eseguire quella particolare attività. In precedenza abbiamo realizzato un circuito IR Blaster per il telecomando IR universale.
Un TSOP è un ricevitore IR che potrebbe essere utilizzato per decodificare il segnale proveniente dai telecomandi. Questo ricevitore sarà interfacciato con Arduino per segnalare ogni pulsante e quindi verrà utilizzato un LED IR con Arduino per imitare il segnale quando richiesto. In questo modo possiamo ottenere il controllo del nostro AC usando Arduino.
Ora, non resta che leggere il valore della temperatura utilizzando DHT11 e istruire l'AC di conseguenza utilizzando i segnali IR. Per rendere il progetto più attraente e facile da usare, ho anche aggiunto un display OLED che mostra la temperatura corrente, l'umidità e la temperatura impostata AC. Ulteriori informazioni sull'uso di OLED con Arduino.
Prerequisiti:
Questo progetto di termoregolatore automatico CA è leggermente avanzato per il livello principiante, tuttavia con l'aiuto di pochi altri tutorial chiunque può costruirlo con questione di tempo. Quindi, se sei un principiante assoluto di OLED, DHT11 o TSOP, torna gentilmente a questi tutorial qui sotto dove puoi imparare le basi e come iniziare con questi. L'elenco potrebbe sembrare un po 'lungo, ma credetemi è facile e vale la pena impararlo, inoltre aprirà le porte a molti nuovi progetti.
- Circuito di base che utilizza TSOP e LED IR per il loro funzionamento
- Guida all'interfacciamento di base per DHT11 con Arduino
- Guida all'interfacciamento di base per OLED con Arduino
- Interfacciamento di TSOP con Arduino per leggere valori remoti IR
Assicurati di avere un Arduino Mega e qualsiasi altra versione di Arduino, poiché la dimensione del codice è pesante. Controlla anche se hai già installato le seguenti librerie Arduino, altrimenti installale dal link sottostante
- Libreria remota IR per TSOP e IR Blaster
- Libreria Adafruit per OLED
- Libreria grafica GFX per OLED
- Libreria di sensori DHT11 per sensore di temperatura
Funzionamento di un telecomando AC:
Prima di procedere nel progetto, prenditi un po 'di tempo e nota come funziona il tuo telecomando AC. I telecomandi AC funzionano in modo leggermente diverso rispetto ai telecomandi IR TV e DVD. Potrebbero esserci solo 10-12 pulsanti sul telecomando, ma saranno in grado di inviare molti tipi diversi di segnali. Significa che il telecomando non invia lo stesso codice ogni volta per lo stesso pulsante. Ad esempio, quando diminuisci la temperatura utilizzando il pulsante giù per portarla a 24 ° C (gradi Celsius) otterrai un segnale con un set di dati, ma quando lo premi di nuovo per impostare 25 ° C non otterrai lo stesso dati poiché la temperatura è ora 25 e non 24. Allo stesso modo il codice per 25 varierà anche per diverse velocità della ventola, impostazioni di sospensione ecc. Quindi non giochiamo con tutte le opzioni e concentriamo solo i valori di temperatura con un valore costante per altre impostazioni.
Un altro problema è la quantità di dati che viene inviata per ogni pressione di un pulsante, i normali telecomandi con inviano 24 bit o 48 bit, ma un telecomando CA potrebbe inviare fino a 228 bit poiché ogni segnale contiene molte informazioni come Temp, Velocità della ventola, Tempi del sonno, stile Swing ecc. Questo è il motivo per cui abbiamo bisogno di un Arduino Mega per migliori opzioni di archiviazione.
Schema del circuito e spiegazione:
Fortunatamente la configurazione hardware di questo progetto di controllo automatico della temperatura CA è molto semplice. Puoi semplicemente utilizzare una breadboard ed effettuare i collegamenti come mostrato di seguito.
La tabella seguente può essere utilizzata anche per verificare le connessioni.
S.No: |
Pin componente |
Pin di Arduino |
1 |
OLED - Vcc |
5V |
2 |
OLED - Gnd |
Gnd |
3 |
OLED- SCK, D0, SCL, CLK |
4 |
4 |
OLED-SDA, D1, MOSI, dati |
3 |
5 |
OLED- RES, RST, RESET |
7 |
6 |
OLED- DC, A0 |
5 |
7 |
OLED-CS, selezione del chip |
6 |
8 |
DHT11 - Vcc |
5V |
9 |
DHT11 - Gnd |
Gnd |
10 |
DHT11 - Segnale |
13 |
11 |
TSOP - Vcc |
5V |
12 |
TSOP - Gnd |
Gnd |
13 |
Led IR - Anodo |
9 |
14 |
Led IR - Catodo |
Gnd |
Una volta terminate le connessioni, dovrebbe assomigliare a questo mostrato di seguito. Ho usato una breadboard per riordinare le cose, ma puoi anche collegare direttamente i cavi da maschio a femmina per collegare tutti i componenti
Decodifica dei segnali del telecomando CA:
Il primo passo per controllare il tuo AC è usare TSOP1738 per decodificare i codici IR del telecomando AC. Effettuare tutti i collegamenti come mostrato nello schema elettrico e assicurarsi di aver installato tutte le librerie menzionate. Ora apri il programma di esempio " IRrecvDumpV2 " che può essere trovato in File -> Esempi -> IRremote -> IRrecvDumpV2 . Carica il programma sul tuo Arduino Mega e apri Serial Monitor.
Puntare il telecomando verso TSOP e premere un pulsante qualsiasi, per ogni pulsante premuto il rispettivo segnale verrà letto dal TSOP1738, decodificato da Arduino e visualizzato nel monitor seriale. Ad ogni cambio di temperatura sul tuo telecomando otterrai un dato diverso. Salva questi dati perché li useremo nel nostro programma principale. Il tuo monitor seriale avrà un aspetto simile a questo, ho anche mostrato il file Word su cui ho salvato i dati copiati.
Lo screenshot mostra il codice per impostare la temperatura a 26 ° C per il mio telecomando AC. In base al tuo telecomando otterrai un diverso set di codici. Allo stesso modo copiare i codici per tutti i diversi livelli di temperatura. Puoi controllare tutti i codici IR del telecomando del condizionatore d'aria nel codice Arduino fornito alla fine di questo tutorial.
Programma principale Arduino:
Il programma principale completo di Arduino si trova in fondo a questa pagina, ma non è possibile utilizzare lo stesso programma. È necessario modificare i valori del codice del segnale che abbiamo appena ottenuto dallo schizzo di esempio sopra. Apri il programma principale sul tuo IDE Arduino e scorri verso il basso fino a quest'area mostrata di seguito dove devi sostituire i valori dell'array con i valori che hai ottenuto per il tuo telecomando.
Si noti che ho usato 10 array di cui due usati per accendere e spegnere l'AC mentre gli altri 8 sono usati per impostare una temperatura diversa. Ad esempio Temp23 viene utilizzato per impostare 23 ° C sul tuo AC, quindi usa il rispettivo codice in quell'Array. Una volta fatto, devi solo caricare il codice sul tuo Arduino e posizionarlo di fronte a te AC e goderti Cool Breeze.
La spiegazione del codice è la seguente, per prima cosa dobbiamo utilizzare il sensore di temperatura DHT1 per leggere la temperatura e l'umidità e visualizzarle sull'OLED. Questo viene fatto dal codice seguente.
DHT.read11 (DHT11_PIN); // Leggi Temp e Umidità Measured_temp = DHT.temperature + temp_error; Measured_Humi = DHT.humidity; // test di visualizzazione del testo display.setTextSize (1); display.setTextColor (WHITE); display.setCursor (0,0); display.print ("Temperatura:"); display.print (Measured_temp); display.println ("C"); display.setCursor (0,10); display.print ("Umidità:"); display.print (Measured_Humi); display.println ("%");
Una volta che conosciamo la temperatura della stanza non ci resta che confrontarla con il valore desiderato. Questo valore desiderato è un valore costante che è impostato come 27 ° C (gradi Celsius) nel mio programma. Quindi, in base a questo confronto, imposteremo una temperatura CA corrispondente come mostrato di seguito
if (Measured_temp == Desired_temperature + 3) // Se AC è ON e la temperatura misurata è molto alta di quella desiderata {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz); delay (2000); // Invia il segnale al set 24 * C AC_Temp = 24; }
Qui l'AC sarà impostato a 24 ° C quando la temperatura misurata è di 30 ° C (poiché la temperatura desiderata è 27). Allo stesso modo possiamo creare molti cicli If per impostare diversi livelli di temperatura in base alla temperatura misurata come mostrato di seguito.
if (Measured_temp == Desired_temperature-1) // Se AC è ON e la temperatura misurata è inferiore al valore desiderato {irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), khz); delay (2000); // Invia il segnale al set 28 * C AC_Temp = 28; } if (Measured_temp == Desired_temperature-2) // Se AC è ON e la temperatura misurata è molto bassa del valore desiderato {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), khz); delay (2000); // Invia il segnale al set 29 * C AC_Temp = 29; } if (Measured_temp == Desired_temperature-3) // Se AC è ON e la temperatura misurata è molto molto bassa, il valore desiderato {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); delay (2000); // Invia il segnale al set 30 * C AC_Temp = 30; }
Funzionamento del sistema di controllo automatico della temperatura CA:
Quando il codice e l'hardware sono pronti, carica il codice sulla tua scheda e dovresti notare che l'OLED mostra qualcosa di simile a questo.
Ora posiziona il circuito di fronte al tuo condizionatore d'aria e noti che la temperatura dell'aria condizionata viene controllata in base alla temperatura della stanza. Puoi provare ad aumentare la temperatura vicino al sensore DHT11 per verificare se la temperatura dell'aria condizionata è controllata come mostrato nel video qui sotto.
È possibile modificare il programma per eseguire qualsiasi azione desiderata; tutto ciò di cui hai bisogno è il codice che hai ottenuto dallo schizzo di esempio. Spero che tu abbia capito questo progetto del regolatore di temperatura automatico e ti sia piaciuto costruire qualcosa di molto simile. So che qui ci sono molti posti in cui rimanere bloccati, ma non preoccuparti. Usa il forum o la sezione commenti per spiegare il tuo problema e le persone qui ti aiuteranno sicuramente a risolverlo.