Каталог
Звук тревоги при превышении температуры на Arduino

Звук тревоги при превышении температуры на Arduino

Этот проект демонстрирует, как использовать сенсор температуры LM35 для мониторинга температуры окружающей среды и активации звукового сигнала при превышении порогового значения температуры. В данном примере, если температура превышает 30 градусов Цельсия (значение можно изменить), зуммер издает звуковой сигнал, похожий на сирену.

Необходимые компоненты

Для реализации проекта потребуются следующие компоненты:

  • Arduino Uno
  • Сенсор температуры LM35
  • Зуммер
  • Соединительные провода

Подключение компонентов

  1. Сенсор температуры LM35:

    • VCC подключаем к 5V на Arduino.
    • GND подключаем к GND на Arduino.
    • Выход подключаем к аналоговому пину A0 на Arduino.
  2. Зуммер:

    • Плюсовой вывод зуммера подключаем к цифровому пину 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);
  }
}

Объяснение кода

  1. Инициализация переменных и настроек:

    • #define Buzzer 10 задает пин, к которому подключен зуммер.
    • int temp используется для хранения значения, считанного с аналогового входа.
    • float grad используется для хранения значения температуры в градусах Цельсия.
  2. Функция setup():

    • pinMode(Buzzer, OUTPUT); устанавливает пин для подключения зуммера как выход.
    • pinMode(A0, INPUT); устанавливает пин A0 как вход для подключения сенсора температуры.
    • Serial.begin(9600); инициализирует монитор порта для вывода данных.
  3. Функция 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. При превышении заданной температуры зуммер издает звуковой сигнал, напоминающий сирену, предупреждая пользователя о повышенной температуре. Такой проект может быть полезен в различных приложениях, включая системы мониторинга температуры и предупреждения о перегреве.

 
Комментарии
Отзывов еще никто не оставлял
Товары упомянутые в статье
В наличии
Предзаказ
арт. 428
Аналоговый датчик LM35DZ предназначен для измерения температуры в диапазоне от...
290 тг
Нет в наличии
Предзаказ
арт.
80 тг
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином