Часы-будильник с метеостанцией (ATMEGA8, BMP-180, DHT-11, LED)

Описание работы.
Функции.
1. Часы с применением DS1307. Формат отображения ЧЧ.ММ.
2. Будильник.
3. Измерение влажности и температуры датчиком DHT11.
– Влажность:
• Диапазон измерения 20÷90%.
• Погрешность ±5%.
• Разрешающая способность 1%.
– Температура:
• Диапазон измерения 0÷50 оС.
• Погрешность ±2 оС.
• Разрешающая способность 1оС.
4. Измерение давления и температуры датчиком BMP-180.
– Давление:
• Диапазон измерения 225÷825 мм рт. ст.
• Погрешность ±1 мм рт. ст.
• Разрешающая способность 1 мм рт. ст.
– Температура:
• Диапазон измерения -40,0÷85,0 оС.
• Погрешность ±1 оС.
• Разрешающая способность 0,1оС.
5. Циклическая анимированная смена показаний.
6. Режим "кукушки". Ежечасный короткий звуковой сигнал. Если активирован и только в дневное время.
7. Озвучивание нажатия на кнопки. Короткий звуковой сигнал только в дневное время.
8. Сохранение настроек в энергонезависимой памяти микроконтроллера.
Настройка.
1. Вход в настройки и листание меню производится кнопкой MENU.
2. Переключение параметра для настройки в пределах одной страницы меню кнопкой SET.
3. Установка параметра кнопками PLUS/MINUS. Кнопки работают по одиночному нажатию, а при удержании производится ускоренная установка.
4. Устанавливаемый параметр мигает.
5. Через 10 сек от последнего нажатия на кнопки прибор перейдет в основной режим, настройки запишутся в память.
6. Страницы меню.
CLOC:
– сброс секунд.
– установка минут.
– установка часов.
– установка ежесуточной коррекции точности хода. В старшем разряде символ c. Диапазон установки ±25 сек.
ALAr:
– минуты срабатывания будильника.
– часы срабатывания будильника.
– активация будильника. В старшем разряде символ A. В младших On, если работа будильника разрешена, OF – если запрещена.
– активация режима "кукушки". В старших разрядах символы cu. В младших On, если работа "кукушки" разрешена, OF – если запрещена.
DiSP:
– продолжительность индикации времени. На индикаторе dxx. Диапазон установки 0 ÷ 99 сек. Если установлен 0, то параметр отображаться не будет.
– продолжительность индикации влажности. На индикаторе Hxx. Диапазон установки 0 ÷ 99 сек. Если установлен 0, то параметр отображаться не будет.
– продолжительность индикации температуры, измеренной датчиком влажности. На индикаторе tHxx. Диапазон установки 0 ÷ 99 сек. Если установлен 0, то параметр отображаться не будет.
– продолжительность индикации давления. На индикаторе Pxx. Диапазон установки 0 ÷ 99 сек. Если установлен 0, то параметр отображаться не будет.
– продолжительность индикации температуры, измеренной датчиком давления. На индикаторе tPxx. Диапазон установки 0 ÷ 99 сек. Если установлен 0, то параметр отображаться не будет.
– скорость анимации. В старшем разряде символ S. Диапазон установки 0 ÷ 99. Чем меньше величина, тем выше скорость.
LiGH:
• niGH- установки ночного режима.
– минуты включения ночного режима.
– часы включения ночного режима.
– яркость индикатора в ночном режиме. В старшем разряде символ n. Диапазон установки 0 ÷ 99. Яркость индикатора соответствует ночному режиму.
• dAY- установки дневного режима.
– минуты включения дневного режима.
– часы включения дневного режима.
– яркость индикатора в дневном режиме. В старшем разряде символ d. Диапазон установки 0 ÷ 99. Яркость индикатора соответствует дневному режиму.
Работа прибора.
1. В основном режиме происходит циклическая смена информации на индикаторе. Установлена следующая последовательность вывода: время – влажность (в старшем разряде символ H) – температура измеренная датчиком влажности – давление (в старшем разряде символ P) – температура измеренная датчиком давления. Если продолжительность отображения какого-либо параметра установлена в 0, то на индикатор он выводиться не будет.
2. Из основного режима можно переключить индикацию кнопками PLUS/MINUS.
3. В случае ошибки считывания данных с датчика DHT11 при индикации температуры и влажности на индикатор выводятся прочерки.
4. Если будильник активирован (см. настройки), при отображении времени в младшем разряде включена точка. В заданное время включается звуковой сигнал - ежесекундные двойные сигналы в течении одной минуты. Звуковой сигнал может быть досрочно отключен нажатием на любую кнопку. При срабатывании будильника на индикатор в течении 30 секунд выводится время.
5. Ежесуточно (в 0 часов 0 минут и 30 сек) производится цифровая коррекция времени.
Схема.
Особенности схемы.
1. Вся схема питается от источника стабилизированного напряжения +5V, за исключение датчика давления BMP-180. Для BMP-180 напряжение питания +3,3V.
2. Нумерация BMP-180 показана условно. Необходимо свериться с даташит на датчик.
* В Internet есть разная информация по поводу датчика давления BMP-180, есть и с питанием +5V. Поэтому уточняйте.
3. На схеме не показаны выводы питания для ATMEGA8, DS1307.
4. Тип индикатора (общий анод или катод) выбирается джампером. Если джампер установлен, то выбран индикатор с общим анодом.
5. На схеме показаны два индикатора, устанавливается только одни.
6. Пищалка должна быть со встроенным генератором. В зависимости от ее тока потребления, возможно понадобится установка усилителя (транзисторного ключа).
В архиве набор файлов: прошивка, проект в Proteus для симуляции, описание, FUSE для PONYPROG.
Для обсуждения создана тема в форуме.
---
Спасибо пользователю wolf2000 за тестирование и практическую реализацию проекта. В теме есть практические советы от wolf2000 по изготовлению данного прибора.
---
В ходе обсуждений и доработок в теме форума появилось несколько разных версий этого проекта.
По возможности обновленные материалы будут выкладываться здесь. Краткие описания в архивах
Благодарность studiotandem за подготовку материалов и тестирование прошивок.