Звук тревоги при превышении температуры на Arduino
В этом проекте реализована система оповещения с использованием сенсора температуры LM35 и зуммера на базе Arduino. При превышении заданного порога температуры (по умолчанию 30 градусов Цельсия), зуммер издает звуковой сигнал, напоминающий сирену. Частота звука плавно изменяется вверх и вниз, создавая предупреждающий эффект. Эта система полезна для мониторинга температуры и предупреждения о перегреве в различных приложениях.
Этот проект демонстрирует, как использовать сенсор температуры LM35 для мониторинга температуры окружающей среды и активации звукового сигнала при превышении порогового значения температуры. В данном примере, если температура превышает 30 градусов Цельсия (значение можно изменить), зуммер издает звуковой сигнал, похожий на сирену.
Необходимые компоненты
Для реализации проекта потребуются следующие компоненты:
Arduino Uno
Сенсор температуры LM35
Зуммер
Соединительные провода
Подключение компонентов
Сенсор температуры LM35:
VCC подключаем к 5V на Arduino.
GND подключаем к GND на Arduino.
Выход подключаем к аналоговому пину A0 на Arduino.
Зуммер:
Плюсовой вывод зуммера подключаем к цифровому пину 10 на Arduino.
Минусовой вывод зуммера подключаем к GND на Arduino.

Код программы
Ниже приведен код, который нужно загрузить в Arduino для работы системы:
#define Buzzer 10 // пин к которому подключен зуммер
int temp; // освобождаем память для переменной "temp"
float grad; // освобождаем память для переменной "grad"
void setup() {
pinMode(Buzzer, OUTPUT);
pinMode(A0, INPUT); // сенсор LM35 подключим к аналоговому входу A0
Serial.begin(9600); // подключаем монитор порта
}
void loop() {
temp = analogRead(A0); // переменная находится в интервале 0 - 1023
grad = ( temp / 1023.0 ) * 5.0 * 1000 / 10; // формулу можно изменять
Serial.println(grad);
if (grad > 30) { // можно изменить на нужную вам температуру
// Нарастание частоты звука
for (int f = 5; f <= 800; f++) {
tone(Buzzer, f, 100); // Устанавливаем частоту зуммера
delay(5); // Задержка для плавного изменения частоты
}
temp = analogRead(A0); // переменная находится в интервале 0 - 1023
grad = ( temp / 1023.0 ) * 5.0 * 1000 / 10; // формулу можно изменять
Serial.println(grad);
// Убывание частоты звука
for (int f = 800; f >= 5; f--) {
tone(Buzzer, f, 100); // Устанавливаем частоту зуммера
delay(5); // Задержка для плавного изменения частоты
}
noTone(Buzzer);
}
}
Объяснение кода
Инициализация переменных и настроек:
#define Buzzer 10
задает пин, к которому подключен зуммер.int temp
используется для хранения значения, считанного с аналогового входа.float grad
используется для хранения значения температуры в градусах Цельсия.
Функция setup():
pinMode(Buzzer, OUTPUT);
устанавливает пин для подключения зуммера как выход.pinMode(A0, INPUT);
устанавливает пин A0 как вход для подключения сенсора температуры.Serial.begin(9600);
инициализирует монитор порта для вывода данных.
Функция loop():
temp = analogRead(A0);
считывает значение с сенсора температуры.grad = (temp / 1023.0) * 5.0 * 100;
преобразует считанное значение в температуру в градусах Цельсия.Serial.println(grad);
выводит значение температуры на монитор порта.Если температура превышает 30 градусов (
if (grad > 30)
), зуммер начинает издавать звук с изменяющейся частотой:Нарастание частоты звука: Цикл
for
увеличивает частоту звука от 5 до 800 Гц, вызывая функциюtone(Buzzer, f, 100)
для установки частоты зуммера с задержкой в 5 миллисекунд для плавного изменения частоты.Обновление значения температуры: Повторное считывание значения температуры и вывод его на монитор порта.
Убывание частоты звука: Цикл
for
уменьшает частоту звука от 800 до 5 Гц, вызывая функциюtone(Buzzer, f, 100)
для установки частоты зуммера с задержкой в 5 миллисекунд для плавного изменения частоты.Функция
noTone(Buzzer)
отключает зуммер.
Заключение
Этот проект демонстрирует, как использовать сенсор температуры и зуммер для создания системы оповещения на базе Arduino. При превышении заданной температуры зуммер издает звуковой сигнал, напоминающий сирену, предупреждая пользователя о повышенной температуре. Такой проект может быть полезен в различных приложениях, включая системы мониторинга температуры и предупреждения о перегреве.