Оглавление:

Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: 9 шагов
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: 9 шагов

Видео: Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: 9 шагов

Видео: Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: 9 шагов
Видео: БОКОВУШЕЧКА У ТУАЛЕТА в плацкарте 2024, Ноябрь
Anonim
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino

Это проект, сделанный студентами, который сочетает в себе функции ЖК-экрана, зуммера, RGB и датчика температуры DHT.

Текущая температура окружающей среды отображается и обновляется на ЖК-экране.

Сообщение, выводимое на ЖК-экран, информирует пользователя об уровне «пожарной опасности».

Экран тускнеет и мигает, чтобы предупредить пользователя об опасности.

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

RGB меняет цвет на зеленый, желтый, оранжевый и красный в зависимости от уровня текущего риска.

Можно поместить в корпус, напечатанный на 3D-принтере, для придания более профессионального вида.

Это решает реальную проблему: люди не знают, когда есть риск пожара, пока не станет слишком поздно.

Шаг 1. Соберите материалы

Собирать материалы
Собирать материалы
Собирать материалы
Собирать материалы
Собирать материалы
Собирать материалы

Материалы, использованные в этом проекте:

1x ЖК-дисплей

1x датчик температуры DHT_11

1x RGB

1x пьезо-пассивный зуммер 1,0 В

2x малых макетных платы

3 стандартных резистора

1x макет нормального размера

1x Arduino UNO

Bluetack для фиксации проводов на месте.

Ассортимент проводов с разным концом, как с открытым, так и с несимметричным концом.

Устройство для запуска кода

Доступ к 3D-принтеру, если вам нужна внешняя оболочка и более изысканный вид

Шаг 2: Установка макетов

Установка макетов
Установка макетов
Установка макетов
Установка макетов

1. Подключите оранжевый провод к контакту с надписью «GND» на плате Arduino и подключите его к отрицательной (синей) стороне макета. С этого момента, если нам нужно использовать GND для каких-либо внешних устройств, мы просто поместим их в тот же столбец, что и этот на макете.

2. Подключите красный провод к контакту с надписью «5V» на плате Arduino и подключите его к положительной (красной) стороне макета. С этого момента, если нам нужно использовать 5 В для любых внешних устройств, мы просто поместим их в тот же столбец, что и на макете.

Шаг 3: Настройка ЖК-дисплея

Настройка ЖК-дисплея
Настройка ЖК-дисплея
Настройка ЖК-дисплея
Настройка ЖК-дисплея
Настройка ЖК-дисплея
Настройка ЖК-дисплея

1. Переверните доску так, чтобы она была обращена вверх дном, чтобы все штыри были слева.

2. Подключите провод 5 сверху слева к верхнему ряду контактов и подключите его к контакту № 4 на Arduino UNO.

3. Подключите провод 6 из верхнего левого угла к верхнему ряду контактов и подключите его к контакту 5 на Arduino UNO.

4. Подключите провод 7 от верхнего левого угла к верхнему ряду контактов и подключите его к контакту 6 на Arduino UNO.

5. Подключите провод 8 сверху слева к верхнему ряду контактов и подключите его к контакту 7 на Arduino UNO.

6. Подключите провод 9 сверху слева к верхнему ряду контактов и подключите его к контакту 8 на Arduino UNO.

7. Подключите провод 10 сверху слева к верхнему ряду контактов и подключите его к контакту № 9 на Arduino UNO.

8. Подключите провод 3 снизу справа и подключите его к 5-вольтовому ряду на макетной плате.

9. Подключите провод 4 снизу справа и подключите его к GND Row на макетной плате.

СМОТРЕТЬ ИЗОБРАЖЕНИЯ, КАК ЦЕПНАЯ СХЕМА ПОКАЗЫВАЕТ РАЗНЫЕ ЖК-ДИАГРАММЫ

Шаг 4: Настройка пьезозуммера

Настройка пьезозуммера
Настройка пьезозуммера
Настройка пьезозуммера
Настройка пьезозуммера
Настройка пьезозуммера
Настройка пьезозуммера
Настройка пьезозуммера
Настройка пьезозуммера

1. Подключите провод от контакта GND зуммера к столбцу GND (синий) на макетной плате.

2. Подключите провод от контакта VCC зуммера к колонке 5V (красный) на макетной плате.

3. Подключите провод от контакта SIG на зуммере к контакту с номером «10» на плате Arduino UNO.

СМОТРЕТЬ ИЗОБРАЖЕНИЯ ВЫШЕ, КАК НА СХЕМЕ ЦЕПИ ПОКАЗЫВАЕТСЯ РАЗЛИЧНЫЙ ЗУММЕР

Шаг 5: Настройка датчика температуры DHT

Настройка датчика температуры DHT
Настройка датчика температуры DHT
Настройка датчика температуры DHT
Настройка датчика температуры DHT
Настройка датчика температуры DHT
Настройка датчика температуры DHT
Настройка датчика температуры DHT
Настройка датчика температуры DHT

1. Установите датчик DHT на макетной плате, как показано выше.

2. Подключите первый контакт слева от датчика DHT (обозначенный VCC на схеме детали) к столбцу 5 В (красный) на макетной плате.

3. Подключите второй контакт слева от датчика DHT (помечены DATA на схеме детали) к порту A0 на Arduino UNO.

4. Подключите первый контакт справа от датчика DHT (обозначенный GND на схеме детали) к столбцу GND (синий) на макетной плате.

5. Просмотрите руководство и добавьте библиотеку dht.h, которая находится в конце руководства, в Arduino. (Это обязательно)

Шаг 6: Настройка RGB

Настройка RGB
Настройка RGB
Настройка RGB
Настройка RGB
Настройка RGB
Настройка RGB
Настройка RGB
Настройка RGB

1. Поместите RGB на небольшую макетную плату, как показано выше, сделав акцент на второй ножке слева от RGB, чтобы она была на один слот ближе, чем три других.

2. Поместите стандартные резисторы на первый, третий и четвертый контакты. Оставьте место как минимум для еще одного провода (как показано выше).

3. Подключите провод позади резистора на левом контакте RGB к контакту с меткой 2 на Arduino UNO.

4. Подключите провод позади второй второй от левого вывода RGB к столбцу GND (синий) на макетной плате.

5. Подключите провод позади резистора на втором справа контакте RGB к контакту с меткой 1 на Arduino UNO.

6. Подключите провод позади резистора на правом контакте RGB к контакту с меткой 3 на Arduino UNO.

Шаг 7. Дополнительный корпус для 3D-печати

Дополнительный корпус для 3D-печати
Дополнительный корпус для 3D-печати
Дополнительный корпус для 3D-печати
Дополнительный корпус для 3D-печати
Дополнительный корпус для 3D-печати
Дополнительный корпус для 3D-печати

1. Найдите руководство по 3D-печати.

2. Распечатайте прикрепленный ниже дизайн, сделанный в Autodesk Fusion 360 (файл.stl).

3. Соскребите лишний 3D-материал и разгладьте поверхность.

4. См. Рисунок выше, чтобы узнать, где разместить детали Arduino.

Шаг 8: Код и файлы

Код и файлы
Код и файлы

-Библиотека DHT.h прилагается. (UNZIP)

-Код с подробными комментариями прилагается, но он также находится на следующем шаге.

-Файл.stl для 3D-корпуса прилагается

-Электрическая схема снова прилагается. Обязательно обращайтесь к действующим инструкциям для ЖК-экрана и пьезозуммера, поскольку использовались разные компоненты.

Шаг 9: Код Arduino

Код Arduino
Код Arduino
Код Arduino
Код Arduino

// ЖК-СИСТЕМА ПРЕДУПРЕЖДЕНИЯ ПОЖАРА // Считывает входные данные с вывода температуры DHT и, в зависимости от того, жарко он или нет, изменяет rgb и динамик, чтобы указать пользователю, существует ли опасность возгорания. // Также отображает температуру на ЖК-экране.

// НАСТРОЙКА DHT

#include // Включаем библиотеку DHT

#define dht_dpin A0 // Сообщает плате, что вывод DHT находится на аналоговом входе 0

dht DHT; // dht = DHT

// НАСТРОЙКА ЖИДКОГО КРИСТАЛЛА

#include // Включаем библиотеку Liquid Crystal

ЖК-дисплей LiquidCrystal (8, 9, 4, 5, 6, 7); // Сокращение до ЖК-дисплея / сообщает Arduino, какие порты занимает ЖК-дисплей

// ОПРЕДЕЛЕНИЕ RGB + ЗУММЕР

#define redpin 1 // Определяет redpin RGB в порту 1

#define greenpin 2 // Определяет greenpin RGB в порту 2

#define bluepin 3 // Определяет bluepin RGB в порту 3

#define buzzerpin 10 // Определяет buzzerpin в порту 10

// ПЕРЕМЕННАЯ / S

int temp = analogRead (DHT.температура); // Устанавливает целое число "temp", которое является значением из команды DHT.temperature

void setup () {

// ВЫХОД ВХОД

analogWrite (редпин, ВЫХОД); // Объявить / определить redpin как вывод

analogWrite (зеленый контакт, ВЫХОД); // Объявить / определить greenpin как Выход

analogWrite (bluepin, ВЫХОД); // Объявление / определение bluepin как вывода

pinMode (зуммер, ВЫХОД); // Объявить / определить buzzerpin как выход

// ЖК-ЭКРАН

lcd.begin (16, 2); // Определяем ЖК-экран как 16 столбцов и 2 строки}

void loop () {

// ЖК-КОД БЕЗ ВАРИАНТОВ

DHT.read11 (dht_dpin); // Также считываем ввод из dht_dpin (A0)

lcd.setCursor (0, 0); // Устанавливает курсор в столбец 0, строку 0

lcd.print («Это»); // На ЖК-экране пишет "Это"

lcd.print (DHT.температура); // Печатает значение DHT. Температуры с вывода DHT в столбце 0, строке 0

lcd.print (""); // Печатает пробел после температуры

lcd.print ((char) 223); // выводит знак градуса после температуры

lcd.print («C»); // Печатает букву "c" после знака градусов для обозначения Цельсия

// LCD МИГАЕТ

lcd.setCursor (0, 1); // Устанавливает курсор в столбец 0, строку 1

lcd.noDisplay ();

lcd.print («Нет опасности возгорания»); // Печатает "Нет шанса возгорания"

lcd.noDisplay (); // Выключает ЖК-дисплей (часть вспышки)

delay (1000); // Отключение на 1 секунду

ЖК дисплей(); // Включает ЖК-дисплей снова

delay (1000); // Остается на 1 секунду

// КОД RGB + ЗУММЕРА

analogWrite (редпин, 0); // Нет вывода с красного контакта

analogWrite (гринпин, 255); // 255 вывод из greenpin (Делает RGB зеленым)

analogWrite (bluepin, 0); // Нет вывода с синего пина

тон (гудок, 20, 20); // // Издает зуммер с частотой 20 герц в течение 0,02 секунды

// ЕСЛИ ТЕМП. 25-30

if ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd.clear (); // Очищает ЖК-экран

lcd.setCursor (0, 1); // Устанавливает курсор в столбец 0, строку 1

lcd.print («Небольшое предупреждение»); // Печатает "Small Alert" в столбце 0, строке 1

lcd.noDisplay (); // Выключает ЖК-дисплей (часть вспышки)

delay (1000); // Отключение на 1 секунду

ЖК дисплей(); // Включает ЖК-дисплей снова

delay (1000); // Остается на 1 секунду

analogWrite (редпин, 255); // 255 вывод из redpin (делает RGB желтым)

analogWrite (гринпин, 255); // 255 вывод из greenpin (Делает RGB желтым)

analogWrite (bluepin, 0); // Нет вывода с синего пина

тон (зуммер, 200, 100); // Издает звуковой сигнал с частотой 200 герц в течение 0,1 секунды

задержка (300); //.3 секунды задержки

} // ЕСЛИ ТЕМПЕРАТУРА 31–37 else if ((int (DHT.temperature) = 37.00)) {

lcd.clear (); // Очищает ЖК-экран

lcd.setCursor (0, 1); // Устанавливает курсор в столбец 0, строку 1

lcd.print («Среднее оповещение»); // Печатает "Среднее предупреждение" в столбце 0, строке 1

lcd.noDisplay (); // Выключает ЖК-дисплей (часть вспышки)

delay (500); // Не горит 0,5 секунды

ЖК дисплей(); // Включает ЖК-дисплей снова

delay (500); // Остается 0,5 секунды

analogWrite (редпин, 255); // 255 вывод из redpin (делает RGB оранжевым)

analogWrite (гринпин, 165); // вывод 165 из greenpin (делает RGB оранжевым)

analogWrite (bluepin, 0); // Нет вывода от bluepin

тон (зуммер, 500, 900); // Издает зуммер с частотой 500 герц в течение 0,9 секунды

задержка (300); //.3 секунды задержки

} // ЕСЛИ ТЕМП. 38-100

иначе if ((int (DHT.temperature) = 100.00)) {

lcd.clear (); // Очищает ЖК-экран

lcd.setCursor (0, 1); // Устанавливает курсор в столбец 0, строку 1

lcd.print («Позвонить 000»); // Печатает "Call 000" в столбце 0, строке 1

lcd.noDisplay (); // Выключает ЖК-дисплей (часть вспышки)

delay (250); // Не горит на 0,25 секунды

ЖК дисплей(); // Включает ЖК-дисплей снова

delay (250); // Остается 0,25 секунды

analogWrite (редпин, 255); // 255 вывод из redpin (делает RGB красным)

analogWrite (гринпин, 0); // Нет вывода от greenpin

analogWrite (bluepin, 0); // Нет вывода от bluepin

тон (зуммер, 1000, 900); // Издает сигнал зуммера с частотой 1000 герц в течение 0,9 секунды

задержка (300); //.3 секунды задержки

}}

Рекомендуемые: