РадиоКот :: Простые умные часы
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: ЧасыДобавить тег

Простые умные часы

Автор: axillent
Опубликовано 11.09.2013
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2013!"

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

Сами часы основаны на давно известных простых конструкциях часов на МК типа atmega8 где для отображения информации используется семи-сегментный индикатор с программной динамической индикацией, а в качестве источника хода часов - часовой кварцевый генератор. Основа очень похожа на часы из статьи многоуважаемого Hertz.

Что же побудило меня взяться за "еще одну" конструкцию? Буквально несколько идей которые отличают мои часы от опубликованных ранее. Итак, в техническое задание были включены следующие требования:

  • максимально простая схемотехника - было решено отказаться от специализированных микросхем типа DS1307 с часами реального времени и от микросхем типа MAX7219 - драйвера семи-сегментного дисплея. Правда некоторое усложнение в схеме есть - чтобы запитать правильно четыре дюймовые цифры потребовалось усилить выходы МК при помощи транзисторных  PNP сборок по цепи общих анодов и микросхемой ULN2803 по цепи катодов.
  • полное отсутствие привычных органов управления. Никаких кнопок - часами не возможно управлять привычным образом. Это конечно не было самоцелью - целью стало то, чтобы этими часами и не нужно было управлять! Пусть они сами позаботятся о том, чтобы всегда снабжать домочадцев самым свежим временем. Я уже описывал в статье про концепцию о механизме синхронизации часов и о способе управления параметрами в EEPROM через браузер - вот именно этот механизм и станет основой управления новыми часами. Меняем кнопки на радио-модуль с чипом NRF24L01.

Собственно из основных требований все, иначе часы нельзя было бы назвать простыми)

Но по ходу разработки не удалось устоять от добавления еще нескольких фишек:

  • программный ШИМ с 16-ю уровнями яркости, влияет как на яркость самих цифр так и на яркость мигающих точек между парами цифр, собранных на SMD светодиодах.
  • чтобы ШИМ не пылился без дела в конструкцию был добавлен датчик освещенности на фото-резисторе. Режимом его работы можно управлять через WEB меняя два EEPROM параметра - часы могут снижать яркость с уменьшением внешней освещенности при этом могут или полностью отключаться в темноте либо оставлять заданную минимальную яркость.
  • конечно же термометр! какой кот обходится без термометра тут и там?
  • часы могу отображать собственно время, дату, температуру и освещенность. Через WEB браузер можно управлять как длительностью отображения так и отключать по отдельности отображения даты, температуры и освещенности оставляя только часы.
  • температура доступна через WEB браузер.

Практически все. Для простых часов большего и не нужно. Осталось продемонстрировать схему, фото и видео. Приступим.

Схема, основные комментарии по ней даны выше. Питание всего устройства осуществляется от внешнего источника на 5в. Схема содержит в себе стабилизатор на 3.3В. Такой вариант выбран потому, что напряжение порядка 3.3В требуется для радио-модуля, а с другой стороны - внешние источники питания на 5В очень распространены, подойдет любая недорогая USB зарядка с током до 500мА. Три светодиода на схеме имеют такое назначение - два оранжевых под цвет цифр нужны для двух мигающих точек между показаниями часов и минут. Один голубой расположен между ними и используется для отображения (мигания) состояния работы с радио-модулем.

 

Печатная плата сделана компактно так, почти все компоненты в исполнении SMD и располагаются снизу платы в то время как сверху большую часть платы занимают семи-сегментные индикаторы, радио-модуль, разъем питания, датчик температуры и фоторезистор. В приложении есть PDF подготовленные для ЛУТ.

 

В приложениях присутствует исходник основной программы кроме библиотек. Принцип построения моей библиотеки изложены в статьей по ссылке в начале этой статьи, там же были даны ссылки на внешние библиотеки. В состоянии концепта полный проект сюда не выкладываю, но готов ответить на форуме на вопросы по его работе. Немного о параметрах которыми можно управлять через WEB (их описание можно найти в исходном файле проекта на СИ):

  • lght_thr - целое число от 0 до 1023 (10 бит АЦП atmega8) определяют порог выше которого считается, что "совсем темно". Схема подключения фоторезистора такая, что при ярком освещении измеряется 0, при темном - большое число в несколько сотен. Если задать заведомо большое число - часы перестанут реагировать на изменение освещения.
  • lght_min, - целое число от 0 до 15 определяет минимальную интенсивность индикаторов при снижении внешней освещенности. Если задать 0, то в темноте часы будут гаснуть.
  • disp_clk, disp_dat, disp_tmp и disp_lgh - задают число в секундах (0-255) показа часов, даты, температуры и освещенности соответственно. Для всех параметров кроме часов установка нуля означает - не показывать.

Кроме того в приложении есть STL модели корпуса часов.

Часы пока без корпуса:

 

И наконец часы в корпусе, готовые к установке:

Короткое виде работы часов - в момент включения происходит синхронизация и так же можно увидеть как работает подстройка яркости под освещенность:


Файлы:
Архив ZIP


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

8 1 1

Эти статьи вам тоже могут пригодиться: