- Mga Materyal na Kinakailangan:
- Pamamaraan sa Paggawa:
- Paunang mga kinakailangan:
- Paggawa ng isang AC Remote:
- Circuit Diagram at Paliwanag:
- Pag-decode ng iyong Mga Remote na Senyas ng AC:
- Pangunahing Arduino Program:
- Paggawa ng Awtomatikong AC Temperature Control System:
Isang AC (Air Conditioner) na dating itinuturing na isang maluho na item at matatagpuan lamang sa malalaking hotel, bulwagan ng sine, restawran atbp. Ngunit, ngayon halos lahat ay may AC sa aming bahay upang talunin ang tag-init / taglamig at ang mga mayroon nito, magalala tungkol sa isang karaniwang bagay. Iyon ang kanilang mataas na pagkonsumo ng kuryente at charger dahil dito. Sa proyektong ito gagawa kami ng isang maliit na Awtomatikong Temperatura Control Circuit na maaaring mabawasan ang mga charger ng kuryente sa pamamagitan ng pag- iiba ng temperatura ng AC na awtomatikong batay sa temperatura ng Mga Silid. Sa pamamagitan ng pag-iiba-iba ng itinakdang temperatura pana-panahon maiiwasan natin ang paggana ng AC para sa mas mababang mga halaga ng temperatura sa loob ng mahabang panahon at sa gayon ay ubusin ang lakas.
Karamihan sa atin ay nakaranas ng isang sitwasyon kung saan kailangan nating baguhin ang itinakdang temperatura ng Air Conditioner sa iba't ibang mga halaga sa iba't ibang oras ng araw, upang mapanatili kaming komportable sa buong lugar. Upang mai- automate ang prosesong ito ang proyekto na ito ay gumagamit ng isang Temperature sensor (DHT11) na binabasa ang kasalukuyang temperatura ng silid at batay sa halagang ipapadala nito ang mga utos sa AC sa pamamagitan ng IR blaster na katulad ng Remote ng AC. Magre-react ang AC sa mga utos na ito na parang tumutugon sa Remote nito at sa gayon ayusin ang temperatura. Habang nagbabago ang temperatura ng iyong silid, ayusin din ng Arduino ang itinakdang temperatura ng iyong AC upang mapanatili ang iyong temperatura sa paraang nais mo. Tunog cool di ba?… Tingnan natin kung paano bumuo ng isa.
Mga Materyal na Kinakailangan:
- Arduino Mega 2560
- TSOP1738 (HS0038)
- Humantong ang IR
- DHT11 Temperatura / Humidity Sensor
- Anumang Kulay LED at 1K Resistor (opsyonal)
- Breadboard
- Mga Koneksyon sa Mga Wires
Pamamaraan sa Paggawa:
Ang lahat ng mga Remote Control sa aming tahanan na ginagamit namin upang makontrol ang TV, Home Theatre, AC atbp ay gumagana sa tulong ng IR Blasters. Ang isang IR blaster ay walang anuman kundi isang IR LED na maaaring blaster isang senyas sa pamamagitan ng paulit-ulit na pag-pulso; ang signal na ito ay basahin ng tatanggap sa electronics appliance. Para sa bawat magkakaibang pindutan sa remote isang natatanging signal ay sasabog na pagkatapos basahin ng tatanggap ay ginagamit upang maisagawa ang isang partikular na paunang natukoy na gawain. Kung nabasa namin ang signal na ito na lumalabas mula sa Remote, maaari naming gayahin ang parehong signal gamit ang isang IR LED kung kailan kinakailangan na gampanan ang partikular na gawain. Nakagawa na kami dati ng IR Blaster circuit para sa Universal IR Remote.
Ang TSOP ay isang IR Receiver na maaaring magamit upang mai-decode ang signal na nagmumula sa Remotes. Ang Tagatanggap na ito ay makikipag-ugnay sa Arduino upang mag-signal para sa bawat pindutan at pagkatapos ay gagamitin ang isang IR Led kasama ng Arduino upang gayahin ang signal kung kailan kinakailangan. Sa ganitong paraan makakakuha tayo ng kontrol sa aming AC gamit ang Arduino.
Ngayon, ang natitira lamang ay basahin ang halaga ng Temperatura gamit ang DHT11 at turuan ang AC nang naaayon gamit ang mga IR signal. Upang gawing mas kaakit-akit ang proyekto at magiliw ng gumagamit ay nagdagdag din ako ng isang OLED display na nagpapakita ng kasalukuyang temperatura, temperatura ng Temperatura, Humidity at AC na itinakda. Matuto nang higit pa tungkol sa paggamit ng OLED sa Arduino.
Paunang mga kinakailangan:
Ang proyektong Awtomatikong Controller ng Temperatura ng AC na ito ay medyo advanced para sa antas ng nagsisimula, subalit sa tulong ng ilang iba pang mga tutorial na sinuman ay maaaring bumuo nito sa oras. Kaya't kung ikaw ay isang ganap na newbie sa OLED, DHT11 o TSOP pagkatapos ay mabait na bumalik sa mga tutorial na ito sa ibaba kung saan maaari mong malaman ang mga pangunahing kaalaman at kung paano magsimula sa mga ito. Ang listahan ay maaaring mukhang medyo mahaba, ngunit tiwala sa akin na madali at nagkakahalaga ng pag-aaral, magbubukas din ito ng mga pintuan sa maraming mga bagong proyekto.
- Pangunahing circuit gamit ang TSOP at IR LED sa ilalim ng kanilang pagtatrabaho
- Pangunahing gabay sa pag-interfacing para sa DHT11 kasama ang Arduino
- Pangunahing gabay sa pag-interfacing para sa OLED kay Arduino
- Ang interfacing TSOP kay Arduino upang Basahin ang mga malalayong halaga ng IR
Tiyaking mayroon kang isang Arduino Mega at anumang iba pang bersyon ng Arduino, dahil mabigat ang laki ng code. Suriin din kung na-install mo na ang mga sumusunod na aklatan ng Arduino kung hindi mai-install ang mga ito form ang link sa ibaba
- IR Remote Library para sa TSOP at IR Blaster
- Adafruit Library para sa OLED
- GFX Graphics Library para sa OLED
- DHT11 Sensor Library para sa Temperatura sensor
Paggawa ng isang AC Remote:
Bago kami magpatuloy sa proyekto tumagal ng ilang oras at pansinin kung paano gumagana ang iyong AC remote. Gumagawa ang mga remote ng AC sa medyo kakaibang paraan kumpara sa TV, mga remote ng DVD IR. Maaaring mayroong 10-12 na mga pindutan lamang sa iyong Remote, ngunit makakapagpadala sila ng maraming iba't ibang mga uri ng signal. Ibig sabihin ang Remote ay hindi nagpapadala ng parehong code sa bawat oras para sa parehong pindutan. Halimbawa, kapag binawasan mo ang temperatura gamit ang down button upang gawin itong 24 ° C (degree Celsius) makakakuha ka ng isang senyas na may isang hanay ng data, ngunit kapag pinindot mo ulit ito upang maitakda ang 25 ° C hindi ka magkakaroon ng pareho data dahil ang temperatura ngayon ay 25 at hindi 24. Katulad nito ang code para sa 25 ay magkakaiba din para sa iba't ibang bilis ng fan, mga setting ng pagtulog atbp. Kaya't huwag tayong mag-ikot sa lahat ng mga pagpipilian at ituon lamang ang mga halaga ng temperatura na may pare-pareho na halaga para sa iba pang mga setting.
Ang isa pang problema ay ang dami ng data na ipinapadala para sa bawat pindutin ang pindutan, normal na mga remote na nagpapadala ng alinman sa 24 na piraso o 48 na piraso ngunit ang isang AC na remote ay maaaring magpadala ng hanggang sa 228 na piraso dahil ang bawat signal ay naglalaman ng maraming impormasyon tulad ng Temp, Fan Speed, Oras ng pagtulog, Swing style atbp Ito ang dahilan kung bakit kailangan namin ng isang Arduino Mega para sa mas mahusay na mga pagpipilian sa pag-iimbak.
Circuit Diagram at Paliwanag:
Sa kabutihang palad ang pag-setup ng hardware ng Awtomatikong AC Temperature Control Project na ito ay napakadali. Maaari mo lamang gamitin ang isang breadboard at gawin ang mga koneksyon tulad ng ipinakita sa ibaba.
Maaari ding magamit ang sumusunod na talahanayan upang ma-verify ang iyong mga koneksyon.
S. Hindi: |
Component Pin |
Arduino Pin |
1 |
OLED - Vcc |
5V |
2 |
OLED - Gnd |
Gnd |
3 |
OLED- SCK, D0, SCL, CLK |
4 |
4 |
OLED- SDA, D1, MOSI, Data |
3 |
5 |
OLED- RES, RST, RESET |
7 |
6 |
OLED- DC, A0 |
5 |
7 |
OLED- CS, Chip Select |
6 |
8 |
DHT11 - Vcc |
5V |
9 |
DHT11 - Gnd |
Gnd |
10 |
DHT11 - Signal |
13 |
11 |
TSOP - Vcc |
5V |
12 |
TSOP - Gnd |
Gnd |
13 |
IR Led - Anode |
9 |
14 |
IR Led - Cathode |
Gnd |
Kapag tapos na ang iyong mga koneksyon dapat magmukhang ganito ang ipinakita sa ibaba. Gumamit ako ng isang Breadboard upang malinis ang mga bagay, ngunit maaari mo ring ikaw Lalaki sa mga babaeng wires nang direkta upang mai-hook ang lahat ng mga bahagi
Pag-decode ng iyong Mga Remote na Senyas ng AC:
Ang unang hakbang upang makontrol ang iyong AC ay ang paggamit ng TSOP1738 upang mai- decode ang AC Remote Control IR Codes. Gawin ang lahat ng mga koneksyon tulad ng ipinakita sa circuit diagram at tiyaking na-install mo ang lahat ng mga nabanggit na aklatan. Ngayon buksan ang halimbawa ng programang " IRrecvDumpV2 " na maaaring matagpuan sa File -> Mga Halimbawa -> IRremote -> IRrecvDumpV2 . I-upload ang programa sa iyong Arduino Mega at buksan ang Serial Monitor.
Ituro ang iyong Remote patungo sa TSOP at pindutin ang anumang pindutan, para sa bawat pindutan na pinindot mo ang kani-kanilang Signal ay babasahin ng TSOP1738, na-decode ng Arduino at ipinapakita sa Serial Monitor. Para sa bawat pagbabago ng temperatura sa iyong Remote makakakuha ka ng ibang Data. I-save ang Data na ito dahil gagamitin namin ito sa aming pangunahing programa. Ang iyong serial monitor ay magmumukhang ganito, ipinakita ko rin ang Word file kung saan nai-save ko ang nakopyang data.
Ipinapakita ng Screenshot ang code para sa pagtatakda ng temperatura sa 26 ° C para sa aking AC remote. Batay sa iyong Remote makakakuha ka ng ibang hanay ng mga code. Katulad nito kopyahin ang mga code para sa lahat ng iba't ibang antas ng temperatura. Maaari mong suriin ang lahat ng mga Air Conditioner Remote control IR code sa Arduino Code na ibinigay sa pagtatapos ng tutorial na ito.
Pangunahing Arduino Program:
Ang kumpletong pangunahing programa ng Arduino ay matatagpuan sa ilalim ng pahinang ito, ngunit hindi mo maaaring gamitin ang parehong programa. Kailangan mong baguhin ang mga halaga ng Signal code na nakuha lamang namin mula sa Halimbawa ng sketch sa itaas. Buksan ang pangunahing programa sa iyo ng Arduino IDE at mag-scroll pababa sa lugar na ito na ipinapakita sa ibaba kung saan kailangan mong palitan ang mga halaga ng array sa mga halagang nakuha mo para sa iyong Remote.
Tandaan na gumamit ako ng 10 Mga Array kung saan dalawa ang dati upang I-ON at i-OFF ang AC habang ang natitirang 8 ay ginagamit upang magtakda ng magkakaibang temperatura. Halimbawa Temp23 ay ginagamit upang itakda ang 23 ° C sa iyong AC, kaya gamitin ang kani-kanilang code sa Array na iyon. Kapag tapos na iyan, kailangan mo lamang i-upload ang code sa iyong Arduino at Ilagay ito sa tapat ng iyong AC at tamasahin ang Cool Breeze.
Ang Paliwanag ng code ay napupunta sa mga sumusunod, kailangan muna naming gamitin ang sensor ng temperatura ng DHT1 upang mabasa ang Temperatura at Humidity at ipakita ito sa OLED. Ginagawa ito sa pamamagitan ng sumusunod na code.
DHT.read11 (DHT11_PIN); // Basahin ang Temp at Humidity Measured_temp = DHT.temperature + temp_error; Sinukat_Humi = DHT.humidity; // display display test display.setTextSize (1); display.setTextColor (PUTI); display.setCursor (0,0); display.print ("Temperatura:"); display.print (Measured_temp); display.println ("C"); display.setCursor (0,10); display.print ("Humidity:"); display.print (Sinukat_Humi); display.println ("%");
Kapag alam na natin ang Temperatura ng silid kailangan lamang nating ihambing ito sa nais na halaga. Ang nais na halagang ito ay isang pare-pareho na halaga na itinakda bilang 27 ° C (Degree Celsius) sa aking programa. Kaya batay sa paghahambing na ito magtatakda kami ng kaukulang temperatura ng AC tulad ng ipinakita sa ibaba
kung (Measured_temp == Desired_temperature + 3) // Kung ang AC ay ON at ang sinusukat na temp ay napakataas kaysa sa ninanais na {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz); pagkaantala (2000); // Magpadala ng signal upang maitakda ang 24 * C AC_Temp = 24; }
Dito itatakda ang AC sa 24 ° C kapag ang Sukat na temperatura ay 30 ° C (yamang ang nais na temp ay 27). Katulad nito makakalikha tayo ng maraming Kung mga loop upang magtakda ng iba't ibang antas ng temperatura batay sa sinusukat na temperatura tulad ng ipinakita sa ibaba.
kung (Measured_temp == Desired_temperature-1) // Kung ang AC ay ON at ang sinusukat na temp ay mababa kaysa sa ninanais na halaga {irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), khz); antala (2000); // Magpadala ng signal upang maitakda ang 28 * C AC_Temp = 28; } kung (Measured_temp == Desired_temperature-2) // Kung ang AC ay ON at ang sinusukat na temp ay napakababa kaysa sa ninanais na halaga {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), khz); antala (2000); // Magpadala ng signal upang maitakda ang 29 * C AC_Temp = 29; } kung (Measured_temp == Desired_temperature-3) // Kung ang AC ay ON at sinusukat ang temp ay napakababa ng ninanais na halaga {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); antala (2000); // Magpadala ng signal upang maitakda ang 30 * C AC_Temp = 30; }
Paggawa ng Awtomatikong AC Temperature Control System:
Kapag handa na ang iyong Code at hardware, I-upload ang Code sa iyong Lupon at dapat mong mapansin ang OLED na nagpapakita ng katulad nito.
Ngayon ilagay ang circuitry sa tapat ng iyong Air Conditioner at napansin mo ang temperatura ng AC na kinokontrol batay sa temperatura ng mga kuwarto. Maaari mong subukang dagdagan ang temperatura malapit sa sensor ng DHT11 upang suriin kung ang temperatura ng AC ay kinokontrol tulad ng ipinakita sa Video sa ibaba.
Maaari mong sabunutan ang programa upang maisagawa ang anumang nais na pagkilos; ang kailangan mo lang ay ang code na nakuha mo mula sa halimbawa ng sketch. Inaasahan kong naintindihan mo ang proyektong ito ng Awtomatikong Temperatura Controller at nasiyahan sa pagbuo ng isang bagay na katulad. Alam kong maraming mga lugar dito upang makaalis, ngunit huwag magalala pagkatapos. Gamitin lamang ang seksyon ng forum o puna upang ipaliwanag ang iyong problema at ang mga tao dito ay tiyak na makakatulong sa iyo upang malutas ito.