- Materials necessaris:
- Metodologia de treball:
- Requisits previs:
- Funcionament d'un comandament a distància AC:
- Diagrama del circuit i explicació:
- Descodificació dels vostres senyals remots de CA:
- Programa principal d'Arduino:
- Funcionament del sistema automàtic de control de temperatura de CA:
Un aire condicionat (aire condicionat) que abans es considerava un article de luxe i que només es trobava a grans hotels, sales de cinema, restaurants, etc. l’hivern i els que en tenen, es preocupen per una cosa comuna. Aquest és el seu elevat consum d’electricitat i els carregadors que se’n deriven. En aquest projecte farem un petit circuit de control de temperatura automàtic que podria minimitzar els carregadors d’electricitat variant la temperatura de CA automàticament en funció de la temperatura de les habitacions. Si variam periòdicament la temperatura establerta, podem evitar que el CA funcioni durant uns temps amb valors de temperatura més baixos i, per tant, faci que consumeixi menys energia.
La majoria de nosaltres hauríem experimentat una situació en què hauríem de canviar la temperatura configurada de l’aire condicionat a diferents valors durant diferents hores del dia, per mantenir-nos còmodes durant tot el temps. Per automatitzar aquest procés, aquest projecte utilitza un sensor de temperatura (DHT11) que llegeix la temperatura actual de l'habitació i, en funció d'aquest valor, enviarà ordres a la CA mitjançant un blaster IR similar al control remot de la CA. El CA reaccionarà a aquestes ordres com si reaccionés al comandament a distància i, per tant, ajustarà la temperatura. A mesura que canvia la temperatura de la vostra habitació, l’ Arduino també ajustarà la temperatura configurada de la vostra CA per mantenir la temperatura de la manera que desitgeu. Sembla genial, oi?… A veure com se’n construeix.
Materials necessaris:
- Arduino Mega 2560
- TSOP1738 (HS0038)
- Led IR
- Sensor de temperatura / humitat DHT11
- Qualsevol LED de color i resistència 1K (opcional)
- Taula de pa
- Connexió de cables
Metodologia de treball:
Tots els comandaments a distància de la nostra llar que fem servir per controlar TV, Home Theater, CA, etc. funcionen amb l'ajuda de IR Blasters. Un blaster IR no és res més que un LED IR que pot fer saltar un senyal mitjançant pulsacions repetitives; aquest senyal el llegirà el receptor de l’aparell electrònic. Per a cada botó diferent del comandament, es produirà un senyal únic que després de ser llegit pel receptor s'utilitzarà per realitzar una tasca predefinida. Si som capaços de llegir aquest senyal que surt del comandament a distància, podem imitar el mateix senyal mitjançant un LED d’IR quan sigui necessari per realitzar aquesta tasca en particular. Prèviament hem realitzat un circuit IR Blaster per al comandament IR universal.

Un TSOP és un receptor IR que es podria utilitzar per descodificar el senyal provinent dels comandaments a distància. Aquest receptor s’interfacarà amb Arduino per senyalitzar cada botó i, a continuació, s’utilitzarà un led IR amb Arduino per imitar el senyal quan sigui necessari. D’aquesta manera podrem controlar el nostre AC mitjançant Arduino.

Ara, només queda llegir el valor de temperatura mitjançant DHT11 i instruir la CA segons els senyals IR. Per fer que el projecte sembli més atractiu i fàcil d'utilitzar també he afegit una pantalla OLED que mostra la temperatura actual, la humitat i la temperatura de corrent altern. Obteniu més informació sobre l’ús d’OLED amb Arduino.
Requisits previs:
Aquest projecte de controlador automàtic de temperatura de CA està lleugerament avançat per al nivell per a principiants, però amb l'ajut de pocs altres tutorials qualsevol persona pot construir-ho amb qüestió de temps. Per tant, si sou un novell absolut a OLED, DHT11 o TSOP, podeu tornar a aquests tutorials a continuació, on podreu aprendre els conceptes bàsics i com començar a utilitzar-los. Pot semblar que la llista és una mica llarga, però confieu en mi, és fàcil i val la pena aprendre-la, a més, obrirà portes a molts nous projectes.
- Circuit bàsic amb TSOP i LED IR per sota del seu funcionament
- Guia bàsica d'interfície per DHT11 amb Arduino
- Guia bàsica d'interfície per OLED amb Arduino
- Interfície de TSOP amb Arduino per llegir valors remots IR
Assegureu-vos que teniu un Arduino Mega i qualsevol altra versió d’Arduino, ja que la mida del codi és elevada. Comproveu també si ja heu instal·lat les següents biblioteques Arduino si no les instal·leu a l’enllaç següent
- Biblioteca remota IR per TSOP i IR Blaster
- Biblioteca Adafruit per OLED
- Biblioteca de gràfics GFX per a OLED
- Biblioteca del sensor DHT11 per al sensor de temperatura
Funcionament d'un comandament a distància AC:
Abans d’iniciar el projecte, trigueu una mica de temps i observeu com funciona el comandament a distància de CA. Els comandaments a distància de CA funcionen d’una manera una mica diferent en comparació amb els comandaments a distància de televisió i DVD. És possible que només hi hagi 10-12 botons al comandament a distància, però podran enviar molts tipus de senyals diferents. És a dir, el comandament a distància no envia el mateix codi cada vegada pel mateix botó. Per exemple, quan reduïu la temperatura amb el botó avall per fer-la a 24 ° C (grau Celsius) obtindreu un senyal amb un conjunt de dades, però quan torneu a prémer-la per establir 25 ° C no obtindreu el mateix dades ja que la temperatura ara és de 25 i no de 24. De la mateixa manera, el codi per a 25 també variarà segons la velocitat del ventilador, els paràmetres de repòs, etc. Per tant, no juguem amb totes les opcions i concentrem només els valors de temperatura amb un valor constant per a altres paràmetres.
Un altre problema és la quantitat de dades que s’envien per cada pulsació de botó, comandaments a distància normals amb enviament de 24 o 48 bits, però un comandament de CA pot enviar fins a 228 bits, ja que cada senyal conté molta informació com Temp, Vent Temps de repòs, estil Swing, etc. Aquesta és la raó per la qual necessitem un Arduino Mega per obtenir millors opcions d'emmagatzematge.
Diagrama del circuit i explicació:
Per sort, la configuració de maquinari d’aquest projecte de control de temperatura automàtic de CA és molt senzilla. Simplement podeu utilitzar un tauler de control i establir les connexions tal com es mostra a continuació.

La taula següent també es pot utilitzar per verificar les vostres connexions.
|
S. No: |
Pin de component |
Pin Arduino |
|
1 |
OLED - Vcc |
5V |
|
2 |
OLED - Gnd |
Gnd |
|
3 |
OLED- SCK, D0, SCL, CLK |
4 |
|
4 |
OLED- SDA, D1, MOSI, dades |
3 |
|
5 |
OLED- RES, RST, RESET |
7 |
|
6 |
OLED- DC, A0 |
5 |
|
7 |
OLED- CS, Xip Select |
6 |
|
8 |
DHT11 - Vcc |
5V |
|
9 |
DHT11 - Gnd |
Gnd |
|
10 |
DHT11 - Senyal |
13 |
|
11 |
TSOP - Vcc |
5V |
|
12 |
TSOP - Gnd |
Gnd |
|
13 |
Led IR - ànode |
9 |
|
14 |
Led IR - Càtode |
Gnd |
Un cop hagueu acabat les connexions, hauria de tenir un aspecte semblant al que es mostra a continuació. He utilitzat una tauleta de pa per endreçar les coses, però també podeu connectar-vos directament entre cables masculí i femení per connectar tots els components

Descodificació dels vostres senyals remots de CA:
El primer pas per controlar la seva AC és utilitzar TSOP1738 a descodificar AC remot codis de control IR. Feu totes les connexions tal com es mostra al diagrama del circuit i assegureu-vos que heu instal·lat totes les biblioteques esmentades. Ara obriu l'exemple de programa " IRrecvDumpV2 " que podeu trobar a Fitxer -> Exemples -> IRremote -> IRrecvDumpV2 . Carregueu el programa al vostre Arduino Mega i obriu el monitor de sèrie.
Apunteu el comandament a TSOP i premeu qualsevol botó; per cada botó que premeu el senyal corresponent, el TSOP1738 el llegirà, descodificat per Arduino i es mostrarà al monitor de sèrie. Per a cada canvi de temperatura del comandament a distància obtindreu dades diferents. Deseu aquestes dades perquè les utilitzarem al nostre programa principal. El vostre monitor sèrie tindrà un aspecte semblant, també he mostrat el fitxer Word en què he desat les dades copiades.

