Talaan ng mga Nilalaman:

Pag-aautomat sa Bahay: Tumunog ng isang Alarma at Ipakita sa LCD Kapag ang Temperatura Ay Sa Itaas ng Halaga ng Threshold: 5 Mga Hakbang
Pag-aautomat sa Bahay: Tumunog ng isang Alarma at Ipakita sa LCD Kapag ang Temperatura Ay Sa Itaas ng Halaga ng Threshold: 5 Mga Hakbang

Video: Pag-aautomat sa Bahay: Tumunog ng isang Alarma at Ipakita sa LCD Kapag ang Temperatura Ay Sa Itaas ng Halaga ng Threshold: 5 Mga Hakbang

Video: Pag-aautomat sa Bahay: Tumunog ng isang Alarma at Ipakita sa LCD Kapag ang Temperatura Ay Sa Itaas ng Halaga ng Threshold: 5 Mga Hakbang
Video: Equipment Corner - Cura 4.8 install and setup 2024, Nobyembre
Anonim
Awtomatiko sa Bahay: Tumunog ng isang Alarma at Ipakita sa LCD Kapag ang Temperatura Ay Sa Itaas ng Halaga ng Threshold
Awtomatiko sa Bahay: Tumunog ng isang Alarma at Ipakita sa LCD Kapag ang Temperatura Ay Sa Itaas ng Halaga ng Threshold

Ipapakita ng blog na ito kung paano gumawa ng isang Home Automation System na magsisimulang tumunog ng isang alarma tuwing ang temperatura ay umabot ng higit sa na-program na halaga ng threshold. Patuloy nitong ipapakita ang kasalukuyang temp ng silid sa LCD at kinakailangan ng pagkilos (Hal: Bawasan ang Temp) kapag umabot ang higit sa halaga ng threshold. Sa tutorial na ito, gumagamit ako ng AD22100 temp sensor na panupaktura ng mga Analog Devices at AG-1005G Buzzer. Ang AD22100 ay isang Boltahe Output Temperature Sensor na may Signal Conditioning

Hakbang 1: Mga Bahagi

Kailangan mo ng mga bahaging ito sa iyo bago simulan ang hindi masisira upang gumana

1. Arduino UNO Board

2. LCD Display (16x2)

3. Buzzer - 2 Pin (AC-1005G)

4. Temp Sensor - 3 Pin (AD22100)

Hakbang 2: Koneksyon ng Iba't ibang Mga Bahagi Sa Arduino UNO

LCD Koneksyon sa Arduino UNO board

LCD RS Pin (Pin 4) na may Pin 7 ng Arduino Board

LCD Paganahin ang Pin (Pin 6) na may Pin 8 ng Arduino Board

LCD D4 Pin (Pin 11) na may Pin 9 ng Arduino Board

LCD D5 Pin (Pin 12) na may Pin 10 ng Arduino Board

LCD D6 Pin (Pin 13) na may Pin 11 ng Arduino Board

LCD D7 Pin (Pin 14) na may Pin 12 ng Arduino Board

Magdagdag ng isang 10 KΩ Pot sa + 5v (Pot Pin 1) at GND (Pot Pin 3), Ikonekta ang Gitnang Pin ng Palayok (Pot Pin 2) sa LCD V0 Pin (Pin 3).

LCD VDD Pin (Pin 2) at LCD A Pin (Pin 15) na may + 5v sa Arduino Board.

LCD VSS Pin (Pin 1) at LCD K Pin (Pin 16) na may GND sa Arduino Board.

Koneksyon ng AD22100 Temp Sensor sa Arduino UNO Board

Ang Pin 1 (V +) ng AD22100 ay dapat na konektado sa +5 v sa Arduino Board.

Ang Pin 2 (Vo) ng AD22100 ay dapat na konektado sa Pin A1 sa Arduino Board.

Ang Pin 3 (GND) ng AD22100 ay dapat na konektado sa GND sa Arduino Board

Buzzer (AC-1005G) Koneksyon sa Arduino UNO Board

Ang output ng Pin 6 PWM ng Arduino board ay dapat na konektado sa + input ng Buzzer.

Ang GND ng Arduino Board ay dapat na konektado sa -ve input ng Buzzer

Hakbang 3: Mga Code ng Arduino

Compile ito at I-upload ito sa Arduino Board at obserbahan ang demo ng Home Automation System

// Nagsisimula ang programa dito

int val;

int tempPin = A1;

int buzzer = 6;

# isama ang LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

walang bisa ang pag-setup () {

// ilagay ang iyong setup code dito, upang tumakbo nang isang beses:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (buzzer, OUTPUT);

}

void loop () {// ilagay ang iyong pangunahing code dito, upang tumakbo nang paulit-ulit:

val = analogRead (tempPin); // AD22100 ay konektado sa Pin A1

/*

* Para sa 25C, ang val ay dumating bilang 900 na nangangahulugang

* 900 ay tumutugma sa 1.9375 v

* Ang Transfer Function ay (V + / 5) * (1.375 + 22.5 mv / degC * 25 degC), * Basahin ang Datasheet ng AD22100

*/

float cel = ((((1.9375 / 900) * val) - 1.375) /22.5) * 1000;

float farh = (cel * 9) / 5 + 32;

Serial.print (val);

Serial.println ();

Serial.print (“TEMPRATURE =“);

Serial.print (cel); Serial.print (“* C”);

Serial.println ();

kung (cel> 26) {

tono (buzzer, 1000);

lcd.clear ();

lcd.print ("Temp sa itaas ng threshold");

lcd.setCursor (0, 1);

lcd.print ("Bawasan ang Temp");

}

iba pa

{noTone (buzzer);

lcd.clear ();

lcd.print ("Temp under control");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print ("degC");

}

pagkaantala (500);

}

// Nagtatapos ang programa dito

Hakbang 4: Pag-unawa sa Program sa Detalye

Susubukan kong ipaliwanag ang ilang seksyon ng code.

Mga pagpapaandar na nauugnay sa Kung / ibang pahayag

Kung ang temp ay mas malaki kaysa sa halaga ng threshold, nagpapadala ako ng isang senyas sa buzzer upang tumunog ng isang alarma at ipinapakita sa LCD upang bawasan ang temp na may ilalim na seksyon ng code

kung (cel> 26)

{tone (buzzer, 1000);

lcd.clear ();

lcd.print ("Temp sa itaas ng threshold");

lcd.setCursor (0, 1);

lcd.print ("Bawasan ang Temp");

}

Kung hindi pagkatapos ay pagpapadala ng kasalukuyang halaga ng temp sa LCD at pagpapakita ng temp na iyon ay nasa kontrol.

iba pa

{noTone (buzzer);

lcd.clear ();

lcd.print ("Temp under control");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print ("degC");

}

Mga pagpapaandar na nauugnay sa Buzzer

tone (buzzer, 1000) - ang pagpapaandar na ito ay magpapadala ng isang 1 khz signal sa pin na pinangalanang buzzer na tinukoy bilang Pin 6 at ang Magnetic buzzer ay konektado sa Pin 6.noTone (buzzer) - titigil sa pagpapadala ng 1 khz signal. Samakatuwid, titigil ang pag-ring

Mga pagpapaandar na nauugnay sa Temp Sensor

Ang pagbabago ng halagang Analog ng pagbabasa ng temp sa halagang deg C ay ginagawa gamit ang isang function na paglipat na maaaring malaman sa AD22100 Datasheet tulad ng nakasulat sa ibaba.

Vout = (V + / 5 V) × (1.375 V + 22.5 mV / ° C × TA) at ang parehong halaga ay nakalimbag sa LCD display.

Hakbang 5: Demo ng Mga Instructable

Kapag ang programa ay naipon at na-upload sa Arduino UNO board

subukan nating dagdagan ang temp sensed ng temp sensor AD22100 at tangkilikin ang sistemang Home Automation.

Para sa pagtaas ng temp ng sensor, hinahawakan ko ito sa soldering iron na magagamit sa Lab.

Maaari kang tumingin sa demo dito..

Demo ng Home Automation System

Inirerekumendang: