Описание В основе этого будильника лежит микросхема часов реального времени, что позволяет ему работать от резервного источника питания при отсутствии основного.
Установленное время сигнала тревоги и режим работы сохраняются в энергонезависимой памяти микроконтроллера.
Режим отображения – 24 часа.
Содержит имитацию «тикания».
Время и режимы работы отображаются с помощью светодиодных индикаторов.
Принцип действия
Основой этих часов является микросхема DS1307 — часы реального времени, обменивающиеся информацией с контроллером управления через интерфейс I2C. Индикация времени осуществляется посредством 4 7-сегментных индикаторов, работающих в динамическом режиме.Ввод и настройка времени осуществляется с помощью 5 кнопок: «+ минуты», «+ часы», «установить», «будильник» и «сброс».
Звуковой сигнал будильника выводится через стандартный пьезоизлучатель и представляет собой сигнал частотой 1 кГц с секундными паузами.
В качестве управляющего микроконтроллера был выбран Atmega48 из-за его доступности и наличия на борту необходимой периферии (даже в избытке).
Часы реального времени DS1307 подключены к аппаратным выходам I2C управляющего микроконтроллера.
Для работы DS1307 в автономном режиме (в случае сбоя питания основного контроллера) в качестве резервного питания используется литиевая батарея напряжением 3 В, которой хватит на несколько лет из-за низкого энергопотребления чипа.
Рассмотрим подробнее управляющую программу: Программа работает по принципу флаг-таймера: все состояния и события представлены в виде соответствующих флагов, исполняющихся в прерываниях соответствующего таймера 1с, 1мс и 263,17мс.
В программе используются 2 аппаратных таймера.
Чип часов опрашивается и кнопки нажимаются с интервалом 263,17 мс.
Интервал 1 мс используется для генерации звукового сигнала звонка, а 1 с – для его модуляции.
Второй интервал также управляет миганием точки во 2-м разряде индикатора, разделяющей часы и минуты и также служащей образованием «тикания».
Давайте посмотрим на принципиальную схему часов.
Обозначения и номиналы:
S4 — Увеличение частоты
S3 – Увеличение минут
S2 – Установка
S1 - Включить будильник
S5 — Сброс
Р6-Р10 — 10к
R1-R5 — 510 Ом
Напряжение питания - 5 вольт.
Настройка и использование
Правильно собранные часы не требуют дополнительной регулировки.Вам просто нужно установить текущее время и будильник.
Установка текущего времени осуществляется следующим образом: 1) Кнопками S1 и S2 установить текущее время (точка между цифрами не мигает) 2) Запускаем часы кнопкой S3. Установка будильника: 1) Нажмите S3 и убедитесь, что точка в 1-й цифре загорелась.
2) Установите время звонка с помощью кнопок S1 и S2. 3) Включите звонок кнопкой S4. Дополнительные возможности: Включите тиканье – удерживайте S4 и нажимайте S2 до появления характерных звуков.
Выключается так же.
Отображение минут и секунд — удерживайте S4 и нажмите S1. Если затем нажать S3, секунды сбросятся на 00. Возврат – та же комбинация.
Приложение: Исходный код (на ассемблере)+шестнадцатеричный для микроконтроллера atmega48+модель в Протеусе .
Фото и видео часов
Часы собраны в корпусе из нерабочей «электроники».
Теги: #Сделай сам или Сделай сам #atmega #микроконтроллер #часы #часы #Atmel #будильник #микроконтроллеры avr
-
Фриланс И Коворкинг Под Пальмами
19 Dec, 24 -
Написание Правильного Манифеста Для Сайта
19 Dec, 24 -
Преподаем И Изучаем Unity3D В Калининграде
19 Dec, 24