Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.85/171: Рейтинг темы: голосов - 171, средняя оценка - 4.85
ykosho
1

Таймер с часами

10.07.2010, 00:23. Показов 30928. Ответов 25
Метки нет (Все метки)

По заказу жены сделаны были часики. Заодно в них появились настраиваемые таймеры, будильник и термометр (как же без него, когда дома лежат DS18B20?).
Выглядит это так:


<Изображение удалено>

Плата двусторонняя, ЛУТ. Почти идеально совместились стороны, со сверлением/пайкой проблем не возникло. Правда, перекосил рисунок относительно текстолита, поэтому перед установкой в корпус пришлось подрезать плату. Печатал на принтере Samsumg ML-1641.
Питание от 3 батареек AA, в режиме отображения времени и температуры потребляет 1.2 mA. Измерение температуры каждую секунду увеличивало потребление вдвое, поэтому сейчас градусник запускается раз в минуту.

Комплектующие:
- Atmega48V-10AU, 1 MHz, текущая прошивка занимает ~1900 байт
- часовой кварц
- градусник DS18B20
- RGB светодиод ARL-5213RGBC/4C
- энкодер с кнопкой PEC16-4220F-S0024
- пищалка F-B-P1303ESB-02LF
- ЖК дисплей WH-0802A-YGH-CT
- корпус Gainta G205C
- стойки для установки платы и болты нужной высоты
- батарейный отсек 3xAA BH331A

Управляется все через меню энкодером. Меню одноуровневое, можно установить таймеры на 15 и 30 минут, можно перейти в режим ручного ввода таймера, будильника, включить/отключить звук при срабатывании таймеров, задать собственно время для часов. Если запущен таймер, в меню появляются опции остановки и паузы обратного отсчета.
Меню на русском :-)


<Изображение удалено>

Схемы нет, есть сразу разведенная плата в формате geda PCB.
Код на ассемблере, заточен под avr-as - макросы, временные метки весьма удобны, да и нет более удобных средств разработки под FriiBSD.
Разъем ISP выведен на плате, программировалось всё сначала с помощью STK500, а потом, намного быстрее и удобнее - программатором от THI BIOST ()
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2010, 00:23
Ответы с готовыми решениями:

Работа часами
select idpunkta, idmarsh,(vremyadata+vremyaprib) as data1, (vremyadata+vremyaotp) as data2 from...

Виджет с часами
Пишу виджет, который показывает время. Запускаю часы на эмуляторе (Android 4.0.3) работает без...

Программа с часами
Доброго времени суток! Вот программа с часами, подскажите пожалуйста почему при запуске выскакивает...

Задачка с часами
Помогите,очень прошу Наши часы не корректны, они неверно отображают число минут и секунд, когда те...

25
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
10.07.2010, 01:42 2
Весьма недурно. Прозрачная крышка рулит - не надо ковырять прямоугольные дырки под индикаторы, и начинку видно.
0
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 831
10.07.2010, 02:11 3
Мнеб такие да в мастерскую !
ДА неплохо зделано!
А прозрачная криш вопше.......РУлеЗ:)
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
10.07.2010, 11:46 4
Расскажи как сделал интерфейс. Вижу только одну крутилку. А кнопочек нету?
0
ykosho
10.07.2010, 12:11 5
Все на энкодере, он нажимается - это и есть единственная кнопка.
Соответственно, влево-вправо навигация по меню, нажатие - выбор нужного элемента.
Есть набор состояний - cSTATE_IDLE, cSTATE_MENU, cSTATE_ENTER_TIME, cSTATE_ALARM, cSTATE_ENTER_SOUND.
Для каждого состояния определяются функции обработки сообщений от энкодера и таймера. Обычно таймер устанавливается на функцию вываливания в состояние idle. А функции обработки сообщений от энкодера умеют увеличивать/уменьшать время при его ручном вводе, перемещаться по меню ну и переходить куда надо при нажатии.
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
10.07.2010, 14:14 6
Раз крышка прозрачная, можно было под неё подложить красиво напечатаную панель на бумажке...
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
10.07.2010, 17:23 7
ДА ну нах. Треш дизайн - кишки наружу форева!
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 2,550
10.07.2010, 17:40 8
Кстати, прозрачная крышка противится царапинам или как?
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 1,230
10.07.2010, 19:11 9
Красиво, и да респект за применение такой интересной игрушки как энкодер с кнопкой.
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
10.07.2010, 19:23 10
странно от вас слышать о крутизне прозрачных корпусов с кишками наружу
дешевой китайщиной несет и технодрочерами с хабра, которые паяльник видели на картинках

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

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

т.е овернул вправо и побежали цифры
перестал врачаться и если не 0, то отсчет времени пошел - просто и без заморочек с меню

не нужен таймер? отмотал до 0 и он выключился
т.к. у тебя есть кнопка, то ее можно задействовать как паузу
0
ykosho
10.07.2010, 20:36 11
Цитата Сообщение от Mittid Mitot
Кстати, прозрачная крышка противится царапинам или как?
Увы, нет... обычный пластик.
ykosho
10.07.2010, 20:43 12
Цитата Сообщение от kotobyti
странно от вас слышать о крутизне прозрачных корпусов с кишками наружу
дешевой китайщиной несет и технодрочерами с хабра, которые паяльник видели на картинках
Так было задумано изначально. Результат понравился.
Паяльник я уже пару месяцев не видел, использую паяльную станцию ;-)
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
10.07.2010, 21:50 13
Цитата Сообщение от Mittid Mitot
Прозрачная крышка рулит - не надо ковырять прямоугольные дырки под индикаторы, и начинку видно.
Вот еще пример. Осваивая Ардуино, сваял контроллер электропечки. С прозрачной крышкой :)

Из интересного здесь, пожалуй, то, что вместо энкодера поставил обычные потенциометры, благо аналоговых входов достаточно. Один из них задает длительность таймаута (1...99 минут, неравномерный шаг), второй - мощность нагрева (ШИМ с частотой 1 минута).
Поддержание температуры не получилось. ОЧЕНЬ инерционная штука, причем задержка именно между нагревом ТЭНа и информацией о его температуре. Поэтому DS18B20 стоит там "для мебели". Вот, сейчас просто показывает, что в какой-то точке подкапотного пространства имеем 98 градусов.
Проект решил не выкладывать в силу полной нерациональности - новая плитка, ИСТЕСНА, стоит дешевле, чем примененные компоненты (в том числе коробочка с прозрачной крышкой).

А по поводу критики таких решений, то у меня есть около 1850 приборов, установленных на необъятных просторах 1/6 части суши, а также в Иране. Ясен перец, никакой начинки там не показывается, закрыто фальшпанелькой. Зато IP64 обеспечивается, хоть под душ ставь прибор. И работает в пылище на мельницах, элеваторах и прочих неудобных местах. Первым приборам около 12 лет.
Посему - не спешите критиковать. Авторы создают для себя, в первую очередь. Вот мне понравилось :)

0
0 / 0 / 0
Регистрация: 23.05.2007
Сообщений: 792
11.07.2010, 15:26 14
Цитата Сообщение от kotobyti
предложу следущий алгоритм... ...т.е овернул вправо и побежали цифры
перестал врачаться и если не 0, то отсчет времени пошел - просто и без заморочек с меню.
не нужен таймер? отмотал до 0 и он выключился
т.к. у тебя есть кнопка, то ее можно задействовать как паузу
У меня именно так сделано. А нажатие на кнопку включает на несколько секунд показ прошедшего времени.
0
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 120
16.08.2010, 22:47 15
а схема есть?
хотя бы подключения энкодера )
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 966
16.08.2010, 22:59 16
Цитата Сообщение от mwomomoty
а схема есть?
хотя бы подключения энкодера )
Подключить его - плёвое дело. Алгоритм опроса чутка посложней =). глянь у меня на сайте если интересно
0
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 120
16.08.2010, 23:39 17
Цитата Сообщение от Midvyd
Цитата Сообщение от mwomomoty
а схема есть?
хотя бы подключения энкодера )
Подключить его - плёвое дело. Алгоритм опроса чутка посложней =). глянь у меня на сайте если интересно
спасиб, гляну.
просто достался такой же энкодер сегодня, описания нет. на нём пять ножек - что из них кто не знаю )

а с логикой я уж разберуся
0
ykosho
17.08.2010, 01:11 18
Скриншот из даташита прилагается. C - на землю, A и B на вход МК. Там, где два контакта - это кнопка, нормально разомкнутая.

http://ykosho.som/pictures/pec16.png
ykosho
17.08.2010, 01:18 19
Сигналы на выходе, кстати, отличаются от нарисованных в даташите.
Код
PEC16 Signals

<------------------------>

A  _____                          _______
|                        |
|________________________|
B _________________               ______
|             |
|_____________|
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 120
17.08.2010, 07:28 20
Цитата Сообщение от ykosho
Сигналы на выходе, кстати, отличаются от нарисованных в даташите.
Код:
PEC16 Signals

<------------------------>

A _____ _______
| |
|________________________|
B _________________ ______
| |
|_____________|

и тебе спасиб )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2010, 07:28

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

Затуп с часами (решено)
В свойственной себе манере жестко туплю. Есть нездоровый участок схемы (часов) с мультивибратором...

Помогите, пожалуйста, с часами.
Здравствуйте. Необходимо мне сделать часы. Суть проста: выводится информация на семисегментный...

[Фортран 77] Общение с системными часами
Как получить из оных значение времени и запомнить его в некой переменной. С примером было бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.