Sisukord:

Koduautomaatika: andke alarm ja kuvage vedelkristallekraanil, kui temperatuur on üle künnisväärtuse: 5 sammu
Koduautomaatika: andke alarm ja kuvage vedelkristallekraanil, kui temperatuur on üle künnisväärtuse: 5 sammu

Video: Koduautomaatika: andke alarm ja kuvage vedelkristallekraanil, kui temperatuur on üle künnisväärtuse: 5 sammu

Video: Koduautomaatika: andke alarm ja kuvage vedelkristallekraanil, kui temperatuur on üle künnisväärtuse: 5 sammu
Video: LDmicro 11: Последовательный контроллер температуры с ЖК-дисплеем (лестничное программирование ПЛК микроконтроллера с помощью LDmicro) 2024, Juuli
Anonim
Koduautomaatika: helistage alarm ja kuvage vedelkristallekraanil, kui temperatuur ületab künnisväärtuse
Koduautomaatika: helistage alarm ja kuvage vedelkristallekraanil, kui temperatuur ületab künnisväärtuse

See ajaveeb näitab, kuidas luua koduautomaatikasüsteem, mis hakkab helisema, kui temperatuur jõuab programmeeritud künnisväärtusest kõrgemale. Kui temperatuur ületab läviväärtuse, kuvab see LCD -ekraanil pidevalt ruumi temperatuuri ja vajalikke toiminguid (nt: alanda temperatuuri). Selles õpetuses kasutan AD22100 temperatuuriandurit, mille on tootnud Analog Devices ja AG-1005G Buzzer. AD22100 on signaali konditsioneerimisega pinge väljundtemperatuuri andur

Samm: osad

Enne selle hävimatu töö alustamist vajate neid osi kaasas

1. Arduino UNO juhatus

2. LCD -ekraan (16x2)

3. summeri - 2 tihvti (AC -1005G)

4. Temperatuuriandur - 3 -pin (AD22100)

Samm: erinevate osade ühendamine Arduino UNO -ga

LCD ühendus Arduino UNO plaadiga

LCD RS -tihvt (tihvt 4) Arduino plaadi tihvtiga 7

LCD lubab tihvti (tihvt 6) Arduino plaadi tihvtiga 8

LCD D4 tihvt (tihvt 11) Arduino plaadi tihvtiga 9

LCD D5 tihvt (tihvt 12) Arduino plaadi tihvtiga 10

LCD D6 tihvt (tihvt 13) Arduino plaadi tihvtiga 11

LCD D7 tihvt (tihvt 14) Arduino plaadi tihvtiga 12

Lisage 10 KΩ pott +5v (potti tihvt 1) ja GND (poti tihvt 3), Ühendage poti keskmine tihvt (potti tihvt 2) LCD V0 tihvtiga (tihvt 3).

LCD VDD tihvt (tihvt 2) ja LCD A -tihvt (tihvt 15) +5v Arduino pardal.

LCD VSS tihvt (tihvt 1) ja LCD K tihvt (tihvt 16) koos GND -ga Arduino tahvlil.

AD22100 temperatuurianduri ühendus Arduino UNO plaadiga

AD22100 tihvt 1 (V +) tuleks ühendada Arduino Boardi +5 v -ga.

AD22100 tihvt 2 (Vo) tuleks ühendada Arduino tahvli tihvtiga A1.

AD22100 tihvt 3 (GND) tuleks Arduino pardal GND -ga ühendada

Sumin (AC-1005G) Ühendus Arduino UNO juhatusega

Pin 6 Arduino plaadi PWM väljund tuleks ühendada Buzzeri +ve sisendiga.

Arduino Boardi GND tuleks ühendada Buzzeri sisendiga -ve

Samm: Arduino koodid

Koostage see ja laadige see Arduino pardal üles ja jälgige koduautomaatikasüsteemi demot

// Programm algab siit

int val;

int tempPin = A1;

int sumin = 6;

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

tühine seadistus () {

// pange oma seadistuskood siia, et üks kord käivitada:

lcd.algus (16, 2);

lcd.clear ();

Seriaalne algus (9600);

pinMode (helisignaal, VÄLJUND);

}

void loop () {// pange oma põhikood korduvaks käitamiseks siia:

val = analogRead (tempPin); // AD22100 on ühendatud tihvtiga A1

/*

*25C puhul on val 900, mis tähendab

* 900 vastab 1,9375 v

* Ülekandefunktsioon on (V +/5) * (1,375 + 22,5 mv/degC * 25 ° C), * Lugege AD22100 andmelehte

*/

float cel = (((((1,9375/900) * val) - 1,375)/22,5) * 1000;

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

Seeriatrükk (val);

Serial.println ();

Serial.print (“TEMPRATURE =“);

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

Serial.println ();

kui (cel> 26) {

toon (sumin, 1000);

lcd.clear ();

lcd.print (“Temperatuur üle künnise”);

lcd.setCursor (0, 1);

lcd.print ("Vähenda temperatuuri");

}

muidu

{noTone (helisignaal);

lcd.clear ();

lcd.print (“Temperatuur kontrolli all”);

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.print (cel);

lcd.print (“degC”);

}

viivitus (500);

}

// Programm lõpeb siin

Samm: programmi üksikasjalik mõistmine

Püüan selgitada koodi mõnda jaotist.

Lausega If/else seotud funktsioonid

Kui temperatuur on künnisväärtusest kõrgem, saadan helisignaalile helisignaali ja kuvan ekraani temperatuuri alandamiseks, kasutades koodi alltoodud jaotist

kui (cel> 26)

{toon (sumin, 1000);

lcd.clear ();

lcd.print (“Temperatuur üle künnise”);

lcd.setCursor (0, 1);

lcd.print ("Vähenda temperatuuri");

}

Kui ei, siis saadetakse praegune temperatuuri väärtus LCD -le ja kuvatakse selle temperatuuri kontroll.

muidu

{noTone (helisignaal);

lcd.clear ();

lcd.print (“Temperatuur kontrolli all”);

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.print (cel);

lcd.print (“degC”);

}

Buzzeriga seotud funktsioonid

toon (sumin, 1000) - see funktsioon saadab 1 khz signaali tihvtile nimega sumin, mis on määratletud kui tihvt 6 ja magnetiline helisignaal on ühendatud nööpnõelaga 6. noTone (sumin) - lõpetab 1 khz signaali saatmise. Seega helin lakkab

Temperatuurianduriga seotud funktsioonid

Temperatuurinäidu analoogväärtuse teisendamine deg C -väärtuseks toimub ülekandefunktsiooni abil, mille leiate AD22100 andmelehelt, nagu allpool kirjutatud.

Vout = (V +/5 V) × (1,375 V + 22,5 mV/° C × TA) ja sama väärtus trükitakse LCD -ekraanile.

Samm 5: Instructables demo

Kui programm on koostatud ja Arduino UNO tahvlile üles laaditud

proovime tõsta temperatuurianduri AD22100 poolt tajutavat temperatuuri ja naudime koduautomaatikasüsteemi.

Anduri temperatuuri tõstmiseks puudutan seda Labis saadaoleva jootekolbiga.

Demot saate vaadata siit..

Koduautomaatikasüsteemi demo

Soovitan: