Turinys:

Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę: 5 žingsniai
Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę: 5 žingsniai

Video: Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę: 5 žingsniai

Video: Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę: 5 žingsniai
Video: AX PRO – belaidė modernaus dizaino namų apsaugos sistema! 2024, Lapkritis
Anonim
Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę
Namų automatika: skambinkite aliarmu ir rodykite LCD ekrane, kai temperatūra viršija slenkstinę vertę

Šiame tinklaraštyje bus parodyta, kaip sukurti namų automatizavimo sistemą, kuri pradės skambėti, kai temperatūra pasieks didesnę nei užprogramuota slenkstinė vertė. LCD ekrane ir toliau bus rodoma dabartinė kambario temperatūra ir reikalingi veiksmai (pvz., Temperatūros mažinimas), kai temperatūra pasiekia didesnę nei ribinė vertė. Šioje pamokoje naudoju AD22100 temperatūros jutiklį, kurį gamina „Analog Devices“ir „AG-1005G Buzzer“. AD22100 yra išėjimo įtampos temperatūros jutiklis su signalo kondicionavimu

1 žingsnis: dalys

Šių dalių jums reikia su savimi prieš pradedant nesugadinamą darbą

1. Arduino UNO valdyba

2. LCD ekranas (16x2)

3. Signalas - 2 kontaktų (AC -1005G)

4. Temperatūros jutiklis - 3 kontaktų (AD22100)

2 žingsnis: skirtingų dalių prijungimas prie „Arduino UNO“

LCD jungtis su „Arduino UNO“plokšte

LCD RS kaištis (4 kaištis) su „Arduino“plokštės 7 kaiščiu

LCD įjunkite kaištį (6 kaištis) su „Arduino“plokštės 8 kaiščiu

LCD D4 kaištis (kaištis 11) su „Arduino“plokštės 9 kaiščiu

LCD D5 kaištis (kaištis 12) su „Arduino“plokštės 10 kaiščiu

LCD D6 kaištis (13 kaištis) su „Arduino“plokštės 11 kaiščiu

LCD D7 kaištis (14 kaištis) su „Arduino“plokštės 12 kaiščiu

Pridėkite 10 KΩ puodą prie +5v (puodo kaištis 1) ir GND (puodo kaištis 3), Prijunkite vidurinį puodo kaištį (puodo kaištis 2) prie LCD V0 kaiščio (3 kaištis).

LCD VDD kaištis (2 kaištis) ir LCD A kaištis (15 kaištis) su +5v „Arduino“lentoje.

LCD VSS kaištis (1 kaištis) ir LCD K kaištis (16 kaištis) su GND „Arduino“lentoje.

AD22100 temperatūros jutiklio jungtis su „Arduino UNO Board“

AD22100 1 kaištis (V +) turi būti prijungtas prie +5 v „Arduino Board“.

AD22100 2 kaištis (Vo) turėtų būti prijungtas prie „Arduino“plokštės A1 kaiščio.

AD22100 3 kaištis (GND) turėtų būti prijungtas prie GND „Arduino“lentoje

„Buzzer“(AC-1005G) jungtis su „Arduino UNO“lenta

6 kaištis „Arduino“plokštės PWM išėjimas turėtų būti prijungtas prie „Buzzer“įvesties +ve.

„Arduino Board“GND turėtų būti prijungtas prie „Buzzer“įvesties

3 žingsnis: „Arduino“kodai

Sudarykite ir įkelkite į „Arduino Board“ir stebėkite namų automatikos sistemos demonstraciją

// Programa prasideda čia

int val;

int tempPin = A1;

int garsinis signalas = 6;

#įtraukti „LiquidCrystal lcd“(7, 8, 9, 10, 11, 12);

void setup () {

// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą:

LCD. pradžia (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (garsinis signalas, OUTPUT);

}

void loop () {// čia įdėkite pagrindinį kodą, kad jis būtų paleistas pakartotinai:

val = analogRead (tempPin); // AD22100 prijungtas prie kaiščio A1

/*

*25C atveju val yra 900, tai reiškia

* 900 atitinka 1,9375 v

* Perkėlimo funkcija yra (V +/5) * (1,375 + 22,5 mv/degC * 25 ° C), * Perskaitykite AD22100 duomenų lapą

*/

plūdė cel = (((((1,9375/900) * val) - 1,375)/22,5) * 1000;

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

Serijinis atspaudas (val);

Serial.println ();

Serial.print („TEMPRATURE =“);

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

Serial.println ();

jei (cel> 26) {

tonas (garsinis signalas, 1000);

lcd.clear ();

lcd.print („Temperatūra viršija slenkstį“);

lcd.setCursor (0, 1);

lcd.print („Sumažinti temperatūrą“);

}

Kitas

{noTone (garsinis signalas);

lcd.clear ();

lcd.print („Temperatūra kontroliuojama“);

lcd.setCursor (0, 1);

lcd.print („Temp =“);

lcd.print (cel);

lcd.print („degC“);

}

vėlavimas (500);

}

// Programa baigiasi čia

4 žingsnis: išsamiai supraskite programą

Pabandysiu paaiškinti keletą kodo skyrių.

Funkcijos, susijusios su „If/else“teiginiu

Jei temperatūra yra didesnė už slenkstinę vertę, siunčiu signalą į garsinį signalą, kad skambėtų pavojaus signalas, o LCD ekrane rodoma, kaip sumažinti temperatūrą žemiau esančioje kodo skiltyje

jei (cel> 26)

{tonas (garsinis signalas, 1000);

lcd.clear ();

lcd.print („Temperatūra virš ribos“);

lcd.setCursor (0, 1);

lcd.print („Sumažinti temperatūrą“);

}

Jei ne, siunčiate dabartinę temperatūros vertę į LCD ir rodote, kad temperatūra yra kontroliuojama.

Kitas

{noTone (garsinis signalas);

lcd.clear ();

lcd.print („Temperatūra kontroliuojama“);

lcd.setCursor (0, 1);

lcd.print („Temp =“);

lcd.print (cel);

lcd.print („degC“);

}

Su „Buzzer“susijusios funkcijos

tonas (garsinis signalas, 1000) - ši funkcija siųs 1 khz signalą į kaištį, pavadintą „buzzer“, kuris yra apibrėžtas kaip 6 kaištis, o magnetinis garsinis signalas prijungtas prie 6. kaiščio. Taigi skambėjimas nustos

Funkcijos, susijusios su temperatūros jutikliu

Temperatūros skaitymo analoginės vertės konvertavimas į deg C vertę atliekamas naudojant perdavimo funkciją, kurią galima rasti AD22100 duomenų lape, kaip parašyta žemiau.

Vout = (V +/5 V) × (1,375 V + 22,5 mV/° C × TA) ir ta pati vertė spausdinama LCD ekrane.

5 žingsnis: „Instructables“demonstracija

Kai programa bus sudaryta ir įkelta į „Arduino UNO“lentą

pabandykime padidinti temperatūrą, kurią nustato temperatūros jutiklis AD22100, ir mėgaukitės namų automatikos sistema.

Norėdami padidinti jutiklio temperatūrą, aš jį liečiu su lituokliu, kurį galima įsigyti laboratorijoje.

Demo galite pasižiūrėti čia..

Namų automatikos sistemos demonstracija

Rekomenduojamas: