Orodha ya maudhui:

Uendeshaji wa Nyumbani: Piga Kengele na Onyesha kwenye LCD Wakati Joto Liko Juu ya Thamani ya Kizingiti: Hatua 5
Uendeshaji wa Nyumbani: Piga Kengele na Onyesha kwenye LCD Wakati Joto Liko Juu ya Thamani ya Kizingiti: Hatua 5

Video: Uendeshaji wa Nyumbani: Piga Kengele na Onyesha kwenye LCD Wakati Joto Liko Juu ya Thamani ya Kizingiti: Hatua 5

Video: Uendeshaji wa Nyumbani: Piga Kengele na Onyesha kwenye LCD Wakati Joto Liko Juu ya Thamani ya Kizingiti: Hatua 5
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Novemba
Anonim
Uendeshaji wa Nyumbani: Piga Kengele na Onyesha kwenye LCD Wakati Joto Liko Juu ya Thamani ya Kizingiti
Uendeshaji wa Nyumbani: Piga Kengele na Onyesha kwenye LCD Wakati Joto Liko Juu ya Thamani ya Kizingiti

Blogi hii itaonyesha jinsi ya kutengeneza Mfumo wa Kuendesha Nyumbani ambao utaanza kupiga kengele wakati wowote joto linafikia zaidi ya thamani iliyowekwa ya kizingiti. Itaendelea kuonyesha hali ya sasa ya chumba kwenye LCD na hatua inayohitajika (Kut: Punguza Muda) wakati temp inafikia zaidi ya thamani ya kizingiti. Katika mafunzo haya, ninatumia sensor ya temp ya AD22100 ambayo imetengenezwa na Vifaa vya Analog na AG-1005G Buzzer. AD22100 ni Sensor ya Joto la Pato la Voltage na Hali ya Ishara

Hatua ya 1: Sehemu

Unahitaji sehemu hizi na wewe kabla ya kuanza hii isiyoweza kuharibika kufanya kazi

1. Bodi ya Arduino UNO

Onyesho la LCD (16x2)

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

4. Sensor ya Muda - 3 Pin (AD22100)

Hatua ya 2: Uunganisho wa Sehemu tofauti na Arduino UNO

Uunganisho wa LCD na bodi ya Arduino UNO

Pini ya LCD RS (Pin 4) na Pin 7 ya Bodi ya Arduino

LCD Wezesha Pin (Pin 6) na Pin 8 ya Arduino Board

Pini ya LCD D4 (Pin 11) na Pin 9 ya Bodi ya Arduino

Pini ya LCD D5 (Pin 12) na Pin 10 ya Bodi ya Arduino

Pini ya LCD D6 (Pin 13) na Pin 11 ya Bodi ya Arduino

Pini ya LCD D7 (Pin 14) na Pin 12 ya Bodi ya Arduino

Ongeza sufuria ya 10 KΩ kwa + 5v (Pini ya sufuria 1) na GND (Pini ya sufuria 3), Unganisha Pini ya Kati ya Chungu (Pini ya 2) kwa LCD V0 Pin (Pin 3).

Pini ya LCD VDD (Pin 2) na LCD A Pin (Pin 15) na + 5v kwenye Bodi ya Arduino.

Pini ya LCD VSS (Pin 1) na LCD K Pin (Pin 16) na GND kwenye Bodi ya Arduino.

Uunganisho wa Sensorer ya Muda wa AD22100 na Bodi ya Arduino UNO

Pini 1 (V +) ya AD22100 inapaswa kushikamana na +5 v kwenye Bodi ya Arduino.

Pini 2 (Vo) ya AD22100 inapaswa kushikamana na Pin A1 kwenye Bodi ya Arduino.

Pini 3 (GND) ya AD22100 inapaswa kushikamana na GND kwenye Bodi ya Arduino

Uunganisho wa Buzzer (AC-1005G) na Bodi ya Arduino UNO

Pin 6 PWM pato la bodi ya Arduino inapaswa kushikamana na pembejeo ya Buzzer.

GND ya Bodi ya Arduino inapaswa kushikamana na -ve pembejeo ya Buzzer

Hatua ya 3: Nambari za Arduino

Kuikusanya na kuipakia kwenye Bodi ya Arduino na uangalie onyesho la Mfumo wa Kuendesha Nyumbani

// Programu inaanza hapa

int val;

int tempPin = A1;

buzzer ya ndani = 6;

# pamoja na LiquidCrystal LCD (7, 8, 9, 10, 11, 12);

usanidi batili () {

// weka nambari yako ya usanidi hapa, kukimbia mara moja:

lcd kuanza (16, 2);

lcd wazi ();

Serial. Kuanza (9600);

pinMode (buzzer, OUTPUT);

}

kitanzi batili () {// weka nambari yako kuu hapa, kuendesha mara kwa mara:

val = analogRead (tempPin); // AD22100 imeunganishwa kwenye Pin A1

/*

* Kwa 25C, val inakuja kama 900 hiyo inamaanisha

* 900 inalingana na 1.9375 v

* Kazi ya Uhamisho ni (V + / 5) * (1.375 + 22.5 mv / degC * 25 degC), * Soma Takwimu ya AD22100

*/

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

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

Printa ya serial (val);

Serial.println ();

Serial.print ("TEMPRATURE =");

Serial.print (cel), Serial.print ("* C");

Serial.println ();

ikiwa (cel> 26) {

sauti (buzzer, 1000);

lcd wazi ();

lcd.print ("Temp juu ya kizingiti");

lcd.setCursor (0, 1);

lcd.print ("Punguza Muda");

}

mwingine

{noTone (buzzer);

lcd wazi ();

lcd.print ("Temp under control");

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.print (cel);

lcd.print ("degC");

}

kuchelewesha (500);

}

// Programu inaishia hapa

Hatua ya 4: Kuelewa Mpango kwa undani

Nitajaribu kuelezea sehemu chache za nambari.

Kazi zinazohusiana na taarifa ya If / else

Ikiwa temp ni kubwa kuliko thamani ya kizingiti, ninatuma ishara kwa buzzer ili kupiga kengele na kuonyesha kwenye LCD ili kupunguza temp na sehemu ya chini ya nambari

ikiwa (cel> 26)

{sauti (buzzer, 1000);

lcd wazi ();

lcd.print ("Temp juu ya kizingiti");

lcd.setCursor (0, 1);

lcd.print ("Punguza Muda");

}

Ikiwa sivyo basi kutuma thamani ya sasa ya temp kwa LCD na kuonyesha kuwa temp inadhibiti.

mwingine

{noTone (buzzer);

lcd wazi ();

lcd.print ("Temp under control");

lcd.setCursor (0, 1);

lcd.print ("Temp =");

lcd.print (cel);

lcd.print ("degC");

}

Kazi zinazohusiana na Buzzer

toni (buzzer, 1000) - kazi hii itatuma ishara ya 1 khz kubandika buzzer inayojulikana kama Pin 6 na buzzer ya Magnetic imeunganishwa kwenye Pin 6.noTone (buzzer) - itaacha kutuma ishara 1 ya khz. Kwa hivyo, kupigia kutaacha

Kazi zinazohusiana na Sensor ya Temp

Ubadilishaji wa thamani ya Analog ya kusoma kwa muda hadi kiwango cha digrii C hufanywa kwa kutumia kazi ya kuhamisha ambayo inaweza kupatikana katika Jedwali la AD22100 kama ilivyoandikwa hapo chini.

Vout = (V + / 5 V) × (1.375 V + 22.5 mV / ° C × TA) na thamani hiyo hiyo imechapishwa kwenye onyesho la LCD.

Hatua ya 5: Maonyesho ya Maagizo

Mara baada ya mpango huo kukusanywa na kupakiwa kwenye bodi ya Arduino UNO

wacha tujaribu kuongeza hali ya muda na sensor ya temp AD22100 na kufurahiya mfumo wa Automation ya Nyumbani.

Kwa kuongeza muda wa sensorer, ninaigusa na chuma ya kutengeneza inayopatikana katika Lab.

Unaweza kuwa na kuangalia demo hapa..

Maonyesho ya Mfumo wa Kuendesha Nyumbani

Ilipendekeza: