Оглавление:
- Шаг 1. Соберите материалы
- Шаг 2: Установка макетов
- Шаг 3: Настройка ЖК-дисплея
- Шаг 4: Настройка пьезозуммера
- Шаг 5: Настройка датчика температуры DHT
- Шаг 6: Настройка RGB
- Шаг 7. Дополнительный корпус для 3D-печати
- Шаг 8: Код и файлы
- Шаг 9: Код Arduino
Видео: Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Это проект, сделанный студентами, который сочетает в себе функции ЖК-экрана, зуммера, 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
1. Установите датчик DHT на макетной плате, как показано выше.
2. Подключите первый контакт слева от датчика DHT (обозначенный VCC на схеме детали) к столбцу 5 В (красный) на макетной плате.
3. Подключите второй контакт слева от датчика DHT (помечены DATA на схеме детали) к порту A0 на Arduino UNO.
4. Подключите первый контакт справа от датчика DHT (обозначенный GND на схеме детали) к столбцу GND (синий) на макетной плате.
5. Просмотрите руководство и добавьте библиотеку dht.h, которая находится в конце руководства, в Arduino. (Это обязательно)
Шаг 6: Настройка 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-печати
1. Найдите руководство по 3D-печати.
2. Распечатайте прикрепленный ниже дизайн, сделанный в Autodesk Fusion 360 (файл.stl).
3. Соскребите лишний 3D-материал и разгладьте поверхность.
4. См. Рисунок выше, чтобы узнать, где разместить детали Arduino.
Шаг 8: Код и файлы
-Библиотека DHT.h прилагается. (UNZIP)
-Код с подробными комментариями прилагается, но он также находится на следующем шаге.
-Файл.stl для 3D-корпуса прилагается
-Электрическая схема снова прилагается. Обязательно обращайтесь к действующим инструкциям для ЖК-экрана и пьезозуммера, поскольку использовались разные компоненты.
Шаг 9: Код 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 секунды задержки
}}
Рекомендуемые:
Система предупреждения о звонке в коридоре: 4 шага
Система предупреждения о звонке в коридоре: в школе есть колокольчики, которые указывают, когда должна произойти смена класса. Они сначала звонят, чтобы указать, когда должен закончиться урок, а затем они звонят второй раз, чтобы указать, когда должен начаться следующий урок. Если ученик опаздывает, то у него обычно нет
Макей Макей - Система раннего предупреждения о сильном ветре: 5 шагов
Макей Макей - Система раннего предупреждения о сильном ветре: эта «система раннего предупреждения»; Задача дизайна будет дана группе студентов. Задача состоит в том, чтобы группа студентов (по двое или трое в группе) разработала систему, предупреждающую людей искать убежище от ветра, который становится опасным для вас
Беспроводная кнопка безопасности для безопасности ПЛК: 6 шагов (с изображениями)
Беспроводная кнопка безопасности для безопасности ПЛК: этот проект является моим доказательством концепции использования Интернета вещей и (в конечном итоге) робототехники для создания дополнительного уровня безопасности для опасных производственных объектов. Эта кнопка может использоваться для запуска или остановки нескольких процессов, включая управление сигналом
Система пожарной сигнализации с использованием Arduino [в нескольких простых шагах]: 3 шага
Система пожарной сигнализации с использованием Arduino [в нескольких простых шагах]: вы хотите создать простой и интересный проект с Arduino, который в то же время мог бы быть действительно полезным и потенциально спасающим жизнь? Если да, то вы попали в нужное место, чтобы научиться что-то новое и новаторское. В этом посте мы идем
HaptiGuard - Система предупреждения о боковом движении: 3 шага (с изображениями)
HaptiGuard - Система бокового предупреждения: быстрая и быстрая боковая система предупреждения как побочная идея Personal Photonics группы Media Computing в Аахене, финансируемой министерством образования и науки Германии. Всякий раз, когда к вам приходит что-то более близкое, чего вы не слышите (либо потому, что