8. Часы с двумя DS18x20 с маленькими индикаторами
По просьбе трудящихся была сделана модификация часов из первой статьи. Схема (два индикатора - просто для проверки ОА/ОК в протеусе, в схеме один индикатор ОА или ОК)
Схема с ОА
Схема с ОК
Меню.
1 - будильник
2 - часы/минуты
3 - минуты/секунды 4 - день недели 5 - число/месяц (29 февраля не отображает) 6 - время отображения часов (сек) 7 - время отображения дня (сек) 8 - время отображения температуры (сек) 9 - коррекция +/-12 секунд/сутки с шагом 0,1 сек 10 - яркость ночью 11 - время ночи (пониженной яркости) 12 - тон сигнала будильника (условно) 13 - настройка автоповтора будильника
14 - термометр 1 (HET/DS18S20/DS18B20) 15 - термометр 2 (HET/DS18S20/DS18B20) С датчиком DS18S20 дискретность 0,5 ⁰С (-55..+99 ⁰С). С датчиком DS18B20 дискретность 0,1 ⁰С (-55..+99 ⁰С).
Для прошивки v1.9 - вместо переключателя ЯркостьMin Работа датчиков температуры.
Программирование битов EEPROM. При программировании в EEPROM необходимо прописать (прошивка v1.7): ( 02 02 F0 00 14 14 XX ZZ WW KK MM LL ) дальше по умолчанию FF
Пояснения:
02: 00 - термометра 1 нет, 01 - DS18S20, 02 - DS18B20 (начальная установка, меняется в меню).
02: 00 - термометра 2 нет, 01 - DS18S20, 02 - DS18B20 (начальная установка, меняется в меню).
F0: значение коррекции = 240 (начальная установка, меняется в меню).
00: значение коррекции = 0 (начальная установка, меняется в меню).
14: яркость ночи 20 (начальная установка, меняется в меню).
14: тон звука 20 (начальная установка, меняется в меню).
XX: 00 - 4.000МГц, 01 - 4.096МГц (в меню нельзя поменять).
ZZ: отображать знак градуса? 00 - нет, 01 - да (в меню нельзя поменять)
WW: режим звука 00 - постоянно, 01 - один импульс, 02 - через секунду,03 - пищит с частотой TON (в меню нельзя поменять)
KK: индикаторы с общим катодом? 00 - нет, 01 - да (в меню нельзя поменять)
MM: что высвечиваем перед температурой в доме? (см ниже)
LL: что высвечиваем перед температурой на улице? (см ниже)
Символы перед температурой
0A - "пробел" 0B - "-" 0C - "градус" 0D - "А" OE - "C"
OF - "d" 10 - "E" 11 - "F" 12 - "H" 13 - "L"
14 - "t" 15 - "Г" 16 - "b" 17 - "П" 18 - "Р"
19 - "Ц" 1A - "Y" 1B - "o" 1C - "r" 1D - "U"
Фото от Ham
Кварц с частотой 4.000 МГц лучше не использовать, ход часов будет не точный, это связано с особенностью TMR0, используемого для формирования временных интервалов часов (относится к версиям ниже v1.9).
Обновление 29.07.2012
Изменения:
- переработан алгоритм контроля напряжения сети
- переработан алгоритм опроса датчика температуры (маскирует мигание индикаторов)
- "минус" при отображении температуры теперь стоит перед цифрами, а не только в левом знакоместе
- Обращение к датчику будет происходить только во время переключения индикации из режима
"Температура1" в режим "Температура2" и из режима "Температура2" в режим "Время"
- возможность выбора отображения знака градуса
- можно выбрать буквы из знакогенератора перед температурой
- коррекция +/-24,0 секунды в сутки, шаг 0,1 секунда (каждые 6 минут по 0,1 секунде, до 240 раз в сутки)
- запись в EEPROM через 20 секунд после изменения параметра, который надо записывать
- будильник пищит 1 минуту, потом через минуту еще 2 минуты. (по другому я его утром просыпаю :D )
Прошивка, исходник v1.6 - (описание в архиве, читать перед прошивкой в контроллер)
Обновление 29.07.2012
Обновление 24.08.2012 - перезалил прошивку (улучшена точность хода с кварцем 4.000МГц)
Изменения:
- будильник пищит 1 минуту, потом автоповторы через каждые 5 минут (период настраивается в меню до 60 минут)
- звук отключается коротким нажатием на минус, будильник полностью отключается длинным нажатием
Прошивка, исходник v1.7 - (описание в архиве, читать перед прошивкой в контроллер)
Обновление 14.06.2014
Обновление 16.06.2014 (исправлено отображение и звук в меню "Тон")
Изменения:
- добавлена настройка числа и месяца ("Пont" "Число.Месяц") - при нажатии кнопки "Меню" отображается "Число.День" на 1 секунду - при нажатии кнопки "Плюс" отображается "Время будильника" на 1 секунду - добавлено отображение температуры без десятых долей и со знаком градуса (настраивается в EEPROM) Прошивка, исходник v1.8 - (описание в архиве, читать перед прошивкой в контроллер)
Обновление 18.05.2015 Изменения:
Прошивка, исходник v1.9 - (описание в архиве, читать перед прошивкой в контроллер)- полностью устранен неконтролируемый уход времени при использовании кварца 4,000 МГц. TMR0 не предустанавливается. - начало и конец ночи настраиваются от 0 до 23 часов. При равенстве значений, яркость остается максимальной. - переделан ШИМ яркости (прерывание). - диапазон коррекции хода +/-12 секунд в сутки с шагом 0,1. - добавлена яркость от внешнего освещения с фототранзистором L-3DP3C на 4 ноге (дискретная яркость). - оптимизирована программа, обрезан знакогенератор, меню перенесено в EEPROM Модификация 1 от 12.06.2014 (+термостат)
Изменения:
- будильника нет - добавлен термостат с 2мя уставками (вкл/откл нагрузки "L on"/"L oF") - режим нагреватель/охладитель выбирается автоматом - джампер на 4й ноге выбирает термометр для термостата Прошивка, исходник, схема v1.7 termostat - (описание в архиве, читать перед прошивкой в контроллер)
Модификация 2 от 14.06.2014 (автомобильная версия)
Изменения:
- на 4й ноге ключ зажигания (выключаем - индикатор тухнет через 3 секунды, включаем - загорается) - коротко по кнопке меню: режим "часы"/режим "таймер включеного зажигания" - сброс таймера включеного зажигания - длинное нажатие на + или - в режиме "таймер включеного зажигания" - нет звонка, дня недели, будильника, тона звука (ну и соответствующих п/меню) - яркость общая (нет ночного режима) - в режиме выключеного зажигания часы могут показывать при нажатии кнопок: часы, температуру1, температуру2 - в режиме выключеного зажигания "таймер включеного зажигания" остановлен. Прошивка, исходник, схема v1.7 auto - (с плавным нарастанием и уменьшением яркости)
Прошивка, исходник, схема v1.7 auto_1 - (описание в архиве, читать перед прошивкой в контроллер)
| |
Категория: Часы | Добавил: Boroda (01.05.2012) W | |
Просмотров: 17186 | Комментарии: 52 | |
Всего комментариев: 52 | 1 2 » | |||||||||||||||||||||||||||||||||||
|