1 планета солнечной системы. Какая планета третья от солнца. Порядок расположения планет


Протые часики с секундами на 7ми сегментных индикаторах с календарём и термометром, + 6 эффектов индикации.

Мой НОВОГОДНИЙ ПОДАРОК.
ВСЕХ С НОВЫМ 2014м ГОДОМ.

Это простеникие часики - термометр на семисегментных светодиодных матрицах с общим анодом.

Что они могут:

Дата: (Дата - Месяц - День недели)

Температура дома:

А это датчик на улицу выкинул:

6 режимов индикации:

Автопоказ даты и температуры каждые 35 секунд.

Описание кнопок:
Кнопка "-" в режиме установки часов и кнопка перебора режимов индикации в рабочем режиме часов.
Кнопка "ОК" - для входа в режим установки часов.
Кнопка "+" в режиме установки часов и кнопка показания даты и температуры в рабочем режиме часов.

Перебор режимов индикации:
Жмём кнопку "-" - перебор режимов индикации.

Появится:

Первый режим индикации - цифры плавно гаснут и плавно появляются новые.

Жмём ещё раз
Появится:

Второй режим индикации - часики работают как обычно.

И ещё раз
Появится:

Третий режим индикации - цифры при смене меняются перебором.

Ещё раз нажимаем
Появится:

Четвёртый режим индикации - цифры при смене накладываются друг на друга.

Ещё одно нажатие
Появится:

Пятый автоматический режим индикации - режимы индикации сами меняются каждый час.

И ещё одно нажатие
Появится:

Шестой автоматический режим индикации - режимы индикации сами меняются каждые сутки в 00:00.

Включение / выключение автоматического показа даты и температуры каждые 35 секунд.
Жмём и держим в течении 3 секунд кнопку "+" - показ даты/температуры.
Если появится:

Автопоказ выключен.

Автопоказ включен.

Установка времени:
Для установки времени жмём и держим кнопку "ОК" в течении 3х секунд во время показа времени.
Часы переходят в режим установки времени и начинают мигать часы.
Кнопками "-" и "+" устанавливаем час и нажимаем кнопку "ОК" и переходим к установке минут.
И так далее в последовательности час > минуты > число > месяц > день недели.
При долгом удержании кнопок "-" или "+" цифры автоматически сами убывают или прибавляются.

Часы собраны на минимуме микросхем:
PIC16F628 - контроллер часов.
DS1307 - сами часики.
BU2090 - Дешифратор катодов.
DS18B20 - термодатчик.
DS32KHz - микросхема генератора для точности хода.
Если точность не нужна и вы просто подберёте точный кварц на 32.768
то DS32KHz можно и не ставить.

Схема стандартная.

Схема стандартная №2.

Она нужна если вы будете использовать многосветодиодные индикаторы.
Типа таких:
(фотка)
Для которых 5ти вольт анодного напряжения маловато будет.
Для переключения контроллера на эту схему нажимаем и держим кнопку "-" и включаем часы.
Для обратного перевода делаем тоже самое.
Это команда инвертирует выходные импульсы с контроллера для управления анодными ключами.

Регулируя питание в такой схеме можно менять яркость часиков.
Схемка регулятора яркости:

Настройка катодов, то есть назначение сегментов.
В часах можно использовать любые индикаторы.
Для платы что входит в проект я использовал три светодиодные сборки от модулей стиральных машин DE07-00011A.

Прошивка контроллера рассчитана на использование моей платы для моих индикаторов,
если будете использовать другие или рисовать свою плату
нужно после сборки платы и запуска часов переназначить подключение сегментов к BU2090.
Т.к. их порядок нарушается - например вместо 0ля или 7ка будет белеберда.

Исключение только для точки, если она есть в индикаторе.
Точки надо подключать только к 15му выводу BU2090.

Назначение сегментов:

Сам процесс:
Жмём и держим кнопку "+" и включаем часы - появится 8ка - показывая что все сегменты подключены.

После отпускания кнопки в 1м разряде загорается один из сегментов.
Начинается перебор сегментов.

Надо назначить сегменты от A до G - согласно рисунку ниже:

При зажигании нужных сегментов нажимаем кнопку "+"
и так последовательно от появления сегмента A до G - согласно рисунку.

Затем загорается 2й разряд - это разрешение мигания секундных индикаторов.
На тот случай если вы секундные семисегментники расположите по центру между часами и минутами вместо секундных точек.
Тут так же
Если нажать кнопку "+" на 0 то мигание отключается.

Если на 1 то включается.

После чего часы переходят в рабочий режим.

Платы нарисованы с помощью программы Sprint Layout 5.0
На плате "LED clk" кнопки расположены сверху.
На плате "LED clk_v2" - сбоку.
Плата "LED clk_v3" для 2го варианта схемы - для больших индикаторов.

Сдесь фотка верхней части платы "LED clk_v2" с подписанными элементами для большей наглядности:

А тут со стороны монтажа:

Сдесь фотка верхней части платы "LED clk_v3" с подписанными элементами для большей наглядности:

Тут со стороны монтажа:

Прошивка контроллера Clck_6x14_v7.hex показывает день недели буквами - пН, оР, сР, ЧР, пА, сb, ос.

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

Прошивка Clck_6x14_v7с.hex имеет коррекцию времени.
В период установки времени после установки дня недели
загораются часы и секунды.

В часах кнопками "-" и "+" устанавливаем время в секундах
на сколько нужно подводить время - диапазон от -4 до +4 секунд.
Затем нажав кнопку "OK" переходим к установке дней.
Если поставить 00, то коррекция будет происходить каждый день в 03:00.
Если 01, то через день.
Если 02, то через два дня.
И т.д. до 31го дня - то есть через 31 день.
Коррекция потребовала места в контроллере поэтому пришлось пожертвовать назначением сегментов.
Но их можно назначить сначала зашив в контроллер прошивку Clck_6x14_v7.hex,
назначить на ней сегменты и мигание секунд,
а потом не трогая EEPROM контроллера зашить прошивку с коррекцией.
Все настройки сохранятся.

Прошивка Clck_6x14_v7сb.hex имеет ещё и будильник помимо коррекции времени.
Чтобы поставить будильник жмём и держим кнопку "OK" в течении 3х секунд.
Когда на дисплее появится время ранее установленного будильника, а секундах появится b1 отпускаем кнопку.

Если кнопку продолжать держать, то мы войдём в установку времени.
Выставляем час и миеуты.
Если поставить 00:00 то будильник отключается.

Сработавший будильник отключается только кнопкой "OK".
Это сделано для того чтобы вы его не смогли пропустить, даже если увидите часики через пару - тройку часов.
Во время срабатывания на дисплее показывается его время, а вмсто секунд - b1.

Так же в момент срабатывания будильника включаются на постоянное свечение светодиоды LD1 - LD3 и мигают LD4 - LD6.

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

Всем привет! Накануне праздник 8 марта, вы уже придумали что подарить? Да/Нет? Можно конечно купить готовый подарок, но лучший подарок, это подарок сделанный своими руками. И так, вот задумался я: а что подарить Маме на 8 марта? Подумал...Подумал...О, а подарю я часы. Но покупать китайские часы я не хочу и не буду по двум причинам: сразу сломается, я же радиолюбитель. И я решил сделать свои часы своими руками! И вот что из этого получилось:

Сейчас я расскажу как самому сделать такие часы, но обо всём по порядку.

И так чего мне хотелось? А хотелось мне сделать достаточно большие часы на светодиодных семисегментных индикаторах, чтобы просто показывали время и шли даже тогда, когда выключены. За основу конструкции взял AVR микроконтроллер Attiny2313 с двумя килобайтами флеша, этого более чем достаточно. Сами часы реализовал с помощью RTC микросхемы реального времени DS1307, к которой подключается батарейка на 3 вольта, для поддержания хода часов. Семисегментные индикаторы поставил REC-S12101AG, зелёного цвета, с общим анодом. Их габариты: 28,8 на 40,8 мм. Поскольку часам для питания нужны 5 вольт, то я применил готовый импульсный блок питания RS-25-5. Почему именно такой ИБП? Лежал он у меня в коробочке с детальками (Давно, год назад я купил его за пять тыщ бел. руб. у одного парня, думаю хороший ИБП, пригодится!), пылился, а трансформатора у меня не было, вот и поставил что было. С блоком питания часы питаются от сетевого напряжения 220 вольт. Вот фото ИБП:

Ну собственно сложностей при сборке часов возникнуть не должно. И так, принципиальная схема часов:

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

Платы вместе соединял шлейфом, вот так:

В ход можно пустить компьютерный IDE шлейф. Вот фото основной платы:

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

Как вы уже заметили внутри корпуса я закреплял всё с помощью термо клея. После сборки часов необходимо прошить микроконтроллер прошивкой ClockFirmware.HEX. Как прошить микроконтроллер и сделать программатор я писал и . После прошивки не забудьте установить следующие фьюз-биты:

Я прошивал микроконтроллер с помощью программатора и программы SinaProg. Программу (прошивку) для часов писал в среде , исходник прилагается. У меня часы работают уже почти неделю и не на секунду не отстают. Точность хода часов зависит от кварца, его лучше купить новый. Яркость часов зависит от резисторов R1-R8, чтобы уменьшить яркость увеличьте сопротивление этих резисторов, но следует учесть, что резисторы необходимо ставить с сопротивлением не меньше 10 Ом а резистор R3 не менее 100 Ом. При первом включении часов либо после смены батареи резервного питания, зажмите обе кнопки S1, S2 и включите часы. Часы сбросятся на 00:00 и начнут идти.

Кстати, ночью часы смотрятся просто отлично:

Ну всё, часы готовы и работоспособны!

Мною на сборку часов было потрачено примерно 250 тысяч бел. руб. Отлично! Убил двух зайцев сразу: сделал своими руками и обошелся в меньшую сумму чем стоят китайские часы. Надеюсь часы понравятся Маме.

Для любителей программы прилагается проект часов.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК AVR 8-бит

ATtiny2313

1 В блокнот
IC2 Часы реального времени (RTC)

DS1307

1 В блокнот
VT1-VT4 Биполярный транзистор

КТ315А

4 В блокнот
C1 Электролитический конденсатор 100 мкФ 1 В блокнот
C2 Конденсатор 100 нФ 1 Керамический В блокнот
R1, R2, R4-R8 Резистор

10 Ом

7 В блокнот
R3 Резистор

150 Ом

1 В блокнот
R9-R12 Резистор

1 кОм

4 В блокнот
R13-R15 Резистор

10 кОм

3 В блокнот
R16, R17 Резистор

4.7 кОм

2 В блокнот
CH1 Кварц 32768 Гц 1 В блокнот
7Seg Семисегментный индикатор REC-S12101AG 4 С общим анодом

Эта статья о простых часах на 7-ми сегментном индикаторе. По большому счету это статья воспоминание, так сказать, чтоб не забыть. Забегая далеко на перед, дабы зря не тратить время ардуинолюбов, сообщу, что сердцем часов является микроконтроллер PIC16F873A, а лицом 7-ми сегментный 4-х разрядный индикатор с высотой символа 30мм.

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

И вот. Сердцем часов служит микроконтроллер PIC16F873A фирмы «Микрочип». Я начинал программировать на этих контроллерах. Но особо великих успехов не добился, научился писать только на picbasic pro, да и с прерываниями не срослось. Однако, что то все-таки получалось. PIC здесь задействован в роли контроллера для вывода информации, отсчет времени ведет микросхема DS1307 — часы реального времени. Некоторые засмеют, что мол, и одного пика хватит, но это не для моего случая. Информация выводится на довольно большой 7-ми сегментный 4-х разрядный индикатор с общим катодом. (все даташиты будут по ссылке в конце статьи). Реализовано изменение яркости свечения индикатора в зависимости от освещенности. Ну и как же без бесполезной функции будильника, он тут есть. Неверно сразу покажу фотку изделия, а потом продолжу:

Сверху натянута пленка, вырезанная из антистатического пакета, так как белые пустые сегменты ну прям в глаза въедаются. А сверху видно глазок фоторезистора. Провода слева это датакабель программатора. Ну а теперь глянем схему (она кликабельная):

И прям сразу печатную плату:

В конструкции все соответствует схеме, кроме токоограничивающих резисторов индикатора, у меня установлены номиналом 240 Ом и smd транзисторы выпаянные из материнки. Кварц для DS1307 тоже выпаян из материнки вместе с держателем батарейки. Сейчас я бы наверно не стал использовать именно DS1307 как счетчик времени, так как очень она капризна к разводке земли и сильно подвержена температурному дрейфу. Но уже что сделано, то сделано. Плата односторонняя с двухсторонним монтажом. Габарит платы вписывается в габарит индикатора. И последняя «подгнившая изюминка» этого проекта это стабилизатор питания — MCP1701AT-5002I фирмы микрочип. У него есть как сладкая сторона, так и горькая. Классная сторона это падение напряжения на нем порядка 0,3 — 0,6 В (за точной цифрой надо лезть в даташит), а это значит, что можно использовать источник питания начиная от usb выхода ПК и до старых зарядок для мобил. Сторона по хуже это то, что входное напряжение должно біть не более 10 В, блоки питания от роутеров уже не канают. Управляются часы всего двумя клавишами. Ну и фото платы:


Концепция часов с большими цифрами

Конструктивно девайс будет состоять из двух плат – одна над другой. Первая плата – матрица светодиодов, образующих разряды часов и минут, Вторая – силовая часть (управление светодиодами), логика и питание. Такая конструкция сделает часики более компактным (без корпуса примерно 22см х 9 см, толщиной сантиметра 4-5) + даст возможность прикрутить матрицу к другому проекту, если что то пойдет не так.

Силовая часть будет построена на базе драйвера UL2003 и транзисторных ключах. Логическая - на Atmega8 и DS1307. Питание: 220В - трансформатор; логика 5В (через 7805), силовая часть - 12В (через LM2576ADJ). Отделено будет предусмотрена кроватка для батарейки 3В для автономного питания часов реального времени - DS1307.

Думаю использовать Atmega8 и DS1307 (часики планирую подвесить под потолком, и что бы в случае пропадания электричества каждый раз не лазить за настройкой), однако разводка платы будет предполагать возможность работы девайса и без DS1307 (на первое время, а может и навсегда – уж как получится).

Таким образом, в зависимости от комплектации алгоритм работы программы часов будет следующим:

Atmega8 – счетчик времени по таймеру. Работа в цикле без пауз: опрос клавиатуры, корректировка времени (если необходимо), отображение 4 разрядов и разделителя.

Atmega8 + DS1307 . Работа в цикле без пауз: опрос клавиатуры, корректировка времени DS1307 (если необходимо), зачитка времени с DS1307, отображение 4 разрядов и разделителя. Или другой вариант – зачитка с DS1307 по таймеру, остальное в цикле (пока не знаю как лучше).

Сегмент представляет собой 4 красных светодиода, соединенных между собой последовательно. Одна цифра – 7 сегментов с общим анодом. Сегменты не планирую разделять шаблоном «восьмерки», как это сделано в обычных индикаторах.

Силовая часть часов

Силовая часть часов построена на драйвере UL2003 и транзисторных ключах VT1 и VT2.

UL2003 отвечает за управление сегментами индикатора, ключи – за управление разрядами.

Отдельно управляется разделитель часов и минут (сигнал K8).

Управление сегментами, разрядами и разделителем осуществляется от микроконтроллера подачей положительного потенциала (т.е. подачей +5В) на К1-К8, Z1-Z4.

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

В качестве транзистора VT1 (BCP53) можно использовать транзистор BCP52.

Схема силовой части часов с большими цифрами

Печатная плата семисегментного индикатора для часов с большими цифрами

Как я говорил ранее, конструктивно часы будут состоять из двух печатных плат - плата индикатора + логика и силовая часть.

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

Разработка печатной платы семисегментного индикатора для часов с большими цифрами

Печатная плата семисегментного индикатора для часов с большими цифрами в формате "lay" находится конце статьи, в присоединенных файлах. О технологии изготовления печатных плат методом ЛУТ можно почитать .

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

Готовая печатная плата семисегментного индикатора для часов с большими цифрами

Сборка семисегментного индикатора

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

Межслоевые переходы на плате индикатора

Следующий шаг, собственно говоря, сборка индикатора. Для чего нам понадобится пачка красных (зеленых, белых, синих) светодиодов. Я, например, брал эти.

Подготовка к сборке индикатора

При установке диодов не забываем, что мы делаем индикатор с общим анодом - т.е. "+" диодов должны быть соединены вместе. Общие аноды на печатной плате - это большие фрагменты меди. Обязательно обратите внимание на анод разделительной точки.

Расположение анодов на печатной плате индикатора

В итоге, после 2 часов кропотливой работы должно получиться вот что:

Семисегментный индикатор

Цифровая часть часов

Цифровую часть часов с большими цифрами будем собирать по схеме:

Схема часов с большими цифрами

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

Итак, элементная база, которую использовал я:

1. Диодный мост DFA028 (подойдет любой компактный для поверхностного монтажа);
2. Регуляторы напряжения LM2576ADJ в корпусе D2PAK, 78M05 в корпусе HSOP3-P-2.30A;
3. Транзисторные ключи BCP53 (корпус SOT223) и BC847 (корпус SOT23);
4. Микроконтроллер Atmega8 (TQFP);
5. Часы реального времени DS1307 (SO8);
6. Блок питания 14В 1,2А от какого-то старого устройства;
7. Остальные детали - любого типа, подходящие по размерам для установки на печатную плату.

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

Обратите внимание на номиналы сопротивлений R3 и R4 - они должны быть именно такими, какие указаны на схеме - не больше не меньше. Это сделано для того, что бы обеспечить на выходе регулятора напряжения LM2576ADJ ровно 12В. Если все таки не удастся найти такие номиналы резисторов, то значение сопротивления R4 может быть рассчитано по формуле:

R4=R3(12/1.23-1) или R4=8.76R3

Сборка цифровой части. Версия 1, без DS1307

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

Я рекомендую начать со сборки блока питания и только за тем выполнить монтаж цифровой части. Это общая рекомендация по самостоятельной сборке девайсов. Почему? Просто потому, что если блок питания собран с ошибкой можно пожечь всю низковольтную электронику, которая должна питаться этим блоком питания.

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

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

Контрольные точки и значения напряжений для блока питания часов

После того, как проверка блока питания выполнена приступаем к сборке цифровой части часов - устанавливаем все остальные элементы на печатную плату. Проверяем на КЗ, особенно в ногах микроконтроллера Atmega и драйвера UL2003.

Монтаж цифровой части часов

Обратите внимание на то, что сборку часов мы выполняем БЕЗ установки часов реального времени DS1307, однако вся обвязка этой микросхемы должна быть выполнена. В будущем, если возникнет необходимость, это сэкономит нам время на доработку часов под вторую версию, там где все таки будут использоваться отдельные, независимые часы реального времени на DS1307.

Предварительная проверка микроконтроллера ATMEGA8

Для того, что бы проверить правильность и работоспособность микроконтроллера нам потребуется:

1. Программатор, например USBASP .
2. Дата-кабель V4 для внутрисхемного программирования микроконтроллера.
3. Программа AVRDUDESHELL.

Подключаем плату часов к дата-кабелю. Дата-кабель подключаем к программатору. Программатор к компьютеру, на котором установлена программа AVRDUDESHELL. Подключать плату часов к питающей сети 220В не следует.

Удачное чтение данных с микроконтроллера программой AVRDUDESHELL

Если при чтении фьюзов возникла проблемы - проверяйте монтаж - возможно где то есть короткое замыкание или "непропай". Еще один совет - возможно микроконтроллер находится в режиме низкоскоростного программирования, тогда достаточно переключить программатор в этот режим (