Представляю вторую версию блока управления вентилятором для ванной, выполненный на микроконтроллере (МК) Atmega8, теперь с использованием цифрового датчика SHT10.
Тут читайте первую подробную статью.
Немного изменился внешний вид отображаемой информации
Добавилась информации о температуре, а в остальном функционал остался прежним, только его показаниям теперь больше доверия, напомню
Что может устройство:
В автоматическом режиме включать/выключать вентилятор по установленным в настройках порогам влажности, пороги включения/выключения выставляются раздельно.В ручном режиме можно включить/выключить вентилятор соответствующими кнопками. В обоих режимах осуществляется индикация, температуры, состояния вентилятора (Включен/Выключен), текущей влажности (%), режима работы (Ручной/Автомат).
Содержание статьи / Table Of Contents
Работает он по протоколу I2C, помимо влажности измеряет еще и температуру, использовать температуру для управления чего либо не стал, но показания вывел на дисплей.
↑ Схема
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
Тут стало еще проще, убралось все что касалось заряда и контроля емкостного датчика, вместо них цифровой датчик, резистор подтяжки, конденсатор по питанию. В принципе в программе нет привязки к частоте задающего генератора и она будет работать и с ранее используемым кварцем, но поскольку теперь нет никаких измерений связанных с временем особая точность не нужна, да и гонять МК на 12МГц просто так по моему тоже бессмысленно, поэтому отказался от внешнего кварца, использовав внутренний генератор на 8МГц.
↑ Программа
Тут тоже стало проще, теперь нет необходимости в какой либо калибровке, поэтому меню настроек сократилось до двух пунктов, порог включения и выключенияТеперь после подачи питания устройство сразу готово к работе, никакая калибровка не требуется, нужно лишь выставить желаемые пороги включения/выключения.
Подробно описывать работу с программой тут не буду, можно посмотреть в статье по версии 1, принцип управления остался тем же.
↑ Плата
Под новую схему переразвел и плату, однако делать ее заново так и не стал, решил подправить ту что есть.Если кто то повторял устройство и также будет дорабатывать старую плату, вот что нужно сделать
Убираем кварц и два конденсатора
Убираем 3 резистора и один конденсатор
Срезаем дорожки в трех местах, как показано красным, в одном месте ставим перемычку, показано синим, ставим конденсатор 100n и резистор 10кОм, подключаем датчик к указанным точкам, вот и все переделки.
Вот что получилось в итоге
Также добавил кнопку сброс, так на всякий случай, перепаивать под нее ничего не пришлось, земля и выход Rset МК уже есть на разьеме для программирования.
Еще один момент который стоит упомянуть, дип переключатели, раньше один использовался для сброса калибровки, второй для выбора типа дисплея, фирменный/левый. Теперь оба служат для выбора типа дисплея, программно вид дисплея выбирается двумя параметрами, изначально полагалось что видов дисплеев всего два фирменный и левый, но как показала практика, существует по крайней мере еще один вид, поэтому просто разнес управление этими двумя параметрами по разным переключателям, всего 4 комбинации, недолго перебрать под любой вид дисплея.
↑ Фьюзы
Вообще частоту работы МК можно ставить в принципе любую, я выбрал 8 МГц, под эту частоту фьюзы выставляются вот такФьюзы указаны при прошивке из CodeVisionAVR
↑ Файлы
Для желающих повторить сию конструкцию в архиве схема (в формате DipTrace и jpg), платы (в формате DipTrace), прошивка по отдельности ind.hex, ind.epp и одним файлом ind.rom. Еще раз напомню прошивать EPROM и FLASH лучше по отдельности, у меня бывали проблемы при попытке прошивать все вместе, хотя может быть это только у меня.🎁files.rar 861 Kb ⇣ 207
Возникшие вопросы можно задать тут или на форуме.
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.