Часы с датчиком положения и температуры своими руками

Привет всем читателям и почитателям сайта Радиосхемы! Сегодня хочу поделиться с вами очередной простенькой конструкцией «Часы-термометр». Немного предыстории: вечером очень плохо видно показания уличного термометра, чтобы разглядеть положение стрелки, необходимо довольно долго вглядываться и иной раз пользоваться фонариком.

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

Схем данного устройства в сети полно, но я, как человек относящийся к семейству Радиолюбителей, решил собрать свою. Так как с недавних пор пытаюсь осваивать микроконтроллеры, то выбор пал на широко распространённый и дешёвый МК Atmega8. Далее была изготовлена плата по технологии ЛУТ, после чего уже приступил к программной части.

Программа написана на языке Си с помощью среды разработки CodeVisionAVR.

Схема принципиальная электрическая

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

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

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

Датчиком температуры является микросхема DS18B20. Так как в устройстве «Часы-термометр» нет своей батареи, при пропадании питания естественно показания будут сбиваться.

И что бы это не явилось причиной какого-нибудь опоздания человека на жизненно важные дела, имеется интересная «фишка» — при подаче питания вместо времени на дисплее будут отображаться прочерки, пока не нажмёшь одну из двух кнопок настройки.

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

Корпусом самодельного измерителя температуры послужила подходящая коробочка от запонок. В неё была помещена сама плата часов-термометра и плата вытащенная из телефонного зарядника. Датчик DS18B20 сделан выносным и подсоединяется через разъём.

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

Список необходимых деталей

  • Микроконтроллер Atmega8 – 1шт.
  • Кварц  32768 Гц – 1 шт.
  • Датчик температуры DS18B20 – 1шт.
  • Семи сегментный индикатор(4 – разряда) – 1 шт.
  • Резисторы SMD типоразмера 0805:
  • 620 Ом – 8шт.
  • 0 Ом (перемычка) – 1шт.
  • 4,7 кОм – 1шт.
  • Тактовые кнопки – 2 шт.

Видео работы устройства на Ютуб-канале

Источник: https://radioskot.ru/publ/izmeriteli/chasy_termometr_na_mikrokontrollere_atmega8/15-1-0-1182

РадиоКот :: Часы-пропеллер по-русски

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

Теги статьи: ЧасыМеханическая развертка (пропеллер итп)Добавить тег

Часы-пропеллер по-русски

Привет, Радиокот! Поздравляю тебя с Днем Рождения и желаю, чтобы твой сундук со схемами и описаниями девайсов пополнялся всё большим количеством шедевров! И со своей стороны вручаю тебе вот такой вот красивый подарочек!

Часы с датчиком положения и температуры своими руками Ну а теперь о том, что это такое, и как это работает. Эти часы известны как «Часы-пропеллер» (Propeller Clock), «Виртуальные часы» (Virtual Clock). Их особенность состоит в том, что изображение часов создается быстро вращающейся линейкой светодиодов. При взгляде на эти часы создается иллюзия, будто они проецируются в воздухе! В интернете есть множество конструкций таких часов, однако все они не доведены до ума: в некоторых конструкциях энергия на подвижную часть передается через скользящий контакт – это шумно и ненадежно; при отключении питания почти во всех конструкциях время у часов сбрасывается; в некоторых конструкциях использована батарея резервного питания на подвижной части – страшно подумать какие возникают биения из-за батареи (это приводит к быстрому выходу из строя подшипника мотора). Кроме того, такие часы не оставишь на ночь включенными – шум мотора и яркая подсветка будут мешать уснуть. В связи с этим было решено сделать часы со следующими возможностями:

  • сохранение времени и даты при отключении питания;
  • автоматическое отключение на определенный промежуток времени (например,  когда дома никого нет, — чтобы понапрасну не расходовать ресурс мотора);
  • снижение яркости и скорости вращения стрелки в ночное время (ночью зрение более инерционно, поэтому снижение оборотов не приведет к сильному мерцанию часов);
  • энергия на стрелку должна передаваться бесконтактным методом;
  • управление часами с пульта ДУ и с компа;
  • максимальная надежность (никаких скользящих контактов и биений стрелки быть не должно);    
  • конструкция должна быть из доступных компонентов;

Итак, часы делаем из двух плат – подвижная, находящаяся на роторе мотора и неподвижная. На подвижную плату было решено возложить только функцию индикации, а на неподвижную – все остальные функции. Энергию и данные на подвижную часть было решено передавать по трансформатору, об этом подробнее ниже)) А сейчас – схемы.

Часы с датчиком положения и температуры своими руками

Рис. 1. Неподвижная часть (кликабельно)

Часы с датчиком положения и температуры своими руками

Рис. 2. Подвижная часть (кликабельно)

Итак, начнем повествование с неподвижной части. Сердцем схемы является микроконтроллер (МК) DD3 ATmega48. Этот контроллер был выбран потому, что имеет 4 ШИМ-порта, у которых можно настраивать период ШИМ. Это очень удобно для экспериментального подбора рабочей частоты и скважности питающего напряжения вращающегося трансформатора.

С помощью этих портов также можно управлять мостовым преобразователем с генерацией мертвого времени (dead-time, чтобы исключить одновременное открытие верхнего и нижнего транзистора). Такой преобразователь собран на элементах DA1, DA3, VT1, VT3. Топология «мост» выбрана неслучайно.

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

Еще один вывод ШИМ задействован для регулировки скорости вращения мотора.

При отключении питания текущие время и дата должны сохраняться. За это отвечает микросхема часов реального времени DD2.

Чтобы часы управлялись с пульта, в схеме установлен фотоприемник TSOP4836. Хочу сказать, подойдет абсолютно любой фотоприемник на 5 В и рабочей частотой 36 кГц (38 кГц для пульта SONY). Кстати, прошивка написана для пультов SONY, в частности для RM-869.

Светодиод HL2 – инфракрасный. Его излучение используется стрелкой для определения своего положения.

На борту микроконтроллера также имеется аппаратный интерфейс UART. Через преобразователь интерфейсов USB-UART DD1, часы можно подсоединить к компу для конфигурирования и загрузки изображения/текста. Кроме того, по этому же интерфейсу можно и отправлять данные на подвижную часть! О передачи данных я расскажу попозже, а сейчас

Ядром стрелки является микроконтроллер ATmega8L, к портам которого через резисторы подсоединено 20 светодиодов, фотодиод как датчик положения, и выход дешифратора UART. Обращаю внимание, что половина светодиодов соединяется катодами к портам МК, а вторая половина – анодами. Это сделано для того чтобы распределить нагрузку между питающей и земляной шиной МК, и не перегружать одну из шин.

В качестве стабилизатора был выбран давно всеми избитый 78L05))). Ставить импульсный преобразователь не имеет смысла, т.к. большую часть времени идет сильная просадка на вторичной обмотке трансформатора.

Имеет смысл поставить какой-нибудь LDO-стабилизатор, но выигрыш по сравнению с 78L05 будет минимальным.

Фактически, в данном случае стабилизатор тут нужен только для того, чтобы не сжечь схему, когда не горят светодиоды, но в основном, большую часть времени выходные транзисторы стабилизатора открыты.

Стрелка определяет свое положение благодаря фотодиоду (или фототранзистору) HL21. Он может быть любым.

Через диод VD5 сигнал поступает на вход дешифратора. Дешифратор представляет из себя 2 RC-фильтра и 2 компаратора, которые преобразуют ВЧ сигнал высокого уровня в «1», а низкого уровня – в «0».

Ну и теперь самое интересное: как идет

Изначально предполагалось передавать данные путем изменения частоты питающего стрелку напряжения (20 кГц – «1», неактивный уровень UART; 100 кГц – «0», активный уровень UART). Однако красиво передача данных шла только при моделировании в Протеусе))) В реальности же это оказалось сделать почти невозможным.

Позже пришла идея переключать режим работы трансформатора мост/полумост. А прикол здесь вот в чем. При питании транса от мостового преобразователя (передаем «1»), на выходе трансформатора мы получаем и положительные и отрицательные импульсы. Таким образом, положительные импульсы проходят через диод VD5 и в точке А (рис. 2) мы получаем сигнал, форма которого показана на рис. 3.

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

Рис. 4. Форма сигнала в точке А рисунка 2 при работе трансформатора в режиме полумоста

Разница между представленными сигналами колоссальная! Далее после диода VD5 фильтруем сигнал с помощью DA3, и получаем на ее выходе чистый UART))

С указанными номиналами дешифратор работает на скорости до 1200 бит/с. Теоретически, можно достичь и большей скорости, но меня и эта вполне устроила.

Хочу заметить, для связи со стрелкой неподвижная часть тоже использует аппаратный UART. В нормальном режиме включена связь с компьютером: транзистор VT2 закрыт и данные на скорости 38400 бит/с без препятствий передаются на DD1 и далее на комп.

Когда нужно передать данные на подвижную часть, мы открываем VT2, тем самым блокируя передачу данных на комп; конфигурируем скорость в 1200 кбит/с и включаем прерывания INT0 по фронту и срезу.

В прерывании считываем состояния ножки и в соответствии с уровнем включаем трансформатор в нужный режим.

При переходе в полумостовой режим, стрелка получает всего 50% мощности и плюс к этому более пульсирующее питающее напряжение (как будто с диодного моста перешли на один диод).

Если в момент передачи данных горят светодиоды, то при передачи «0» мы получаем сильную просадку питающего напряжения. Так как МК работает на встроенном RC-генераторе, и его тактовая частота зависит от напряжения, то мы получаем рассинхронизацию при приеме данных.

В связи с этим нужно либо гасить светодиоды во время обмена данными (как я и сделал), либо ставить кварц.

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

  • Разрешение экрана составляет 3 градуса (1 оборот стрелки разбит 120 секторов)
  • Для вывода изображения используется двойной буфер – в одном рисуем, а второй индицируем. Это сделано для того, чтобы избежать мусора на экране в момент перерисовки.
  • Функция вывода изображения на экран написана на if-else, т.к. нужна высокая скорость ее выполнения.
  • Вычисление периода переключения секторов производится не каждый оборот, а только когда происходит некоторое изменение скорости вращения стрелки. Это помогает избежать сильного дерганья (джиттера) изображения, когда часы работают на стабильных оборотах.
  • Однако небольшое дерганье изображения иногда все же идет. Оно обусловлено отсутствием приоритетов прерываний в данном МК. Если вдруг раньше срабатывает прерывание от ИК-фотодиода, то изображение чуток смещается против часовой стрелки. Для устранения этого бага требуется МК с векторным контроллером прерываний.

Исходники стационарной части не выкладываю. Для нее прогу пришлось писать на скорую руку, и там все очень криво написано. Не хочу стыдиться. Но .hex выкладываю для обеих плат.

Теперь перейдем к моей самой нелюбимой части. Называется она

Итак, мы имеем:

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

Рис. 5. Печатная плата неподвижной части (слева — вид сверху, справа — вид снизу)

Часы с датчиком положения и температуры своими руками

Рис. 6. Подвижная часть. Овалом обозначены участки со снятой маской

На обратной стороне стрелки видим посадочное место под фотодиод и площадки со снятой маской. Эти площадки сделаны для балансировки: на них наносим припой до тех пор, пока не пропадут биения при вращении. Стрелка вращается со скоростью 40 об/мин, так что очень важно хорошо ее сбалансировать.

Читайте также:  Качественные грузила своими руками

В качестве мотора я использовал обычный кулер. На рис. 7 показаны 2 кулера: один с подшипником скольжения второй – качения.

Часы с датчиком положения и температуры своими руками

Рис. 7. Кулеры, использованные в качестве моторов в моих конструкциях. Слева – с подшипником качения, справа – скольжения

Казалось бы – подшипник качения конечно же будет лучше, но… Да, он действительно более дорогой, долговечный, и сразу набирает нужные обороты, но подводный камень тут в том, что плата управления в кулере с подшипником качения проще, и похоже она питает мотор чистыми прямоугольными импульсами (а не синусом), что приводит к сильному гулу мотора. В кулере с подшипником скольжения иная ситуация, там похоже синус на обмотках мотора и он практически бесшумен!

Теперь сборка. У кулера выкусываем все лопасти, и откусываем моторчик от креплений (рис. 8).

Часы с датчиком положения и температуры своими руками

Рис. 8. Перекусываем крепления по линиям

Напильником сглаживаем образовавшиеся неровности на роторе. Затем на нем наматываем вторичную катушку (она будет питать стрелку). Аккуратно наматываем 60 витков проводом 0,2 мм. Катушку заклеиваем, чтобы не разматывалась. Получаем что-то вроде этого:

Рис. 9. Стрелка, установленная на роторе с намотанной вторичной катушкой

Затем делаем каркасик чуть большего диаметра, чем получившаяся катушка. Зазор между катушками должен быть как можно меньше! Затем на каркас наматываем первичную обмотку – 35 витков провода 0,35 мм. Ее мы приклеиваем к бывшим креплениям статора. В итоге получим то что показано на рис. 10.

Рис. 10. Монтаж первичной обмотки

ВНИМАНИЕ!!! Мотор не разбирать! Разборка увеличит его уровень шума и снизит его долговечность.

Теперь корпус.

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

Когда корпус собран, к центру приклеиваем моторчик со стрелкой, на стойках сзади ставим стационарную плату, вставляем ИК-диод, все соединяем и готово! Можно включать! Все должно заработать сразу. Единственное, если не пойдет передача данных на стрелку, то может потребоваться подбор резистора R28 на стрелке.

Рис. 11. Готовая конструкция

Рис. 12. Готовая конструкция. Вид сбоку

А пользоваться им просто: управление идет с пульта. Назначение кнопок показано на рисунке 13.

Рис. 13. Назначение кнопок пульта (кликабельно)

В нормальном режиме кнопки 0..9 выбирают режим индикации.

Любая кнопка настройки включает режим установки. При этом подсвечивается изменяемый параметр. Установка значения – кнопки 0…9, переход к другому значению: P+ и P-.

Ну, вроде всё рассказал))) Теперь немного фоток))

Рис. 14. Темы часов

Рис. 15. Вывод картинок

Рис. 16. Режим настроек

Рис. 17. Дневной (а) и ночной (б) режимы. Съемка велась при фиксированной выдержке

Кстати, по поводу ночного режима: яркость уменьшается за счет снижения мощности, подводимой к трансформатору (при этом трансформатор по-прежнему работает в мостовом режиме). Из-за понижения напряжения на стрелке, у нас просто начинают тускло светиться светодиоды, и никакого дополнительного ШИМа реализовывать не нужно))) Дешево и сердито!

Ну и напоследок – прототипы. С чего всё начиналось))

  Рис. 18. Первая конструкция в работе

Рис. 19. Первая конструкция

 Рис. 20. Как вариант корпуса (самодельный, сделан не лазерной резкой)

 И, конечно же, видео: https://www.youtube.com/watch?v=aSexix0_GZM&feature=g-upl

Файлы: Схемы и печатные платы в формате P-CAD 2002Исходник и прошивка стрелкиПрошивка неподвижной частиЧертеж корпуса в формате CorelDraw

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

Как вам эта статья? Заработало ли это устройство у вас?

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

Простейшые часы на AVRЭлектронные часы с наворотами.Chronulator 2.0 – часы на стрелочных вольтметрах с подсветкойВиртуальные часы-брелокЧасы из HDD: Русский ответПервичные часы 2 — микроконтроллер наносит ответный ударПростые часы-ночник2Часы — информатор для ПКЧасы на RGB матрицах + радио + BMP180+AM2321 +ПДУПервичные часы.Часы — будильник на микроконтроллере PIC16F628A.Часы + секундомер + будильник «МЕРКУРИЙ-401А». Начало.NTP LED Clock.Часы-термометр на микроконтроллере ATmega8. V 2.0Не очень простые часы на матричных индикаторах, зато с музыкойЧасы «Микроконтроллер и 7 светодиодов».BinT ver 1.00. ( От binary time)WaterClockЧасы на микросхеме КА1016ХЛ1 и светодиодных индикаторахGPS Мультичасы «МЕРКУРИЙ 402». Финал.Как я делал часы на ГРИГлупые часы с календаремЧасы, календарь, термометр.Часы на PIC.И снова говорящие — поющие часы. Суперсрочно!Часы из амперметровОдноламповые часыОчень маленькое, но очень полезное устройство.Миниатюрные часы на вакуумно-люминисцентном индикаторе ИВ-21

Источник: https://www.radiokot.ru/circuit/digital/home/141/

Часы-Термометр для гаража на больших индикаторах — Community «Электронные Поделки» on DRIVE2

Решил собрать ещё одни часы для гаража так как прошлые показались мне маленькими в моём большом гараже. Мне нужны часы побольше. Одни у меня уже забрал сосед по гаражу вторым на LCD1602 придумал другое применение.

Схема новых часов аналогична моим первым часам только добавлены драйвер и транзисторные ключи. В качестве драйвера индикации использовал UNL2804, a в качестве драверов индикаторов транзисторные ключи на NPN транзисторах.

Индикаторы применил с общим анодом SA15-11SRWA.

Часы с датчиком положения и температуры своими руками

Zoom

индикаторы

Я уже пытался разработать часы на больших индикаторах разработка обсуждалась в статье Часы-Термометр в гараж версия с большими индикаторами (разработка). Но до практической реализации дошло только сейчас.Вот сама схема.

Часы с датчиком положения и температуры своими руками

Zoom

схема

  • Разработал плату согласно имеющимся компонентам.

Часы с датчиком положения и температуры своими руками

Zoom

Сторона деталей

Часы с датчиком положения и температуры своими руками

Zoom

Сторона проводников

  1. Ну и наконец готовое устройство.

Часы с датчиком положения и температуры своими руками

Zoom

часы-термометр

Часы с датчиком положения и температуры своими руками

Zoom

снял индикаторы

Часы с датчиком положения и температуры своими руками

Zoom

Плата без индикаторов

Часы с датчиком положения и температуры своими руками

Zoom

сторона дорожек

Так как у индикаторов тонкие ножки они держатся не очень надёжно. Я их слепил между собой двух сторонним скотчем.

Часы с датчиком положения и температуры своими руками

Zoom

слепил вместе

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

Часы с датчиком положения и температуры своими руками

Zoom

время, точка мигает но сфотографировал когда точка погасла

Zoom

температура

Вся документация схема, плата прошивка в архиве.Скачать архив в архиве все мои разработки часов по этой схеме. И добавлю, плату можно использовать с любыми, самодельными индикаторами просто в разъёмы втыкаем штекера от своих индикаторов, допустим как сделано тут.Вот собственно и всё.

  • Небольшое видео по работе часов.

Думаю эти часы в моём гараже обоснуются надолго.

Источник: https://www.drive2.com/c/452571356572156069/

Наружные часы-термометр с боем

Владимир Макаров

Как известно, в дачный период хозяева и гости много времени проводят вне помещения – за размеренной беседой под навесом или на качелях, за подвижной игрой на лужайке или садово-огородными работами по выращиванию сказочного урожая. В это время хочется одеть легкие одежды, оставить все гаджеты в доме и предаться свободному общению, отдыху или творчеству на приусадебном участке.

Но как бы глубоко мы не увлекались любимым занятием всегда будет интересовать вопрос: а который час? Не пора ли готовить обед, смотреть продолжение мыльной оперы, кормить ребенка и т.д.?
К чему я вас подвожу? Да к тому, что пора, пора во дворе установить большие часы, да еще с боем курантов, ну и термометр не помешал бы.

В данной статье описывается устройство, в котором в одном корпусе объединены  наружные часы  и термометр. Размер корпуса устройства — 36х28х7см, размер индикатора одной цифры часов или минут — 5х9см, размер индикатора одной цифры термометра — 3х5cм. При этих размерах цифры хорошо различимы на расстоянии до 25 метров. Часы показывают время в часах и минутах в формате Н24.

Начало каждого часа в период с 09.00 до 23:00 включительно обозначается звуком курантов Спасской башни Московского Кремля. На фонограмме записан перезвон колоколов и бой колокола по количеству наступивших часов суток в формате Н12. В 23:00 в алгоритме программы и прошивки исполняется мелодия «Спокойной ночи, малыши», звуковые файлы которой так же имеются в архиве.

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

Внешний вид часов показан на рисунке 1.

Часы с датчиком положения и температуры своими руками

Рисунок 1.
Внешний вид часов-термометра.

Демонстрационный ролик:

 

Часы-термометр

Схема электрическая принципиальная контроллера часов-термометра показана на рисунке 2.

Часы с датчиком положения и температуры своими руками

Рисунок 2.
Контроллер. Схема электрическая принципиальная.

Контроллер устройства разработан основе микроконтроллера ATmega8 (DD3). Микроконтроллер считывает значения часов и минут с микросхемы часов реального времени DS1307N (DD2).
Взаимодействие МК с DS1307N  осуществляется по последовательному двухпроводному интерфейсу TWI (Two Wire Interface), являющемуся полным аналогом интерфейса I2C (Inter-Integrated Circuit).

Микроконтроллер ATmega8 имеет на борту аппаратную реализацию сигналов TWI (выводы SDA и SCL). В прикладную программу устройства включены функции взаимодействия с оборудованием TWI микроконтроллера и функции взаимодействия с микросхемой DS1307N.

Программой также обеспечивается возможность корректировки пользователем значений часов и минут в микросхеме DS1307N для чего предусмотрена обработка нажатий кнопок устройства «часы+» (SA1) и «минуты+» (SA2), так же возможна корректировка и показаний термометра. Блок кнопок выполнен в виде пульта.

Назначение кнопок управления следующее;
Кнопка «часы+» — установка часов (увеличение на 1),  кнопка «минуты+» установка минут (увеличение на 1), «температура-» — корректировка температуры (уменьшения на 0.1 градуса), «температура+»  корректировка температуры (увеличение  на 0.1 градуса).

Далее в пульте следует выключатель питания звукового генератора и регулятор громкости. При удержании кнопки выполняется инкремент (+) или декремент (-) с отображением на индикаторах текущего времени или дельты, на которую отображаемая температура будет отличаться от температуры, измеренной датчиком DS18B20. Это для желающих выставить температуру по своему доверенному термометру.

Часы с датчиком положения и температуры своими руками

Рисунок 3.
Внешний вид пульта управления.

Часы с датчиком положения и температуры своими руками

Рисунок 4.
Обратная сторона пульта управления.

Включение DS1307N осуществлено по типовой схеме. Стабильный ход часов обеспечивается кварцевым резонатором на 32768Гц (Y1), включенным в цепь внутреннего генератора часов.
Непрерывный ход часов в периоды отключения основного питания (+5В) поддерживается резервным элементом питания (GB1) типа CR2032 напряжением 3В.

Выводы SDA и SCL через подтягивающие резисторы (R5 и R6) подключаются к шине TWI. Индикатор «разделительное двоеточие» (DS1), разделяющий на табло разряды часов и минут, отображает секундные импульсы, снимаемые с вывода SQW/OUT микросхемы DS1307N. Для управления индикатором DS1 используется транзистор КТ315Б (VT1), работающий в ключевом режиме.

Считанные значения часов и минут отображаются на табло семисегментными индикаторами часов (DS2, DS3) и минут (DS4, DS5). Значения (0,1) сегментов для всех четырех индикаторов часов передаются в регистры сдвига на микросхемах 74HC595 (DD4, DD5, DD6, DD7), включенных последовательно.

В каждом цикле передачи данных на табло микроконтроллер сбрасывает регистры сдвига по входу !MR, а затем последовательно бит за битом выдает данные о включении сегментов на вход DS микросхемы DD4 и продвигает биты по регистрам сдвига подачей сигнала такта SH_CP. Особенностью регистра сдвига 74HC595 является то, что значения битов регистра сдвига передаются на выходы Q0..

Читайте также:  Лазер своими руками

Q7 не сразу, а при поступлении импульса на вход «защелки» ST_CP. Это позволяет высвечивать разряд на табло после полного заполнения регистра сдвига, что исключает мерцание сегментов индикатора во время заполнения регистра сдвига. С выходов Q0..Q7 регистров сдвига сигналы поступают на входы транзисторов Дарлингтона в микросхемах ULN2803A (DD8, DD9, DD10, DD11).

Эти транзисторы обеспечивают согласование разных уровней питания регистров сдвига и индикаторов (5 и 12 Вольт соответственно)  и позволяют подключать мощную индикаторную нагрузку вплоть до 500мА на один сегмент индикатора. При наступлении нового часа для исполнения звуковой имитации боя курантов звуковому генератору через разъем XP1 подается код мелодии (контакты L0, L1, L2, L3 и L4).

Через этот же разъем подается питание для звукового генератора (контакт VDD, GND).
С выхода BUSY («занят») разъем XP1 снимается сигнал занятости звукового генератора проигрыванием фонограммы, но в данной версии прикладной программы этот сигнал не обрабатывается. Описание звукового генератора представлено в отдельном разделе данной статьи.

Датчик температуры DS18B20 (DD2) обеспечивает измерение температуры окружающей среды и подачу кода температуры в микроконтроллер по его запросу.
Взаимодействие МК с DS18B20 осуществляется по однопроводному интерфейсу, задействующему только 1 порт МК (PINС3). Датчик подключен по классической схеме, взятой из описания DS18B20.

Обязательным дополнительным оборудованием является подтягивающий резистор 4.7кОм (R7).
Прикладная программа содержит необходимый набор функций для инициализации датчика, записи команд и чтения данных. Прочитанное микроконтроллером значение температуры приводится для отображения на индикаторы в формате S ХХ.Х T, где S – знак температуры (+ или -), XX.

Х – целая и дробная часть значения  температуры, T – символ градусы по Цельсию.
Отображение температуры осуществляется с помощью регистров сдвига 74HC595 (DD12, DD13, DD14), транзисторов Дарлингтона в микросхемах ULN2803A (DD15, DD16, DD17) и индикаторов (DS7, DS8, DS9) аналогично описанному выше способу отображения часов и минут.

Индикатор «+/-» управляется через транзисторы Дарлингтона непосредственно микроконтроллером. Индикатор «°С» включен постоянно. В устройстве предусмотрена корректировка отображаемой температуры в диапазоне от минус 5.0 до плюс 5.0 градусов с шагом 0.1 градуса.
Установленное значение корректировки складывается с измеренным значением температуры и отображается на индикаторах.

Установленное значение корректировки постоянно храниться в энергонезависимой памяти МК (EEPROM) и каждый раз после подачи питания на устройство восстанавливается в прикладной программе.
Установка значения корректировки температуры осуществляется кнопками «температура-» (SA3) и «температура+» (SA4).
Цепочка R8-С5 выполняет начальный сброс МК при подаче питания.

Для внутрисхемного программирования МК предусмотрен разъем для подключения программатора (XP2).
Питание устройства осуществляется напряжением 12 Вольт. Для питания МК ATmega8, датчика часов DS1307N, датчика температуры DS18B20 и регистров сдвига 74HC595 осуществляется преобразование питания DC-DC в 5 Вольт с использованием микросхемы MC34063 (DA1), включенной по рекомендованной в описании схеме.
Для получения 5 Вольт на выходе DC-DC преобразователя значения резисторов R2 и R4 должны быть 1кОм и 3кОм соответственно.

Значения фьюзов микроконтроллера ATmega8: D9, E4 (HIGH, LOW).

Звуковой генератор

Схема электрическая принципиальная звукового генератора показана на рисунке 5.

Часы с датчиком положения и температуры своими руками

Рисунок 5.
Звуковой генератор. Схема электрическая принципиальная.

Звуковой генератор построен на микроконтроллере ATtiny861 (DD1). В основу положено известное решение «255-Voice PCM Sound Generator» (Автор — ChaN, оригинал статьи здесь — http://elm-chan.org/works/sd20p/report.html). Устройство и программа адаптированы для использования в устройстве часов. Звуковой генератор обеспечивает проигрывание WAV файлов записанных на microSD Card в соответствии с кодами мелодий, выставленных на контактах L4..L0 разъема XP1.
С помощью преобразователя на линейном регуляторе LM1117-3.3 (DA2)  подаваемое на устройство напряжение12 Вольт преобразуются в напряжение 3.3 Вольта, необходимое для питания microSD Card и микроконтроллера устройства. Для согласования уровней выходных сигналов от контроллера часов-термометра (5B) с уровнями входных сигналов звукового генератора (3.3В) служат делители напряжения на резисторах R9…R18.
Запуск звукового генератора осуществляется всякий раз, когда меняется состояние входной комбинации L4..L0 на разъеме XP1 при условии, что генератор в это время не занят проигрыванием звукового файла. Запуск осуществляется по прерыванию на ножках PINA3…PINA7. Функция обработки прерывания преобразовывает код L4..L0 в имя файла. Микроконтроллер читает файл с microSD Card и направляет поток на внутренний широтно-импульсный модулятор — на выходах OC1A и OC1B формируется звуковой сигнал фонограммы. Звуковой сигнал через цепочку R1, R2, R3, C2, C3 подается на вход усилителя низкой частоты TDA7056A (DA1), нагруженный динамиком SP1 (8Ом). Резистор R5 и потенциометр R4 обеспечивают регулировку громкости. Во время проигрывания фонограммы светится светодиод VD1, который также служит для индикации ошибок при работе звукового генератора с microSD Card. Перечень ошибок и количество соответствующих каждой ошибке вспышек VD1 приведен в исходном коде программы звукового генератора.  Подключение microSD Card осуществлено через адаптер формата SD Card, который в свою очередь подключаен к устройству через разъем XS1.
Цепочка R7-С7 выполняет начальный сброс МК при подаче питания.
Для внутрисхемного программирования МК предусмотрен разъем для подключения программатора (XP2).
Значения фьюзов микроконтроллера ATtiny861: DF, C1, FF (HIGH, LOW, EXT)

Индикаторы

Питание всех индикаторов осуществляется напряжением 12 Вольт.
Индикаторы часов и минут выполнены из двух рядов светодиодов. Расположение светодиодов в сегментах показано на рисунке 6. 

Часы с датчиком положения и температуры своими руками

Рисунок 6.

Расположение сегментов часов.

Сегменты A,D состоят из 10 светодиодов на сегмент, сегменты B, C, E, F, G из 12 светодиодов на сегмент, разделительное двоеточие состоит из 8 светодиодов.
При таком расположении светодиодов в сегментах цифры на индикаторах будут высвечиваться как показано на рисунке 7.

Часы с датчиком положения и температуры своими руками

Рисунок 7.

Свечение цифр на индикаторах часов.

Индикаторы термометра выполнены из одного ряда светодиодов. Расположение светодиодов в сегментах показано на рисунке 8.

Часы с датчиком положения и температуры своими руками

Рисунок 8.

Расположение сегментов термометра.

При таком расположении светодиодов в сегментах цифры на индикаторах будут высвечиваться как показано на рисунке 9.

Часы с датчиком положения и температуры своими руками

Рисунок 9.

Свечение цифр на индикаторах термометра.

При соединении светодиодов в сегменте они могут быть включены последовательно. Для расчета рекомендую воспользоваться LED-калькулятором http://cxem.net/calc/ledcalc.php.
Согласно расчетам при последовательном включении светодиодов должны быть использованы номиналы резисторов, указанных на рисунке 10.

Часы с датчиком положения и температуры своими руками

Рисунок 10.

Схема последовательного включения светодиодов.

Обратите внимание, что для разных типов светодиодов схемы отличаются.

Конструкция

Самым трудоемкими элементами при изготовлении устройства являются индикаторы. Каждый разряд изготавливается на отдельной плате — удобно травить, паять, тестировать. Печатные платы разработаны в DipTrace. Макет печатной платы одного разряда часов показан на рисунке 11.

Рисунок 11.
Макет печатной платы разряда часов.

  • Печатные платы всех элементов табло часов-термометра представлены в архиве.
  • Печатная плата контроллера представлена на рисунке 12, а внешний вид платы на рисунке 13.

Рисунок 12.
Макет печатной платы контроллера.

Рисунок 13.
Внешний вид контроллера.

Печатная плата звукового генератора представлена на рисунке 14, а внешний вид платы на рисунке 15.

Рисунок 14.
Макет печатной платы звукового генератора.

Рисунок 15.
Внешний вид звукового генератора.

Устройство собрано в корпусе, спаянном из металлического оцинкованного профиля, используемого для монтажа гипсокартона.
В корпусе размещены промышленный блок питания (12В/2А), динамик, панель управления, табло с индикаторами, контроллер и звуковой генератор. Размещение блоков часов-термометра показано на рисунках 16 и 17.

Рисунок 16.
Размещение блоков устройства в корпусе.

Рисунок 17.
Размещение индикаторов устройства в корпусе.

В архиве размещены файлы:
 
ExternalClock.c – исходный код программы на Си контролера часов-термометра
ExternalClock.hex – прошивка контроллера часов термометра
SoundGenerator.rar – исходный код программы на Си звукового генератора
SoundGenerator.hex – прошивка звукового генератора
SoundFiles.

rar – звуковые файлы «Куранты»
SCH_ExternalClock.dch – схема контроллера в DipTrace
SCH_SoundGenerator.dch – схема звукового генератора в DipTrace
PCB_ExternalClock.dip – печатная плата контроллера в DipTrace
PCB_ExternalClockControl.dip – печатная плата пульта управления контроллера в DipTrace
PCB_SoundGenerator.

dip – печатная плата звукового генератора в DipTrace
PCB_DigitLarge.dip – печатная плата цифры часов в DipTrace
PCB_DigitLargeD.dip – печатная плата разделительного двоеточия в DipTrace
PCB_DigitSmallM.dip – печатная плата цифры термометра в DipTrace
PCB_DigitSmallS.dip – печатная плата знака «+/-» термометра в DipTrace
PCB_DigitSmallT.

dip – печатная плата символа «градус по Цельсию» термометра в DipTrace

  1. Архив, первая часть.
  2. Архив, вторая часть.
  3. Архив разбит на две части (из-за объёма), поэтому для нормальной его распаковки скачивайте (сохраняйте) обе части в одно место.

   

Источник: http://vprl.ru/publ/umnyj_dom/avtomatika_dlja_doma/naruzhnye_chasy_termometr_s_boem/20-1-0-89

Говорящие часы — термометр с календарем

Хочу представить новую схему говорящих часов. Основой данных часов является микроконтроллер ATmega8, микросхема часов используется DS1307, а микросхема термометра — LM75. И микросхема часов DS1307 и микросхема термометра LM75 общаются с микроконтроллером по протоколу I2C или по другому TWI — двухпроводный интерфейс.

Хранилищем звуковых файлов является micro SD карта памяти, соединяемая с микроконтроллером по SPI интерфейсу.

Аудио файлы на карте памяти хранятся в корне и имеют строго определенные имена для того, чтобы контроллер мог точно по имени найти аудио файл для воспроизведения по условиям именно в данный момент в зависимости от события — воспроизвести конкретное время или проиграть трек будильника.

На индикацию в данном устройстве выводится много информации — текущее время, дата, день недели, температура окружающей среды, индикация включенности будильника, а также выбранный профиль периодического оповещения. В связи с этим обилием информации в качестве дисплея выбран LCD-дисплей 2 строки по 16 символов.

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

Звуковой сигнал на выходе микроконтроллера сравнительно слабый, поэтому схема часов получила усилитель для полноценности. При воспроизведении звукового файла, загорается светодиод LED1. Также было принято решение не плодить прошивки устройства по частоте звукового сигнала, поэтому ниже будет представлена прошивка на частоту только 44 кГц.

Сама схема часов предоставлена ниже:

Часы с датчиком положения и температуры своими руками

Пройдемся немного по схеме. Для питания схемы используется линейный стабилизатор напряжения L7805 для 5 вольтового питания и для питания карты памяти параметрический стабилизатор на стабилитроне 3,3 вольта. Микросхему линейного стабилизатора L7805 можно заменить на отечественный аналог КР142ЕН5А, стабилитрон можно заменить на любой другой на данное напряжение.

Если вам покажется не совсем удачным такая комбинация, в качестве стабилизатора напряжения можно использовать любые другие микросхемы (LM317, MC34063, LM2576, LM2596 и др.), настроенные на необходимое напряжение на выходе. Стабилитрон так же можно заменить на стабилизатор напряжения. Мною был подобран, наверно, самый экономичный вариант питания схемы.

Как было указано выше, микросхема часов DS1307 и микросхема термометра LM75 работают по протоколу I2C. Данный протокол требует подтягивающих pull-up резисторов (то есть подтягивают линию данных к плюсу питания) для корректной работы. Выводы SCL и SDA данных микросхем подтянуты к плюсу питания резисторами R10, R11.

Резисторы R9 и R12 также функционально выполняют функцию pull-up резисторов для возможности формирования сигнала на дополнительных выводах микросхем. Функционально данные выводы в схеме не используются — только для информации. В будущем при помощи дополнительного вывода микросхемы LM75 OS возможно организовать дополнительно термостат.

Читайте также:  Дровница из рессор своими руками

Этот вывод подает положительный сигнал при превышении заданного порога температуры и отрицательный сигнал при понижении температуры до заданного порога — этакий гистерезис. Обязательным является конденсатор C8, располагать его нужно как можно ближе к выводам микросхемы термометр. Это необходимо для того, чтобы она работала стабильно.

Питание микросхемы часов происходит через резистор R7 и диод VD2, необходимы для того, чтобы при отсутствии питания 5 вольт, когда микросхема работает от батарейки, не расходовать ее энергию на всю схему, запитанную от 5 вольт.

Далее в схеме используется LCD-дисплей SC1602. Дисплей использует внутри себя микроконтроллер HD44780, поэтому можно использовать любой другой дисплей на базе такого же контроллера. Резистор R1 подстроечный, он регулирует контрастность символов на дисплее.

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

Подсветку такого дисплея можно организовать как на самой плате LCD-дисплея подпаиванием перемычки и резистора (R9 и J3 — маркировка на плате дисплея SC1602) в предусмотренных местах или же через токоограничительный резистор подать напряжение питания на выводы «А» и «К».

Номинал токоограничительного резистора составляет порядка 22 — 27 Ом. В зависимости от требуемой яркости номинал можно варьировать, но не рекомендую ниже 22 Ом, больше можно пока не погаснет подсветка полностью. В схеме применен первый вариант включения подсветки, поэтому на схеме устройства это не обозначено.

Резистор R2 подтягивает положительное напряжение на вывод микроконтроллера Atmega8 PC6 или reset. это необходимо для предотвращения самопроизвольного перезапуска схемы часов. Номинал в пределах кОм можно варьировать при отсутствии заданного на схеме номинала.

Статусный светодиод LED1 подключен к микроконтроллеру через токоограничительный резистор для предотвращения порчи при превышении тока через светодиод. Номинал этого резистора можно изменять в соответствии с используемым светодиодом, а именно его параметров — падении напряжения.

Чем меньше падение напряжения на диоде, тем больший номинал резистора нужно использовать для фиксированного тока (в большинстве случаев нельзя превышать ток в 20 мА). Звуковой сигнал снимается с вывода микроконтроллера PB1. Для усиления сигнала используется усилительный каскад на двух транзисторах.

Транзисторы работают в ключевом режиме, поэтому компенсировать смещение базы не нужно. Конденсатор C6 ограничивает ток через динамик, когда ШИМ не работает. Номинал этого конденсатора можно изменять в широких пределах. Катушка L1 и конденсатор C7 образуют LC-фильтр, необходимый, чтобы убрать шумы.

В зависимости от необходимого уровня громкости, коллектор Т1 можно подключать или к 5 вольтам (воpможно потребуется более мощный стабилизатор VR1 в этом случае) или к источнику напряжения 12 вольт. 

Аудио файлы хранятся и считываются с карты памяти micro SD. Объем карты можно использовать от стареньких на несколько десятков мегабайт до 32 Гб. Заостряю ваше внимание на то что качество звука может зависеть от качества самой карты памяти. При применении карты памяти на 8 Гб фирмы mirex почему-то было больше шумов по сравнению с картой памяти фирмы kingston.

Для воспроизведения звука можно использовать любые динамики. Управление настройками происходит при помощи тактовых кнопок. Их можно заменить на любые другие кнопки. Мощность всех резисторов 0,25 Вт. Номиналы всех конденсаторов можно варьировать в разумных пределах. В качестве резервного питания микросхемы часов используется батарейка типа CR2032.

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

Нужно также отметить контакт RF — к нему подключается выход модуля переключения на радиобрелках http://cxem.net/review/review8.php. Необходимо использовать модуль на 12 вольт. При нажатии кнопки брелка произойдет замыкание вывода RF схемы говорящих часов на землю, при этом будет воспроизведено текущее время. Модуль переключения оптимальнее всего настроить в режим «Toggle» — кнопка брелка нажата, контакт RF замкнут на землю, кнопка брелка отжата, исходное положение.

Традиционно схема собиралась на макетной плате для контроллера Atmega8 собственного производства:

Часы с датчиком положения и температуры своими руками Часы с датчиком положения и температуры своими руками

Устройство тестировалось в таком виде — проблем обнаружено не было. В качестве источника информации о времени был использован модуль «tiny RTC I2C module».

Этот модуль содержит микросхему часов реального времени DS1307z, кварц для этой микросхемы частотой 32,768 кГц и необходимую обвязку для питания от батарейки и линий I2C. Важной информацией может быть то, что микросхемы DS1307 стоят дешевле чем DS1307z.

В первом случае за дешевизну можем расплачиваться качеством хода часов, во втором случае более менее все хорошо.

Помимо качества микросхемы часов DS1307 на ход часов влияет кварц, а точнее его частота — погрешность никто не отменял. Если же у Вас не имеется очень хорошего кварца, то немного скорректировать частоту имеющегося можно при помощи подстроечного конденсатора, подсоединенного одним выводом к кварцу, а другим к земле схемы.

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

Эти схемотехнические решения в схему не вносились, но имеют право на жизнь.

Характеристики устройства:

  • отображение времени в формате hh:mm:ss
  • воспроизведение времени при нажатии на кнопку или радиобрелок при условии его использования
  • включение светодиода на время воспроизведения аудио файла
  • отображение дня недели
  • отображение даты в формате dd/mm/yy
  • отображение температуры окружающей среды
  • воспроизведение будильника
  • отображение включенности будильника
  • ежечасное воспроизведение сигнала по трем профилям
  • отображение выбранного профиля
  • сохранение настроек будильника при выключении питания (сохранение в eeprom)
  • хранение текущего времени при выключении питания в микросхеме часов DS1307 за счет резервного питания

Назначение кнопок устройства и настройка:

  • для вход в меню настроек необходимо нажать кнопку S5, перелистывание меню настроек осуществляется этой же кнопкой
  • для изменения настроек необходимо нажать кнопку S4, например указатель стоит на меню изменения минут, нажатием этой кнопки минуты увеличатся на единицу, при длительном нажатии изменение пойдет быстрее, при достижении 59 минут, следующая цифра будет ноль, для всех настроек предусмотрена защита от переполнения
  • находясь в любом уровне меню настроек при нажатии кнопки S1 сражу выйдем в главное меню
  • в главном меню при нажатии кнопки S2 будет озвучено текущее время
  • при сработке будильника, чтобы остановить сигнал нужно удерживать кнопку S1
  • в случае, если трек для будильника очень длинный, можно сбросить сигнал кнопкой S3 — ресет (все потому что устройство при нажатии и удержании кнопки S1 ждет конца трека)
  • кнопка S3 — reset всего устройства

В меню настроек будильника необходимо установить непосредственно само время будильника, разрешение на сигнал или просто включить будильник и установить профиль циклического сигнала (0 — не использовать, 1 — в начале каждого часа воспроизвести файл, 2 — воспроизводить в начале каждого часа с 7 утра до 9 вечера). В настройках времени и даты все стандартно — установка непосредственно этих параметров.

Для того чтобы устройство могло воспроизводить ваши собственные записи аудио, при создании нужно знать следующее:

  1. формат wav файла: 8 bit, mono, 44 khz (пережимать можно из МР3 в любом аудио редакторе, поддерживающим функции перекодирования в wav формат)
  2. названия файлов должны соответствовать следующим условиям: озвучка часов 1h.wav (1 соответствует номеру часа, h — индекс часов, .wav — формат файла), озвучка минут 1m.wav (1 соответствует номеру минуты, m — индекс минут, .wav — формат файла), циклический сигнал 1a.wav (1 соответствует номеру часа, a — индекс циклического сигнала, .wav — формат файла), сигнал будильника alarm.wav. В архиве с аудио файлами в приложениях к статье можно посмотреть полный перечень названий файлов. 

Без соблюдения этих параметров при создании аудио файлов микроконтроллер просто не обнаружит их на флешке.

Для программирования микроконтроллера необходимо использовать программатор, а также задать конфигурацию фьюз битов:

Часы с датчиком положения и температуры своими руками

К статье прилагается прошивка для микроконтроллера для схемы говорящих часов, проект proteus (для корректного моделирования необходимо иметь мощный компьютер, иначе симуляция будет тормозить), архив с аудио файлами для проекта, а также небольшое демонстрационное видео (в начале озвучено текущее время, далее сработало ежечасное оповещение — сколько сейчас часов для простоты, далее настраиваем будильник и через минуту активируется сигнал, он повторяется до тех пор пока не будет удержана кнопка S1 или пока не нажать ресет).

Скачать список элементов (PDF)

Прикрепленные файлы:

  • 21.hex (23 Кб)
  • proteus 4b.rar (28 Кб)
  • алена 44 кГц.rar (1641 Кб)

Источник: https://cxem.net/mc/mc291.php

Часы, будильник, термометр на ATmega8, DS1307, DS18B20

Часы с датчиком положения и температуры своими руками

Более четырех лет назад я собрал простые часы на ATmega8. Все это время они исправно работали и приносили пользу, особенно в темнее время суток. Но мне показалось, что такой микроконтроллер, как ATmega8 может делать намного больше, чем просто подсчитывать колебания кварца и выводить их в виде времени.

Захотел, чтобы новые часы информировали не только о текущем времени, но и о температуре в помещении, где они находятся.

Задался поиском подобных схем в интернете, отталкиваясь от уже имеющихся комплектующих, а именно: микроконтроллер ATmega8 и светодиодный индикатор с общим катодом.

Отличное решение нашлось на этой странице, которое предоставил пользователь Soir, за что ему большая благодарность.

Схема часов не сложная, плюс, я сделал в ней некоторые упрощения. Что получилось, я привожу ниже. Оригинальная и упрощенная схема, разведенная в Proteus, имеется в АРХИВЕ.

В данном архиве приведены также прошивки ATmega8, дающие разный функционал часам, пример выставления фьюзов, полная инструкция по настройке часов и их возможностях, а так же разведенная печатная плата в формате *.lay6.

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

Часы с датчиком положения и температуры своими руками

Хочу признать, что часы получились отлично. В часах есть будильник (как разовый, так и по дням недели), термометр. Для регулировки освещения индикатора в дневное и ночное время, могут использоваться как предустановки в часах, так и специальный датчик (фоторезистор). Есть возможность коррекции времени, если оно отстает или спешит; цифровая коррекция отображения температуры с градацией 0,1ºС.

Большим плюсом является наличие сохранения настроек в энергонезависимой памяти микроконтроллера. Помимо этого, применение микросхемы DS1307, в паре, с батарейкой, делают часы абсолютно энергонезависимыми.

Батарейка выполняет дежурное питание часов.

Теперь, сколько бы поставка электричества у Вас не обрывалась, при ее возобновлении, часы буду идти, без каких-либо изменений и отклонений, даже останется заведенным будильник(и).

Часы с датчиком положения и температуры своими руками

В эстетическом плане, данные часы, также хороши. Есть более десяти видов визуальных эффектов смены отображения времени и температуры. Кстати, эти эффекты можно выбирать самостоятельно или выставить их отображение в случайном порядке.

Источник: http://best-chart.ru/samodelnye-elektronnye-chasy-budilniki/chasy-budilnik-termometr-na-atmega8-ds1307-ds18b20.html

Ссылка на основную публикацию