Съдържание:

Домашна автоматизация: Аларма и дисплей на LCD, когато температурата е над праговата стойност: 5 стъпки
Домашна автоматизация: Аларма и дисплей на LCD, когато температурата е над праговата стойност: 5 стъпки

Видео: Домашна автоматизация: Аларма и дисплей на LCD, когато температурата е над праговата стойност: 5 стъпки

Видео: Домашна автоматизация: Аларма и дисплей на LCD, когато температурата е над праговата стойност: 5 стъпки
Видео: Zigbee датчик температуры влажности и освещенности с LCD экраном LCZ030, интеграция в Home Assistant 2024, Ноември
Anonim
Домашна автоматизация: Аларма и дисплей на LCD, когато температурата е над праговата стойност
Домашна автоматизация: Аларма и дисплей на LCD, когато температурата е над праговата стойност

Този блог ще демонстрира как да направите система за домашна автоматизация, която ще започне да подава аларма, когато температурата достигне повече от програмираната прагова стойност. Той ще продължи да показва текущата температура на помещението на LCD и необходимите действия (напр.: Намаляване на температурата), когато температурата достигне повече от праговата стойност. В този урок използвам сензор за температура AD22100, който се произвежда от Analog Devices и AG-1005G Buzzer. AD22100 е сензор за температура на изхода на напрежението със кондициониране на сигнала

Стъпка 1: Части

Нуждаете се от тези части със себе си, преди да започнете тази неразрушима работа

1. Arduino UNO Board

2. LCD дисплей (16x2)

3. Звуков сигнал - 2 пинов (AC -1005G)

4. Температурен сензор - 3 пинов (AD22100)

Стъпка 2: Свързване на различните части с Arduino UNO

LCD връзка с Arduino UNO платка

LCD RS Pin (Pin 4) с Pin 7 на Arduino Board

LCD Enable Pin (Pin 6) с Pin 8 на Arduino Board

LCD D4 Pin (Pin 11) с Pin 9 на Arduino Board

LCD D5 Pin (Pin 12) с Pin 10 на Arduino Board

LCD D6 Pin (Pin 13) с Pin 11 на Arduino Board

LCD D7 Pin (Pin 14) с Pin 12 на Arduino Board

Добавете 10 KΩ пот към +5v (Pin Pin 1) и GND (Pot Pin 3), Свържете средния щифт на гърнето (Pin Pin 2) към LCD V0 Pin (Pin 3).

LCD VDD Pin (Pin 2) и LCD A Pin (Pin 15) с +5v на Arduino Board.

LCD VSS Pin (Pin 1) и LCD K Pin (Pin 16) с GND на Arduino Board.

AD22100 Температурен сензор връзка с Arduino UNO Board

Пин 1 (V +) на AD22100 трябва да бъде свързан към +5 v на Arduino Board.

Pin 2 (Vo) на AD22100 трябва да бъде свързан към Pin A1 на Arduino Board.

Пин 3 (GND) на AD22100 трябва да бъде свързан към GND на Arduino Board

Звуков сигнал (AC-1005G) Връзка с Arduino UNO Board

ПИН 6 изход на PWM на платката Arduino трябва да бъде свързан към +ve входа на зумера.

GND на Arduino Board трябва да бъде свързан с -ve вход на зумера

Стъпка 3: Кодове на Arduino

Компилирайте го и го качете на Arduino Board и наблюдавайте демонстрацията на системата за домашна автоматизация

// Програмата започва тук

int val;

int tempPin = A1;

int зумер = 6;

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

void setup () {

// поставете кода за настройка тук, за да стартирате веднъж:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (зумер, OUTPUT);

}

void loop () {// поставете основния си код тук, за да се изпълнява многократно:

val = analogRead (tempPin); // AD22100 е свързан към Pin A1

/*

*За 25C val е 900, което означава

* 900 съответства на 1.9375 v

* Функцията за прехвърляне е (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * Прочетете листа с данни на AD22100

*/

поплавък 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 ();

if (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

Ако температурата е по -голяма от праговата стойност, изпращам сигнал до зумера, за да прозвучи аларма и показва на LCD, за да намали температурата с долния раздел на кода

ако (cel> 26)

{тон (зумер, 1000);

lcd.clear ();

lcd.print („Температура над прага“);

lcd.setCursor (0, 1);

lcd.print („Намаляване на температурата“);

}

Ако не, тогава изпращането на текущата стойност на temp към LCD и показването на тази температура е под контрол.

иначе

{noTone (зумер);

lcd.clear ();

lcd.print („Температура под контрол“);

lcd.setCursor (0, 1);

lcd.print („Temp =“);

lcd.print (cel);

lcd.print („degC“);

}

Функции, свързани със зумера

тон (зумер, 1000) - тази функция ще изпрати 1 khz сигнал към пина с име на зумер, който е дефиниран като Pin 6 и магнитният зумер е свързан към Pin 6. noTone (зумер) - ще спре да изпраща 1 khz сигнал. Следователно звъненето ще спре

Функции, свързани с сензор за температура

Преобразуването на аналоговата стойност на отчитането на темпото в стойността на градуса C се извършва с помощта на трансферна функция, която може да бъде намерена в листа с данни AD22100, както е написано по -долу.

Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) и същата стойност се отпечатва на LCD дисплея.

Стъпка 5: Демонстрация на инструкторите

След като програмата бъде компилирана и качена на дъската на Arduino UNO

нека се опитаме да увеличим температурата, засечена от сензора за температура AD22100 и да се насладим на системата за домашна автоматизация.

За да увелича температурата на сензора, го докосвам с поялник, наличен в Lab.

Можете да разгледате демото тук..

Демонстрация на системата за домашна автоматизация

Препоръчано: