- Potrebni materijali:
- Metodologija rada:
- Preduvjeti:
- Rad daljinskog upravljača:
- Kružni dijagram i objašnjenje:
- Dekodiranje daljinskih signala izmjeničnog napona:
- Glavni Arduino program:
- Rad automatskog sustava za kontrolu izmjenične temperature:
Klima uređaj (Air Conditioner) koji se nekad smatrao luksuznim predmetom, a nalazio se samo u velikim hotelima, kino dvoranama, restoranima itd… Ali, sada gotovo svi imaju AC u našem domu da pobijede ljeto / zimi i one koji je imaju, brine jedna zajednička stvar. To je njihova velika potrošnja električne energije i punjači zbog toga. U ovom ćemo projektu izraditi mali krug za automatsku kontrolu temperature koji bi mogao smanjiti punjače električne energije automatski mijenjajući temperaturu izmjenične struje na temelju temperature u sobama. Povremenom promjenom postavljene temperature možemo izbjeći da AC dugo radi za niže vrijednosti temperature i tako troši manje energije.
Većina nas doživjela bi situaciju u kojoj moramo promijeniti postavljenu temperaturu klima uređaja na različite vrijednosti tijekom različitih doba dana, kako bi nam bilo ugodno tijekom cijelog dana. Za automatizaciju ovog postupka ovaj projekt koristi temperaturni senzor (DHT11) koji očitava trenutnu temperaturu prostorije i na temelju te vrijednosti slati će naredbe AC-u putem IR blastera sličnog daljinskom upravljaču AC-a. AC će reagirati na ove naredbe kao da reagira na svoj daljinski upravljač i tako prilagoditi temperaturu. Kako se temperatura vaše sobe mijenja, Arduino će također prilagoditi zadanu temperaturu vašeg AC da održava vašu temperaturu baš onakvu kakvu vi želite. Zvuči cool zar ne?… Pogledajmo kako ga napraviti.
Potrebni materijali:
- Arduino Mega 2560
- TSOP1738 (HS0038)
- IR Led
- DHT11 Osjetnik temperature / vlažnosti
- Bilo koja LED u boji i 1K otpornik (opcija)
- Breadboard
- Spajanje žica
Metodologija rada:
Svi daljinski upravljači u našem domu koje koristimo za upravljanje TV-om, kućnim kinom, klima uređajima itd. Rade uz pomoć IR Blastera. IC odašiljač nije ništa drugo nego IR LED koja bi mogla Blaster signal ponavljajući pulsiranja; ovaj će signal čitati prijemnik u elektroničkom uređaju. Za svaku različitu tipku na daljinskom upravljaču zasvirat će se jedinstveni signal koji se nakon očitavanja prijemnika koristi za izvršavanje određenog unaprijed definiranog zadatka. Ako uspijemo očitati ovaj signal koji dolazi s daljinskog upravljača, možemo oponašati isti signal pomoću IR LED-a kad je ikad potreban za izvršavanje tog određenog zadatka. Prethodno smo napravili sklop IR Blastera za univerzalni IR daljinski upravljač.

TSOP je IR prijemnik koji se može koristiti za dekodiranje signala koji dolaze od daljinske upravljače. Ovaj će prijamnik biti povezan s Arduinom kako bi signalizirao za svaki gumb, a zatim će se IR lampica koristiti s Arduinom za oponašanje signala kad god to zatreba. Na taj način možemo dobiti kontrolu nad našim AC koristeći Arduino.

Sada je ostalo samo očitati vrijednost temperature pomoću DHT11 i uputiti AC u skladu s tim koristeći IR signale. Kako bi projekt izgledao privlačnije i korisnije, dodao sam i OLED zaslon koji prikazuje trenutnu temperaturu, vlažnost i zadanu temperaturu izmjenične struje. Saznajte više o korištenju OLED-a s Arduinom.
Preduvjeti:
Ovaj projekt Automatskog regulatora temperature izmjenične struje malo je napredan za početničku razinu, no uz pomoć nekoliko drugih vodiča to može svatko izgraditi s vremenom. Dakle, ako ste apsolutni početnik u OLED-u, DHT11-u ili TSOP-u, vratite se na ove vodiče u nastavku gdje možete naučiti osnove i kako započeti s njima. Popis bi mogao izgledati pomalo dugačak, ali vjerujte mi da je jednostavan i vrijedan učenja, a otvorit će vrata i mnogim novim projektima.
- Osnovni krug koji koristi TSOP i IR LED za ispod njihovog rada
- Osnovni vodič za povezivanje DHT11 s Arduinom
- Osnovni vodič za povezivanje OLED-a s Arduinom
- Povezivanje TSOP-a s Arduinom za čitanje IR daljinskih vrijednosti
Obavezno imate Arduino Mega i bilo koju drugu verziju Arduina, jer je veličina koda velika. Također provjerite jeste li već instalirali sljedeće Arduino knjižnice ako ih ne instalirate putem donje veze
- IR udaljena knjižnica za TSOP i IR Blaster
- Biblioteka Adafruit za OLED
- GFX grafička biblioteka za OLED
- DHT11 knjižnica senzora za temperaturni senzor
Rad daljinskog upravljača:
Prije nego što nastavimo s projektom, odvojite malo vremena i primijetite kako vaš AC daljinski upravljač radi. AC daljinski upravljači rade na malo drugačiji način u odnosu na TV, DVD IR daljinske upravljače. Na vašem daljinskom upravljaču može biti samo 10-12 gumba, ali oni će moći slati puno različitih vrsta signala. Što znači da daljinski upravljač ne šalje isti kôd svaki put za isti gumb. Primjerice, kada smanjite temperaturu pomoću gumba za dolje da bi bila 24 ° C (Celzijev stupanj), dobit ćete signal s nizom podataka, ali kad ga ponovno pritisnete za podešavanje 25 ° C, nećete dobiti isto podaci jer je temperatura sada 25, a ne 24. Slično tome, kod za 25 također će se razlikovati za različite brzine ventilatora, postavke mirovanja itd. Dakle, nemojmo se petljati oko svih opcija i samo koncentrirati samo vrijednosti temperature s konstantnom vrijednošću za ostale postavke.
Drugi je problem količina podataka koja se šalje za svako pritiskanje gumba, normalni daljinski upravljači s 24 ili 48 bita, ali daljinski upravljač može poslati do 228 bita, jer svaki signal sadrži puno podataka poput Temp, Brzina ventilatora, Vrijeme spavanja, stil ljuljačke itd. To je razlog zašto nam je potreban Arduino Mega za bolje mogućnosti pohrane.
Kružni dijagram i objašnjenje:
Srećom, hardversko postavljanje ovog Projekta automatskog upravljanja izmjeničnom temperaturom vrlo je jednostavno. Jednostavno možete koristiti ploču za povezivanje i uspostaviti veze kako je prikazano u nastavku.

Sljedeća tablica također se može koristiti za provjeru vaših veza.
| S.Ne: | Komponentni pin | Arduino pin | 
| 1 | OLED - Vcc | 5V | 
| 2 | OLED - Gnd | Gnd | 
| 3 | OLED- SCK, D0, SCL, CLK | 4 | 
| 4 | OLED- SDA, D1, MOSI, Podaci | 3 | 
| 5 | OLED- RES, RST, RESET | 7 | 
| 6 | OLED- istosmjerna struja, A0 | 5 | 
| 7 | OLED- CS, odabir čipa | 6 | 
| 8 | DHT11 - Vcc | 5V | 
| 9 | DHT11 - Gnd | Gnd | 
| 10 | DHT11 - signal | 13 | 
| 11 | TSOP - Vcc | 5V | 
| 12 | TSOP - Gnd | Gnd | 
| 13 | IR vodio - anoda | 9 | 
| 14 | IR vodio - katoda | Gnd | 
Kad završite s povezivanjem, to bi trebalo izgledati otprilike ovako prikazano dolje. Upotrijebio sam pločicu za pospremanje stvari, ali možete i izravno spojiti muške i ženske žice da spojite sve komponente

Dekodiranje daljinskih signala izmjeničnog napona:
Prvi korak za kontrolu AC-a je upotreba TSOP1738 za dekodiranje IR kodova daljinskog upravljača. Izvršite sve veze kako je prikazano na shemi spojeva i provjerite jeste li instalirali sve spomenute knjižnice. Sada otvorite primjer programa “ IRrecvDumpV2 ” koji se može naći u Datoteka -> Primjeri -> IRremote -> IRrecvDumpV2 . Prenesite program na svoj Arduino Mega i otvorite serijski monitor.
Usmjerite daljinski upravljač prema TSOP i pritisnite bilo koju tipku, jer će svaki gumb koji pritisnete odgovarajući signal pročitati TSOP1738, dekodirati Arduino i prikazati na serijskom monitoru. Za svaku promjenu temperature na daljinskom upravljaču dobit ćete različite podatke. Spremite ove podatke jer ćemo ih koristiti u našem glavnom programu. Vaš će serijski monitor izgledati otprilike ovako, pokazao sam i Word datoteku u koju sam spremio kopirane podatke.

Snimka zaslona prikazuje kod za podešavanje temperature na 26 ° C za moj daljinski upravljač. Na temelju vašeg daljinskog upravljača dobit ćete drugačiji skup kodova. Slično tome kopirajte kodove za sve različite razine temperature. Možete provjeriti sve IR kodove daljinskog upravljača klima uređaja u Arduino kodu danom na kraju ovog vodiča.
Glavni Arduino program:
Kompletan Glavni Arduino programa mogu se pronaći na dnu ove stranice, ali ne možete koristiti isti program. Morate promijeniti vrijednosti signalnog koda koje smo upravo dobili iz gornjeg primjera skice. Otvorite glavni program na vašem Arduino IDE-u i pomaknite se dolje do ovog područja prikazanog dolje, gdje morate zamijeniti vrijednosti niza vrijednostima koje ste dobili za svoj daljinski upravljač.

Imajte na umu da sam upotrijebio 10 nizova, od kojih su dva koristila UKLJUČIVANJE i ISKLJUČIVANJE izmjeničnog napona, dok se ostatak 8 koristi za podešavanje različite temperature. Na primjer, Temp23 se koristi za podešavanje 23 ° C na vašem AC, pa upotrijebite odgovarajući kod u tom nizu. Jednom kad to učinite, jednostavno morate prenijeti kod na svoj Arduino i postaviti ga nasuprot sebi i uživati u Cool Breezeu.
Objašnjenje koda ide na sljedeći način, prvo moramo upotrijebiti temperaturni senzor DHT1 za očitavanje temperature i vlažnosti i prikazivanje na OLED-u. To se postiže sljedećim kodom.
DHT.read11 (DHT11_PIN); // Očitavanje izmjerene temperature i vlažnosti_temp = DHT.temperature + temp_error; Izmjereno_Humi = DHT.vlažnost; // prikaz teksta testira display.setTextSize (1); display.setTextColor (BIJELO); display.setCursor (0,0); display.print ("Temperatura:"); display.print (Mjerena_temp); display.println ("C"); display.setCursor (0,10); display.print ("Vlaga:"); display.print (Mjereno_Humi); display.println ("%");
Jednom kada znamo temperaturu prostorije, jednostavno je moramo usporediti sa željenom vrijednošću. Ova željena vrijednost je konstantna vrijednost koja je u mom programu postavljena na 27 ° C (Celzijev stupanj). Tako ćemo na temelju ove usporedbe postaviti odgovarajuću izmjeničnu temperaturu kao što je prikazano u nastavku
if (Izmjerena_temp == Željena_temperatura + 3) // Ako je AC uključen i izmjerena temp je vrlo visoka od željene {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz); kašnjenje (2000); // Pošalji signal za postavljanje 24 * C AC_Temp = 24; }
Ovdje će AC biti postavljen na 24 ° C kada je izmjerena temperatura 30 ° C (budući da je željena temperatura 27). Slično tome, možemo stvoriti mnogo petlji If za postavljanje različite razine temperatura na temelju izmjerene temperature, kao što je prikazano dolje.
if (Izmjerena_tempa == Željena_temperatura-1) // Ako je AC uključen, a izmjerena temp je niža od željene vrijednosti {irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), khz); kašnjenje (2000); // Pošalji signal za postavljanje 28 * C AC_Temp = 28; } if (Izmjerena_temp == Željena_temperatura-2) // Ako je AC uključen i izmjerena temp je vrlo niska od željene vrijednosti {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), khz); kašnjenje (2000); // Pošalji signal za postavljanje 29 * C AC_Temp = 29; } if (Izmjerena_temp == Željena_temperatura-3) // Ako je AC uključen i izmjerena temp je vrlo vrlo niska željena vrijednost {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); kašnjenje (2000); // Pošalji signal za postavljanje 30 * C AC_Temp = 30; }
Rad automatskog sustava za kontrolu izmjenične temperature:
Kada su vaš kod i hardver spremni, prenesite ga na ploču i trebali biste primijetiti da OLED prikazuje nešto slično ovome.

Sada postavite strujni krug nasuprot vašem klima uređaju i primijetite da se temperatura izmjenične struje kontrolira na temelju sobne temperature. Možete pokušati povećati temperaturu u blizini senzora DHT11 kako biste provjerili kontrolira li se temperatura izmjenične struje, kao što je prikazano u donjem videu.
Možete podesiti program da izvrši bilo koju željenu radnju; sve što trebate je kôd koji ste dobili na primjeru skice. Nadam se da ste razumjeli ovaj projekt automatskog regulatora temperature i uživali u izgradnji nečega vrlo sličnog. Znam da ovdje ima puno mjesta koja mogu zapeti, ali ne brinite onda. Jednostavno upotrijebite odjeljak foruma ili komentara kako biste objasnili svoj problem, a ljudi ovdje sigurno će vam pomoći da ga riješite.