La captura de pantalla mostra el codi per configurar la temperatura a 26 ° C per al meu comandament de CA. En funció del comandament a distància obtindreu un conjunt de codis diferent. De la mateixa manera, copieu els codis de tots els nivells de temperatura. Podeu consultar tots els codis IR del control remot de l’aire condicionat al codi Arduino que es dóna al final d’aquest tutorial.
Programa principal d'Arduino:
El programa principal complet d'Arduino es troba a la part inferior d'aquesta pàgina, però no podeu utilitzar el mateix programa. Heu de canviar els valors del codi de senyal que acabem d’obtenir de l’esbós d’exemple anterior. Obriu el programa principal del vostre IDE Arduino i desplaceu-vos cap avall fins a aquesta àrea que es mostra a continuació, on heu de substituir els valors de la matriu pels valors que heu obtingut per al vostre control remot.

Tingueu en compte que he utilitzat 10 matrius, dels quals dos solien activar i apagar la CA mentre que la resta 8 s’utilitza per configurar diferents temperatures. Per exemple, Temp23 s'utilitza per establir 23 ° C a la vostra CA, així que utilitzeu el codi corresponent en aquesta matriu. Un cop fet això, només haureu de penjar el codi al vostre Arduino i col·locar-lo davant de la vostra CA i gaudir del Cool Breeze.
L’explicació del codi és la següent: primer hem d’utilitzar el sensor de temperatura DHT1 per llegir la temperatura i la humitat i mostrar-lo a l’OLED. Això es fa mitjançant el següent codi.
DHT.read11 (DHT11_PIN); // Llegiu el Temp i la Humitat Mesurats_temp = DHT.temperatura + temp_error; Measured_Humi = DHT.humitat; // proves de visualització de text display.setTextSize (1); display.setTextColor (BLANC); display.setCursor (0,0); display.print ("Temperatura:"); display.print (Temp_medit); display.println ("C"); display.setCursor (0,10); display.print ("Humitat:"); display.print (Measured_Humi); display.println ("%");
Un cop coneixem la temperatura de l'habitació, només hem de comparar-la amb el valor desitjat. Aquest valor desitjat és un valor constant que s'estableix a 27 ° C (grau Celsius) al meu programa. Així, basant-nos en aquesta comparació, establirem la temperatura de CA corresponent, tal com es mostra a continuació
if (Measured_temp == Desired_temperature + 3) // Si la CA està activada i la temperatura mesurada és molt alta del desitjat {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz); delay (2000); // Enviar senyal per configurar 24 * C AC_Temp = 24; }
Aquí la CA s’establirà a 24 ° C quan la temperatura mesurada sigui de 30 ° C (ja que la temperatura desitjada és de 27). De la mateixa manera, podem crear molts bucles If per establir diferents nivells de temperatures en funció de la temperatura mesurada, tal com es mostra a continuació.
if (Measured_temp == Desired_temperature-1) // Si la CA està activada i la temperatura mesurada és inferior al valor desitjat {irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), khz); delay (2000); // Envia senyal per configurar 28 * C AC_Temp = 28; } if (Measured_temp == Desired_temperature-2) // Si la CA està activada i la temperatura mesurada és molt baixa del valor desitjat {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), khz); delay (2000); // Enviar senyal per configurar 29 * C AC_Temp = 29; } if (Measured_temp == Desired_temperature-3) // Si la CA està activada i la temperatura mesurada és el valor desitjat molt baix {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); delay (2000); // Enviar senyal per configurar 30 * C AC_Temp = 30; }
Funcionament del sistema automàtic de control de temperatura de CA:
Quan el vostre codi i maquinari estigui a punt, pengeu el codi al vostre tauler i notareu que l'OLED mostra alguna cosa similar a aquesta.

Ara col·loqueu el circuit oposat al vostre aire condicionat i notareu que la temperatura de l’AC es controla en funció de la temperatura de l’habitació. Podeu provar d'augmentar la temperatura a prop del sensor DHT11 per comprovar si la temperatura de la CA està controlada, tal com es mostra al vídeo següent.
Podeu ajustar el programa per realitzar qualsevol acció desitjada; tot el que necessiteu és el codi que heu obtingut de l'esbós d'exemple. Espero que hàgiu entès aquest projecte de controlador de temperatura automàtic i us hagi agradat construir alguna cosa molt similar. Sé que hi ha molts llocs per quedar-se atrapats, però no us preocupeu. Simplement utilitzeu el fòrum o la secció de comentaris per explicar el vostre problema i la gent d’aquí segur que us ajudarà a solucionar-lo.
