Управление кухонной вытяжкой (Arduino)

У многих на кухне, над плитой, НЕ работает вытяжка. И только потому, что ее постоянно забывают включать при готовке. Моя вытяжка не исключение. Решил это дело поправить.
Для решения задачи решил использовать Arduino Pro Mini и потратить минимум времени.
Что понадобилось:

  • Arduino Pro Mini (в принципе любую плату можно, просто Mini самая дешевая);
  • 1 канальное реле, 5В;
  • Датчик температуры, аля DS18B20 и резистор к нему 4.7КОм;
  • Блок питания, 5В. Я использовал компактный зарядник от телефона с USB.
  • Провода

Вешаем датчик температуры на 2 цифровой порт, реле на 3ий. Схем подключения датчика температуры в интернете тьма тьмущая.

Скетч:

Логика такая:

  1. При запуске определяется адрес датчика температуры, после чего переходим в рабочий режим (5 вспышек индикатора);
  2. Считаем сколько раз подряд поднялась температура, с шагом 1*С;
  3. Если с момента предыдущего повышения прошло более 60 секунд, то начинаем считать повышения сначала. Это необходимо для того чтобы отсечь простое потепление в квартире;
  4. Если насчитали 5 повышений подряд (или температура выше +50*С) – включаем реле (digitalWrite(3, HIGH));
  5. Ждем аналогично понижения (3х кратного температуры). Пока не стал делать отсечку предыдущих показаний, т.к. все работает как надо.
  6. Если насчитали 3 и более понижений (или температура ниже +40*С), то выключаем вытяжку.

Не забудьте вывести резервную кнопку отключения, мало ли. Я использовал кнопку подсветки для отключения моей платы.

PS. Для вытяжки под потолком разумнее использовать датчик влажности + датчик температуры. Т.к. если что-то долго варится и выпаривается то поднимается не столько температура, сколько влажность и на окнах, особенно зимой, конденсата много.

PS 2: Чтобы более полно использовать плату можно повесить датчик CO/CH.

UPD: Тестирование в реальной жизни выявило 2 слабых места в алгоритме:

  1. Если включить комфорку и пойти мыть кастрюлю, то датчик сработает, а когда поставить кастрюлю с водой на огонь, то температура падает и вытяжка выключается.
  2. Если запущены 2 конфорки, датчик срабатывает, но при выключении одной выключается вытяжка.

Судя по всему, придется усложнить схему для сохранения простоты алгоритма: добавить еще один датчик температуры, чтобы мерить температуру “за бортом” и если разрыв больше 10*С, к примеру, то включать вытяжку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.