Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Часы с автоматической регулировкой яркости, сенсорными кнопками и т.д.

В данной статье описываются часы на микроконтроллере ATMega48PA со светодиодными индикаторами и множеством функций:

  • Автоматическая регулировка яркости в зависимости от освещенности.
  • Управление часами с помощью сенсорных кнопок.
  • Встроенный секундомер.
  • Встроенный таймер.
  • Встроенный будильник.
  • Индикатор дня года, от 1 до 365.
  • Отправка текущего времени по интерфейсу UART каждую минуту.
  • Меню настройки времени и даты.
  • Переключение между режимами ЧЧ:ММ и ММ:СС.
  • Анимация окончания суток, прорисовка нулей при переходе 23:59-00:00.
Общий вид

Общий вид

Часы представляют собой прямоугольный бокс и подставку, сделанные из пластика (поливинилхлорид). Все части корпуса вырезаны ножом и склеены секундным клеем. На передней части корпуса располагается тёмный светофильтр, отсеивающий часть красного света от индикаторов. На подставке располагаются три сенсорных кнопки. Каждая кнопка – это круг небольшого диаметра, вырезанный из медной фольги и приклеенный к основе клеем. На задней стороне располагаются: разъем для подключения адаптера питания и внешних устройств, и звуковое отверстие динамика. Сверху расположен фотоэлемент, реагирующий на изменение освещения. Индикаторами в часах являются семи сегментные светодиодные индикаторы, с типом подключения: общий катод. Всего в часах четыре индикатора, то есть одновременно можно выводить четыре цифры с дополнительными точками внизу. Часы работают от сетевого адаптера с выходным напряжением 5 вольт и минимальной силой тока не менее 150 мА.

При первом включении часы необходимо настроить. Для этого нужно нажать и держать 2 секунды среднюю кнопку (далее СК), часы перейдут в режим настройки. Затем необходимо настроить текущий час левой и правой кнопками (далее ЛК и ПК соответственно) и нажать СК. Так же нужно настроить минуты. Затем таким же образом нужно будет настроить текущий день и нажать СК (далее во всех дополнительных режимах будет использоваться такая же настройка цифр). Часы перейдут в главный режим ЧЧ:ММ (режим 0), то есть на индикаторах отображаются часы и минуты. Однократным нажатием на СК можно перейти в режим ММ:СС (режим 1) и обратно. Если в режиме 0 нажать на ЛК, то часы войдут в режим будильника. После настройки времени сигнала нужно нажать и держать 2 секунды ПК или ЛК. В назначенное время включится тоновый сигнал с частотой около 700 Гц, через 10 секунд сигнал выключится, и будильник автоматически деактивируется. Если в режиме 0 нажать ПК, то часы войдут в режим таймера. По умолчанию, таймер установлен на 5 минут. После настройки времени следует нажать и держать 2 секунды ПК или ЛК и таймер активируется. По истечении времени, так же, как и в случае с будильником, прозвенит тоновый сигнал и отключится через 10 секунд. Если в режиме 1 нажать ПК, то часы перейдут в режим секундомера. Нажатием ЛК секундомер запускается или останавливается, нажатием ПК секундомер сбрасывается. Если в режиме 1 нажать ЛК, то часы перейдут в режим даты, на индикаторах появится текущий день года. Для выхода из этого режима можно нажать любую кнопку. Также, из дополнительных режимов можно перейти в главный режим нажатием СК. Так как все дополнительные режимы являются параллельными, можно установить будильник, поставить таймер и запустить секундомер одновременно.

Яркость индикаторов меняется в зависимости от освещения, днем часы светят ярко, ночью тускло. Всего несколько градаций яркости, которые вычисляются на основе показаний фотодатчика.

В часах присутствует интерфейс UART, с помощью которого каждую минуту на внешние устройства (если таковые имеются) посылается 2 байта: байт часов с выставленным восьмым битом (например, если 15 часов, то байт равен 15+128=143), и байт минут. Восьмой бит при передачи часов используется для того, чтобы внешние устройства могли сразу определить, передается байт часов или байт минут. Можно подключать другие устройства на AVR и получать в них текущее время по UART.

3

Принципиальная схема часов

Каждую полночь (при переходе от 23:59 к 00:00) на индикаторах воспроизводится простая анимация в виде поочередной прорисовки нулей, после чего часы продолжают работать в штатном режиме.

2

Вид сзади

Фьюз-биты:

4

В прикрепленном файле: проект в Proteus, прошивка, исходник, печатная плата в SLayout.

Скачать

cxem.net

admin

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

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