Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом блоге будет продемонстрировано, как создать систему домашней автоматизации, которая будет подавать сигнал тревоги, когда температура превышает запрограммированное пороговое значение. Он будет продолжать отображать текущую температуру в комнате на ЖК-дисплее и необходимые действия (например: Уменьшение температуры), когда температура превышает пороговое значение. В этом руководстве я использую датчик температуры AD22100 производства Analog Devices и зуммер AG-1005G. AD22100 - это датчик температуры на выходе по напряжению с формированием сигнала
Шаг 1: Детали
Вам понадобятся эти детали с собой, прежде чем приступить к работе этого неразрушимого устройства.
1. Плата Arduino UNO
2. ЖК-дисплей (16x2)
3. Зуммер - 2 контакта (AC-1005G)
4. Датчик температуры - 3-контактный (AD22100)
Шаг 2: Подключение различных частей с помощью Arduino UNO
Подключение ЖК-дисплея к плате Arduino UNO
Вывод ЖК-дисплея RS (вывод 4) с выводом 7 платы Arduino
Контакт включения ЖК-дисплея (контакт 6) с контактом 8 платы Arduino
Вывод ЖК-дисплея D4 (вывод 11) с выводом 9 платы Arduino
Вывод ЖК-дисплея D5 (вывод 12) с выводом 10 платы Arduino
Вывод ЖК-дисплея D6 (вывод 13) с выводом 11 платы Arduino
Вывод ЖК-дисплея D7 (вывод 14) с выводом 12 платы Arduino
Добавьте потенциометр 10 кОм к + 5В (контакт потенциометра 1) и GND (контакт потенциометра 3), Подключите средний штифт горшка (контакт 2) к контакту V0 ЖК-дисплея (контакт 3).
Вывод LCD VDD (вывод 2) и вывод LCD A (вывод 15) с + 5 В на плате Arduino.
Вывод LCD VSS (вывод 1) и вывод LCD K (вывод 16) с GND на плате Arduino.
Подключение датчика температуры AD22100 к плате Arduino UNO
Контакт 1 (V +) AD22100 должен быть подключен к +5 В на плате Arduino.
Контакт 2 (Vo) AD22100 должен быть подключен к контакту A1 на плате Arduino.
Контакт 3 (GND) AD22100 должен быть подключен к GND на плате Arduino.
Зуммер (AC-1005G) Подключение к плате Arduino UNO
Вывод 6 PWM-выхода платы Arduino должен быть подключен к положительному входу зуммера.
GND платы Arduino должен быть подключен к -ve входу зуммера.
Шаг 3: коды Arduino
Скомпилируйте его и загрузите на плату Arduino и посмотрите демонстрацию системы домашней автоматизации
// Программа начинается здесь
int val;
int tempPin = A1;
int buzzer = 6;
#include LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
void setup () {
// поместите сюда свой установочный код, чтобы запустить его один раз:
lcd.begin (16, 2);
lcd.clear ();
Serial.begin (9600);
pinMode (зуммер, ВЫХОД);
}
void loop () {// поместите сюда ваш основной код, чтобы он запускался повторно:
val = analogRead (tempPin); // AD22100 подключен к выводу A1
/*
* Для 25C значение val равно 900, что означает
* 900 соответствует 1,9375 В
* Передаточная функция (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 («ТЕМПРАТУРА =«);
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 («Температура =«);
lcd.print (чел);
lcd.print («градус Цельсия»);
}
задержка (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 («Температура =«);
lcd.print (чел);
lcd.print («градус Цельсия»);
}
Функции, связанные с зуммером
тон (зуммер, 1000) - эта функция отправит сигнал 1 кгц на контакт с именем buzzer, который определен как контакт 6, а магнитный зуммер подключен к контакту 6. noTone (зуммер) - перестанет посылать сигнал 1 кгц. Значит, звонок прекратится
Функции, связанные с датчиком температуры
Преобразование аналогового значения показания температуры в значение в градусах Цельсия выполняется с помощью передаточной функции, которую можно найти в таблице данных AD22100, как написано ниже.
Vout = (В + / 5 В) × (1,375 В + 22,5 мВ / ° C × TA), и такое же значение отображается на ЖК-дисплее.
Шаг 5: демонстрация инструкций
После того, как программа скомпилирована и загружена на плату Arduino UNO
давайте попробуем увеличить температуру, измеряемую датчиком температуры AD22100, и насладимся системой домашней автоматизации.
Для увеличения температуры сенсора прикасаюсь к нему паяльником, доступным в лаборатории.
Вы можете посмотреть демо здесь..
Демонстрация системы домашней автоматизации