Мазмұны:

Үйдегі автоматика: температура шекті мәннен жоғары болғанда дабыл мен дисплей экранында: 5 қадам
Үйдегі автоматика: температура шекті мәннен жоғары болғанда дабыл мен дисплей экранында: 5 қадам

Бейне: Үйдегі автоматика: температура шекті мәннен жоғары болғанда дабыл мен дисплей экранында: 5 қадам

Бейне: Үйдегі автоматика: температура шекті мәннен жоғары болғанда дабыл мен дисплей экранында: 5 қадам
Бейне: Почему котёл не набирает температуру [11 причин] 2024, Шілде
Anonim
Үйдегі автоматика: температура шекті мәннен жоғары болған кезде дабыл мен дисплейде дыбыс шығарады
Үйдегі автоматика: температура шекті мәннен жоғары болған кезде дабыл мен дисплейде дыбыс шығарады

Бұл блогта температура бағдарламаланған шекті мәннен асқан кезде дабыл басталатын үй автоматтандыру жүйесін қалай жасау керектігі көрсетіледі. Ол бөлменің ағымдағы температурасын СКД -да және температура шекті мәннен жоғары болғанда қажетті әрекетті (мысалы: Температураны төмендету) көрсете береді. Бұл оқулықта мен Analog Devices және AG-1005G Buzzer шығаратын AD22100 температура сенсорын қолданамын. AD22100 - сигналдың кондиционері бар кернеудің шығыс температурасы сенсоры

1 -қадам: бөлшектер

Бұл бұзылмайтын жұмысты бастамас бұрын сізге бұл бөлшектер қажет

1. Arduino UNO басқармасы

2. СКД дисплей (16x2)

3. Зумер - 2 істікшелі (AC -1005G)

4. Температура сенсоры - 3 істікшелі (AD22100)

2 -қадам: Әр түрлі бөліктерді Arduino UNO -мен байланыстыру

Ардуино UNO тақтасы бар СКД қосылымы

LCD RS түйреуіші (4 түйреуіш) Arduino тақтасының 7 түйрегіші бар

СКД Arduino тақтасының 8 түйреуішімен түйреуішті (6 -түйреуішті) қосыңыз

LCD D4 түйреуіші (Pin 11) Arduino тақтасының 9 түйреуішімен

LCD D5 түйреуіші (12 -түйреуіш) Arduino тақтасының 10 -штыры бар

LCD D6 түйреуіші (түйреуіш 13) Arduino тақтасының 11 түйреуіші бар

LCD D7 түйреуіші (14 түйреуіш) Arduino тақтасының 12 түйреуішімен

+5v (Pot Pin 1) мен GND (Pot Pin 3) үшін 10 KΩ Pot қосыңыз, Кәстрөлдің ортаңғы түйреуішін (2 -ші түйреуіш) LCD V0 түйреуішіне (түйреуіш 3) қосыңыз.

LCD VDD түйреуіші (2 -түйреуіш) және Arduino тақтасында +5 вольтты СК -түйреуіш (15 -түйреуіш).

LCD VSS түйреуіші (1 -түйреуіш) және LCD K түйреуіші (16 -түйреуіш) Arduino тақтасында GND бар.

AD22100 Temp Sensor Arduino UNO тақтасы арқылы қосылады

AD22100 1 (V +) түйреуіші Arduino тақтасындағы +5 в қосылуы керек.

AD22100 2 (Vo) штыры Arduino тақтасындағы A1 түйреуішке қосылуы керек.

AD22100 3 -ші пині (GND) Arduino тақтасындағы GND -ге қосылуы керек

Buzzer (AC-1005G) Arduino UNO тақтасымен байланыс

Arduino тақтасының 6 -шы PWM шығысы Buzzer -дің +ve кірісіне қосылуы керек.

Arduino тақтасының GND сигналы Buzzer -ve кірісімен қосылуы керек

3 -қадам: Arduino кодтары

Оны құрастырыңыз және Arduino тақтасына жүктеңіз және үйдегі автоматтандыру жүйесінің демонстрациясын қараңыз

// Бағдарлама осы жерден басталады

int val;

int tempPin = A1;

int buzzer = 6;

#қосу LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

жарамсыз орнату () {

// бір рет іске қосу үшін орнату кодын осында қойыңыз:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (дыбыстық сигнал, OUTPUT);

}

void loop () {// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз:

val = analogRead (tempPin); // AD22100 A1 түйреуішіне қосылған

/*

*25C үшін val 900 болады, бұл дегеніміз

* 900 1.9375 v сәйкес келеді

* Тасымалдау функциясы (V +/5) * (1.375 + 22.5 мв/градС * 25 градус), * 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 ();

егер (cel> 26) {

дыбыс (дыбыстық сигнал, 1000);

lcd.clear ();

lcd.print («Температура шектен жоғары»);

lcd.setCursor (0, 1);

lcd.print («Температураны төмендету»);

}

басқа

{noTone (дыбыстық сигнал);

lcd.clear ();

lcd.print («Температура бақылауда»);

lcd.setCursor (0, 1);

lcd.print («Temp =»);

lcd.print (cel);

lcd.print («degC»);

}

кешіктіру (500);

}

// Бағдарлама осында аяқталады

4 -қадам: Бағдарламаны егжей -тегжейлі түсіну

Мен кодтың бірнеше бөлігін түсіндіруге тырысамын.

If/else операторына байланысты функциялар

Егер температура шекті мәннен жоғары болса, мен сигналды сигналға жіберемін және кодтың төменгі бөлігіндегі температураны төмендету үшін СКД дисплейінде көрсетемін.

егер (cel> 26)

{тон (дыбыстық сигнал, 1000);

lcd.clear ();

lcd.print («Температура шектен жоғары»);

lcd.setCursor (0, 1);

lcd.print («Температураны төмендету»);

}

Олай болмаған жағдайда, ағымдағы температураның мәнін СКД -ге жіберу және оның температурасын көрсету бақылауда болады.

басқа

{noTone (дыбыстық сигнал);

lcd.clear ();

lcd.print («Температура бақылауда»);

lcd.setCursor (0, 1);

lcd.print («Temp =»);

lcd.print (cel);

lcd.print («degC»);

}

Buzzer -ге байланысты функциялар

тон (дыбыстық сигнал, 1000) - бұл функция 6 кнопка ретінде анықталатын сигналға 1 кГц сигналын жібереді, ал магниттік дыбыстық сигнал 6 түйреуішке қосылады. Осылайша, қоңырау тоқтайды

Температура сенсорына байланысты функциялар

Температураны оқудың аналогтық мәнін C градустық мәніне түрлендіру төмендегідей AD22100 деректер кестесінен табуға болатын тасымалдау функциясы арқылы жүзеге асады.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) және сол мән СКД дисплейінде басылады.

5 -қадам: нұсқаулықтардың демонстрациясы

Бағдарлама құрастырылып, Arduino UNO тақтасына жүктелгеннен кейін

AD22100 температура сенсоры арқылы сезілетін температураны жоғарылатуға және үйдегі автоматтандыру жүйесінен ләззат алуға тырысайық.

Датчиктің температурасын жоғарылату үшін мен оны зертханада бар дәнекерлегішпен ұстаймын.

Сіз демонстрацияны мына жерден қарай аласыз.

Үйдегі автоматтандыру жүйесінің демонстрациясы

Ұсынылған: