- Kinakailangan na Materyal
- Diagram ng Circuit
- Relay:
- Kinakalkula ang Temperatura gamit ang Thermistor:
- Code ng Arduino
- Paggawa ng Temperatura na Kinokontrol na Sistema ng Home Automation:
Ipagpalagay na nakaupo ka sa isang silid at pakiramdam ng malamig at nais mong awtomatikong i-on ang iyong pampainit, at pagkatapos ay i-off pagkatapos ng ilang oras kapag nadagdagan ang temperatura sa kuwarto, pagkatapos ay matulungan ka ng proyektong ito na awtomatikong kontrolin ang iyong mga gamit sa bahay ayon sa temperatura. Dito kinokontrol namin ang Mga Home AC Appliances na may Arduino batay sa temperatura. Dito ginamit namin ang Thermistor upang basahin ang temperatura. Na-interfaced na namin ang Thermistor kay Arduino at ipinakita ang Temperatura sa LCD.
Sa tutorial na ito, magkakabit kami ng isang appliance ng AC sa Relay at gagawa ng isang sistema ng awtomatiko na kinokontrol ng temperatura gamit ang Arduino. Ipinapakita rin nito ang temperatura at katayuan ng appliance sa 16 * 2 LCD display na konektado sa circuit.
Kinakailangan na Materyal
- Arduino UNO
- Relay (5v)
- 16 * 2 LCD display
- Light Bulb (CFL)
- Thermistor ng NTC 10k
- Mga kumokonekta na mga wire
- Mga resistorista (1k at 10k ohm)
- Potensyomiter (10k)
Diagram ng Circuit
Ang Temperatura na batay sa Temperatura ng Sistema ng Home na binubuo ng iba't ibang mga sangkap tulad ng Arduino board, LCD display, Relay, at thermistor. Ang pagtatrabaho pangunahin ay nakasalalay sa relay at thermistor habang ang temperatura ay nadagdagan ang relay ay naka-on at kung ang temperatura ay nabawasan sa ibaba ng preset na halaga pagkatapos Relay ay naka-off. Ang Home appliance na konektado sa Relay ay bubukas at papatay din alinsunod dito. Dito nagamit namin ang isang CFL bombilya bilang AC appliance. Ang buong proseso ng pag-trigger at setting ng halaga ng temperatura ay ginaganap ng naka-program na board ng Arduino. Nagbibigay din ito sa amin ng mga detalye tungkol sa pagbabago ng temperatura sa bawat kalahating segundo at katayuan ng appliance sa LCD screen.
Relay:
Ang relay ay isang electromagnetic switch, na kinokontrol ng maliit na kasalukuyang, at ginagamit upang lumipat sa ON at OFF na medyo mas malaki ang kasalukuyang. Nangangahulugan sa pamamagitan ng paglalapat ng maliit na kasalukuyang maaari naming ilipat ON ang relay na nagbibigay-daan sa mas malaking kasalukuyang dumaloy. Ang isang relay ay isang mahusay na halimbawa ng pagkontrol sa mga AC (kahaliling kasalukuyang) aparato, gamit ang isang mas maliit na kasalukuyang DC. Karaniwang ginagamit na Relay ay Single Pole Double Throw (SPDT) Relay, mayroon itong limang mga terminal tulad ng sa ibaba:
Kapag walang boltahe na inilapat sa coil, ang COM (karaniwang) ay konektado sa NC (karaniwang saradong contact). Kapag may ilang boltahe na inilapat sa likid, ang electromagnetic field na ginawa, na umaakit sa Armature (pingga na konektado sa spring), at COM at NO (karaniwang bukas na contact) ay nakakakonekta, na nagpapahintulot sa isang mas malaking kasalukuyang dumaloy. Magagamit ang mga relay sa maraming mga rating, dito ginamit namin ang 5V operating voltage relay, na nagbibigay-daan sa kasalukuyang daloy ng 7A-250VAC.
Ang relay ay naka-configure sa pamamagitan ng paggamit ng isang maliit na circuit ng Driver na binubuo ng isang Transistor, Diode at isang resistor. Ginagamit ang Transistor upang palakasin ang kasalukuyang upang ang buong kasalukuyang (mula sa mapagkukunan ng DC - 9v na baterya) ay maaaring dumaloy sa pamamagitan ng isang likid upang ganap na ito enerhiya. Ang risistor ay ginagamit upang magbigay ng biasing sa transistor. At ang Diode ay ginagamit upang maiwasan ang pabalik na kasalukuyang daloy, kapag ang transistor ay naka-OFF. Ang bawat coil ng Inductor ay gumagawa ng pantay at kabaligtaran ng EMF kapag biglang naka-OFF, maaari itong maging sanhi ng permanenteng pinsala sa mga bahagi, kaya dapat gamitin ang Diode upang maiwasan ang pabalik na kasalukuyang. Ang isang module na Relay ay madaling magagamit sa merkado kasama ang lahat ng driver circuit sa board o maaari mo itong likhain sa pamamagitan ng paggamit ng mga bahagi sa itaas. Dito ginamit namin ang module ng 5V Relay
Kinakalkula ang Temperatura gamit ang Thermistor:
Alam namin mula sa Voltage divider circuit na:
V out = (V in * Rt) / (R + Rt)
Kaya ang halaga ng Rt ay magiging:
Rt = R (Vin / Vout) - 1
Dito ang Rt ang magiging resistensya ng thermistor (Rt) at ang R ay magiging 10k ohm resistor.
Ang equation na ito ay ginagamit para sa pagkalkula ng paglaban ng thermistor mula sa sinusukat na halaga ng output voltage Vo. Maaari nating makuha ang halaga ng Voltage Vout mula sa halaga ng ADC sa pin A0 ng Arduino tulad ng ipinakita sa Arduino Code na ibinigay sa ibaba.
Pagkalkula ng Temperatura mula sa paglaban ng thermistor
Sa matematika ang resistensya ng thermistor ay maaari lamang makalkula sa tulong ng equation ng Stein-Hart.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Kung saan, A, B at C ang mga pare-pareho, ang Rt ay ang paglaban ng thermistor at ang ln ay kumakatawan sa log.
Ang pare-pareho na halaga para sa thermistor na ginamit sa proyekto ay A = 1.009249522 × 10 −3, B = 2.378405444 × 10 −4, C = 2.019202697 × 10 −7. Ang mga pare-parehong halagang ito ay maaaring makuha mula sa calculator dito sa pamamagitan ng pagpasok ng tatlong mga halaga ng paglaban ng thermistor sa tatlong magkakaibang temperatura. Maaari mong makuha ang mga pare-parehong halagang ito nang direkta mula sa datasheet ng Thermistor o maaari kang makakuha ng tatlong mga halaga ng paglaban sa magkakaibang temperatura at makuha ang mga halaga ng Constants gamit ang ibinigay na calculator.
Kaya, para sa pagkalkula ng temperatura kailangan namin ang halaga ng paglaban lamang ng thermistor. Matapos makuha ang halaga ng Rt mula sa pagkalkula na ibinigay sa itaas ilagay ang mga halaga sa Stein-hart equation at makukuha namin ang halaga ng temperatura sa unit na Kelvin. Tulad ng mayroong isang menor de edad na pagbabago sa output boltahe maging sanhi ng pagbabago sa temperatura.
Code ng Arduino
Kumpletuhin ang Arduino Code para sa Temperatura na Kinokontrol na Home Appliances na ibinibigay sa pagtatapos ng artikulong ito. Dito ipinaliwanag namin ang ilang bahagi nito.
Para sa pagsasagawa ng pagpapatakbo sa matematika ginagamit namin ang Header file na "# isama
# isama
Para sa pag-set up ng Relay (bilang isang output) at LCD sa oras ng pagsisimula kailangan naming magsulat ng code sa walang bisa na pag-setup na bahagi
Void setup () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Para sa pagkalkula ng temperatura sa pamamagitan ng equation ng Stein-Hart gamit ang de-koryenteng paglaban ng thermistor nagsasagawa kami ng ilang simpleng equation sa matematika sa code tulad ng ipinaliwanag sa pagkalkula sa itaas:
float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; float T, logRt, Tf, Tc; float Thermistor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (a + b * logRt + c * logRt * logRt * logRt)); // Nakukuha namin ang halagang temperatura sa Kelvin mula sa equinasyong Stein-Hart na Tc = T - 273.15; // convert Kelvin to Celsius Tf = (Tc * 1.8) + 32.0; // convert Kelvin to Fahrenheit return T; }
Sa code sa ibaba ang function thermistor ay binabasa ang halaga mula sa analog pin ng Arduino, at nai- print ang halaga ng temperatura sa pamamagitan ng pagsasagawa ng pagpapatakbo ng matematika
lcd.print ((Thermistor (analogRead (0))));
At ang halagang iyon ay kinuha ng pagpapaandar ng Thermistor at pagkatapos ang pagkalkula ay nagsisimulang mag-print
float Thermistor (int Vo)
Kailangan naming isulat ang code para sa kundisyon ng pag-ON at I-OFF ang ilaw ayon sa temperatura habang itinatakda namin ang halaga ng temperatura tulad ng kung ang pagtaas ng temperatura ng higit sa 28 degree Celsius ang mga ilaw ay papatayin kung mas mababa ang mga ilaw na mananatiling patay. Kaya't tuwing ang temperatura ay lumalagpas sa 28 degree, kailangan nating gawing mataas ang RELAY Pin (PIN 8) upang ma-ON ang module ng Relay. At kapag ang temperatura ay bumaba sa 28 degree, kailangan nating gawin ang RELAY pin na mababa upang patayin ang Relay Module.
kung (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Light status: ON"), pagkaantala (500); kung hindi man kung (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Light status: OFF"), pagkaantala (500);
Paggawa ng Temperatura na Kinokontrol na Sistema ng Home Automation:
Upang maibigay ang supply sa Arduino maaari mo itong paganahin sa pamamagitan ng USB sa iyong laptop o ikonekta ang 12v adapter. Ang isang LCD ay nakipag-ugnay sa Arduino upang ipakita ang mga halagang temperatura, ang Thermistor at Relay ay konektado ayon sa bawat diagram ng circuit. Ginagamit ang analog pin (A0) upang suriin ang boltahe ng thermistor pin sa bawat sandali at pagkatapos ng pagkalkula gamit ang equation ng Stein-Hart sa pamamagitan ng Arduino code maaari naming makuha ang temperatura at ipakita ito sa LCD sa Celsius at Fahrenheit.
Habang ang temperatura ay nagdaragdag ng higit sa 28 degree Celsius Arduino ay ginagawang Module ng Relay sa pamamagitan ng paggawa ng Pin 8 HATA (kung saan nakakonekta ang module ng Relay) kapag ang temperatura ay bumaba sa ibaba 28 Degree Arduino pinapatay ang Relay Module sa pamamagitan ng paggawa ng PIN na mababa. Ang CFL bombilya ay bubuksan din On at Off alinsunod sa Relay module.
Ang sistemang ito ay maaaring maging lubhang kapaki-pakinabang sa Temperatura na kinokontrol ng Temperatura at proyekto ng awtomatikong AC temperatura controller.
Suriin din ang aming maraming uri ng Mga Proyekto sa Home Automation na gumagamit ng iba't ibang mga teknolohiya at Microcontroller tulad ng: