Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Двухточечный термометр на DS18B20 и микроконтроллере PIC16F84 (A)

РадиоКот >Лаборатория >Цифровые устройства >

Двухточечный термометр на DS18B20 и микроконтроллере PIC16F84 (A)

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

Основой термометра является микроконтроллер PIC16F84, который осуществляет опрос интегральных термодатчиков DS18B20 и отображение информации на дисплее. Информация отображается на 10-разрядном 7-сегментном дисплее MT10T7-7T со встроенным контроллером производства компании “МЭЛТ”. Подробное описание дисплея можно найти на сайте компании: https://www.melt.aha.ru.

Микросхема DS18B20 это термометр с цифровым вводом/выводом, работающий с точностью +0.5°C. Данные считываются через 1-проводную последовательную шину в дополнительном от 9 до 12 битном (программируется пользователем) коде с ценой младшего разряда от 0.5°C до 0.0625°C.

Устройство выглядит следующим образом:

На индикаторе символ “d” обозначает “дом”, символ “u” – улица. В свободном на снимке разряде между символом “u” и значением температуры появляется знак “” при отрицательных значениях температуры.

Внутренности градусника:

А так размещен датчик на улице:

Датчик, измеряющий температуру в комнате находится внутри корпуса устройства. В корпусе просверлено несколько отверстий в месте расположения датчика. Датчик, измеряющий уличную температуру, помещен в подходящий пластмассовый корпус, наполненный теплопроводной пастой КПТ-8 и заизолирован от влаги герметиком. Для более правильного измерения температуры датчик вынесен на штанге подальше от стены дома. И, конечно, датчик надо бы закрыть от прямых солнечных лучей экраном, например из картона. Но мне его не было необходимости делать, так как солнце с той стороны дома, где находится датчик, появляется после 19.30, а температурой, как правило, интересуешься больше утром, перед выходом на работу.

Файлы:
Прошивка – 01.rar
Плата – 02.rar

Все вопросы – сюда.


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

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


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

www.radiokot.ru

РадиоКот :: Часы-термометр на микроконтроллере ATmega8.

  • 10 будильников на каждый день недели.
  • Отсрочка сигнала, если будильник не отключить, срабатывает примерно через 5 мин.
  • 8 будильников на отдельную ножку мк, вклоткл нагрузки.
  • Два датчика температуры DS18B20 (дома и на улице).
  • Таймер 99 часов.
  • Яркость индикатора настраивается для дневного и ночного времени.
  • Изменяемый параметр плавно меняет яркость, как в АОН.
  • При пропадании 220 вольт потребление от батарей 40 микроампер.
  • Будильник срабатывает при любом режиме питания.
  • Часы могут последовательно показывать до 4 режимов.

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

Форматы отображения.
0

Число, День недели, Часы-минуты.

1

Часы-минуты-секунды.

2

Часы-минуты.

3

Часы-минуты, День недели.

4

Число_месяц_день недели.

5

Температура 1 датчик, Температура 2 датчик.

6

Температура 1 датчик (датчик дома).

7

Температура 2 датчик (датчик на улице).

8

Температура 1 датчик, Часы-минуты.

9

Температура 2 датчик, Часы-минуты.

A

Температура 1 датчик, Температура 2 датчик.

b

Температура 1 датчик, Температура 2 датчик.

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


Кнопка F – выход из режима. Выбор 3 основных режимов.

Кнопка SET – вход в выбранный режим. Далее переход к следующему параметру (мигающему полю).
Кнопка PLUS – плюс/on. В режиме SETUP листать главные меню.
Кнопка MINUS – минус/__(off). В режиме SETUP листать главные меню.

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

Режим 0
нажать F
SET – вход в режим будильников.
F
SET – вход в режим таймера.
F
SET – вход в режим настроек.
F
Режим 0

Режим CALLS

on/__-будильник вкл/откл.
Дни недели, в которые сработает будильник (здесь в 6 и 7 день будильник выключен).
Будильники A B C D E F G H вкл/откл. вывод call a_h мк. Будильник пригодится для управления нагрузкой. С его помощью вывод call a_h можно устанавливать на любое количество минут.
___-выключен, SET-ножка буд. A-H уст в 1, CLS уст в 0.
n-сработает один раз, o-вкл. всегда.

Режим SETUP.
Для записи значений в EEPROM нужно все значения в подрежиме подтвердить нажатием SET.
Пример: LIGHT ->SET-> L.ooooo   ->SET-> НО4Ь L.2   ->SET->   LIGHT .

Главные меню режима SETUP.
PORT PLUS MINUS листать основные режимы меню SETUP.
SET – вход в выбранный режим, далее переход к следующему параметру.
Что бы выйти из выбранного режима нажать F.
ЧАСЫ
УSt SEE
SIGNAL
LIGHT
DS18B20
DEFAULT

Режим PORT.

Port Установить/сбросить ножку будильника A..H. call a_h.

Режим часы.

Устанавливаются: минуты, часы, день недели, число.
Месяц.
Корректировка секунд. Нажатие MINUS сбрасывает секунды в ноль. Если секунд было больше 31, то минуты прибавляются на один.
Коррекция хода часов. Данная величина прибавляется или вычитается каждый час. Шаг 0,03 секунды. Max=0.87.

Режим Уст SEE.

В нулевом режиме часы показывают попеременно до 4 режимов, для которых выбирается один из десяти форматов отображения и время его показа.
P1 выбор режима.
r0 выбор одного из десяти форматов отображения.
r0-003 время, которое будет виден выбранный режим.
При времени равном 000 режим не отображается
(выключен).
Форматы отображения.
0

Число, День недели, Часы-минуты.

1

Часы-минуты-секунды.

2

Часы-минуты.

3

Часы-минуты, День недели.

4

Число_месяц_день недели.

5

Температура 1 датчик, Температура 2 датчик.

6

Температура 1 датчик (датчик дома).

7

Температура 2 датчик (датчик на улице).

8

Температура 1 датчик, Часы-минуты.

9

Температура 2 датчик, Часы-минуты.

A

Температура 1 датчик, Температура 2 датчик.

b

Температура 1 датчик, Температура 2 датчик.

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

Режим УSt Буd. Установки будильника.

Bip сигнал будильника – ШИМ.
Pin сигнал будильника – уст в 1 вывод буд.
Oba Шим и вывод.
Отсрочка сигнала.
При откл. отсрочке будильник выключается нажатием любой клавиши.
При вкл. отсрочке сигнала будильник откл. кнопкой F, при нажатии кнопок SET PLUS MINUS сигнал отключается, но опять сработает примерно через 5 минут, если будильник не выключать, то после 8 раз срабатывания он откл. автоматически.
При активной отсрочке сигнала, в нулевом режиме, мигает точка последнего разряда.
Отключение отсрочки (при отсутствии сигнала). В режиме 0, нажатие SET вкл. этот режим. Наличие активной отсрочки индуцирует символ о на 4 знакоместе. Нажатие PLUS MINUS выключает отсрочку.

Режим DS18B20.

Датчики температуры DS18B20.
Режим показывает, как определилось подключение датчиков, и настраивает датчики на разрешение 12 бит.
on – датчик подключен 3 проводами;
PA.- паразитное питание, датчик подключен 2 проводами;
— – датчик отсутствует.
При выходе из этого режима датчики настраиваются на разрешение 12 бит.

Режим DEFAULT.

По нажатию SET: Установка по умолчанию основных переменных в программе, обнуление всех будильников. Запись этих значений в EEPROM.
Прочие режимы (SETUP).
LIGHT L ooooo – дневная яркость индикатора.
НОЧЬ L2 – яркость с 23-00 до 6-00.
SIGNAL после входа в режим кнопками плюс/минус выбирается:
budil. S или button. S
соответственно частота ШИМ для будильника и кнопок.
При входе в эти подрежимы на индикаторе:
H004.L000.
Частота генерируется в режиме быстрой шим(CTC mode). Верхний порог задается регистром OCR1A1. H004-старший байт L000-младший байт.
Что бы отключить сигнал от нажатия кнопок – установить H000 L000.
Если в режиме УSt Буd.выбрана опция PIN, для будильника шим сигнал выводится не будет.

Действия в нулевом режиме.

F – выбор режима.
SET – режим отмены отсрочки сигнала
PLUS – режим Уст SEE.
MINUS – установка будильников.


Схема clock.spl (7 Kb)

Датчик температуры можно подключить двумя проводами, для этого нужно замкнуть GND c VDD, при этом датчик переключится в режим паразитного питания. Такой способ удобно применять для датчика, который расположен на улице. При таком подключении нужен резистор 100 ом для защиты порта, на схеме указан. По программе перед каждым циклом чтения температуры выполняется проверка на замыкание и на присутствие датчика. При любом криминале вывод мк. переводится в Z состояние, на индикаторе: —.

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


В этой монтажке не установлены транзисторы на вывод таймера и будильника A..H.

lay.rar (12 Kb)


Программа написана на си в WinAvr.
Скачать исходник, HEX и EEP файлы. clock_t.rar (18 Kb)

При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). Запрограммировать бит CKOPT (подключение внутренних конденсаторов). посмотреть для PonyProg. Затем прошить EEPROM, или сбросить основные переменные в программе таким образом - SETUP -> DEFAULT -> SET.

www.radiokot.ru

Простейший термометр на PIC 16F628A

Доброго времени суток уважаемые читатели. Как видно из названия статьи , речь в ней пойдет о термометре собранном на PIC. Итак. Почему и как всё начиналось?!
Понадобилась мне схема простейшего термометра для подвала гаража. Начал искать подходящую схему в Интернете. Важным критерием было применение минимального количества элементов в схеме. Сразу скажу, что таких схем термометров в сети навалом. Но! Чаще всего они выполнены на AVR с которыми я к глубокому своему сожалению не дружу. Поэтому стал искать схему на PIC. Но и тут меня ожидало разочарование. Схемы термометров на PIC есть. Но там применяют, то транзисторы для индикаторов, то внешний кварц, либо еще что то, что усложняло схему и было неприемлемо в моем случае. Наконец, после долгих поисков, подходящая мне схема была найдена тут:

http://www.labkit.ru/html/show_meter?id=38
И была успешно повторена неоднократно. Всё прекрасно работает. (на сайте автора этой схемы есть и прошивка и печатная плата для повторения данного термометра). Время шло. И в одно прекрасное время во первых выяснились недочеты данной схемы и еще мне понадобилось применить индикатор с Общим Катодом (на сайте автора прошивка была только под Общий Анод). Теперь о недочете схемы в первоисточнике. Изначально в схеме автора нет резистора подтяжки у датчика температуры. Тоесть резистор на 4,7К в схеме отсутствует. Да действительно при таком исполнении схемы термометр может работать, но только при условии, если датчик температуры впаян сразу в плату, либо длина провода на котором находится датчик не должен превышать длины провода метр, полтора метра. Не более. В противном случае индикатор начинает показывать какую- то ерунду, а не температуру.
Такой поворот событий меня совсем не обрадовал. Потому как длинна провода с датчиком мне была нудна не менее 10 метров.
Эта проблема решилась очень просто и быстро, именно установкой подтягивающего резистора 4,7К на датчике. После чего датчик стал работать стабильно при любой длине провода. Но как быть, если у меня есть индикаторы только с общим катодом! А прошивка сделана под анод… Вот тут мне и помог Станислав Дмитриев. За что ему огромнейшее спасибо. Он не только написал прошивку под общий анод. Но так же и под общий катод и под разные типы датчиков температуры (DS18S20 или DS18B20). Что позволило еще более унифицировать данную схему. И рекомендовать её к повторению. Также можно применить в схеме как четырех разрядные семисегментники так и трех разрядные семисегментники. Что является не большим, но все, же плюсом.
Теперь сама схема

Как вы видите, схема не отличается от той, что представлена, была на сайте http://www.labkit.ru
Так и было задумано изначально. Единственное изменение в схеме это установка дополнительного резистора. Схему я не стал перерисовывать с нуля. Просто добавил недостающий элемент схемы. По сути если Вы хотите еще более упростить схему и у вас есть стабильный источник питания 5В, то Вы можете исключить из схемы и линейный стабилизатор. И запитать МК сразу от 5В.
Теперь поговорим немного о том, как самому настроить прошивку под нужный вам индикатор или датчик. Тут всё просто.

Загрузив файл прошивки в программатор, Вы сами: исходя из того, что вам нужно и смотря на данный скриншот, прописываете нужные вам параметры в файл прошивки в разделе EPROM. После чего можете прошивать контролер.

В моём варианте печатной платы в плате предусмотрено место не только для линейного стабилизатора, но и для диодного моста (что позволит запитывать схему напряжением от 7,5В до 12В. А так же на плате предусмотрено место для установки клемника, который позволяет не впаивать датчик температуры в плату, а зажать его зажимами. Это удобно при смене датчика, либо при установке датчика на длинный провод. Позволяет быстро сменить провод.

Рисунок платы

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

Подводя итог скажу.
Благодаря трудам, проделанным Станиславом Дмитриевым, в данной схеме стало возможным применять;
Датчики температуры DS18S20 или DS18B20
Семисигментные индикаторы, как с общим анодом, так и с общим катодом.

Бонусы:
Отображение на дисплее информации без десятых долей, либо с десятыми долями градуса.
Без знака градуса, либо со знаком градуса.

При неисправности датчика пишет «Err»
Обновление индикации 122 Гц
Опрос датчика 1,5 секунды
Диапазон измерения -40..+99оС
Сайт автора данной прошивки http://ucprog.ucoz.ru

Автор статьи Кулибин.

Архив с прошивкой и платой

texrazbor.ru

Часы-термометр на микроконтроллере ATmega8. V 2.0

Ага 🙂 опять часы.

    Что есть:
  • Два датчика температуры DS18B20.
  • Термостат с тремя временными зонами.
  • 10 будильников на каждый день недели.
  • Отсрочка сигнала, если будильник не отключить, срабатывает примерно через 5 мин.
  • Два будильника на отдельную ножку мк, вклоткл нагрузки.
  • Выбор отображения температуры (гашение не значащего нуля).
  • Яркость индикатора настраивается для дневного и ночного времени.
  • Изменяемый параметр плавно меняет яркость.
  • При пропадании 220 вольт потребление от батарей меньше 40 микроампер.
  • Будильник срабатывает при любом режиме питания.
  • Часы могут последовательно показывать до 8 режимов.
  • В схеме можно использовать индикаторы с общим анодом или катодом.

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

Форматы отображения.
0

Число, День недели, Часы-минуты.

1

Часы-минуты-секунды.

2

Часы-минуты.

3

Часы-минуты, День недели.

4

Число_месяц_день недели.

5

Температура 1 датчик, Температура 2 датчик.

6

Температура 1 датчик (датчик дома).

7

Температура 2 датчик (датчик на улице).

8

Температура 1 датчик, Часы-минуты.

9

Температура 2 датчик, Часы-минуты.

A

Температура 1 датчик, Температура 2 датчик.

b

Температура 1 датчик, Температура 2 датчик.

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


Кнопка F – выход из режима. Выбор 3 основных режимов.
Кнопка SET – вход в выбранный режим. Далее переход к следующему параметру (мигающему полю).
Кнопка PLUS – плюс/on. В режиме SETUP листать главные меню.
Кнопка MINUS – минус/__(off). В режиме SETUP листать главные меню.

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

Режим 0
нажать F
SET – вход в режим будильников.
F
SET – вход в режим быстрой настройки термостата.
F
SET – вход в режим настроек.
F
Режим 0

Режим CALLS

on/__-будильник вкл/откл.
Дни недели, в которые сработает будильник (здесь в 6 и 7 день будильник выключен).
Будильники для управления нагрузкой.
Будильники A B вкл/откл. вывод call a_h мк. С его помощью вывод call a_h можно устанавливать до 23 часов 59 минут.
Устанавливается время, часы-минуты-секунды, на которое включится вывод call a_h. Затем идет установка дней.

Режим быстрой настройки термостата.

Слево-направо.
Температура первого датчика (термостат только по первому датчику).

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

Р1 – вывод термостата включен.
Р0 – выключен.
При изменении данного параметра, функция термостата отключается (чтоб не путалась под ногами и не перехватывала управление)..

В этом режиме, когда не редактируются параметры (нет мигающего поля), нет автозавершения по времени (режим наладки).

Режим SETUP.
Для записи значений в EEPROM нужно все значения в подрежиме подтвердить нажатием SET.
Пример: LIGHT    ->SET-> L.ooooo  ->SET-> НО4Ь L.2  ->SET->    LIGHT .

Главные меню режима SETUP.
ЧАСЫ PLUS MINUS листать основные режимы меню SETUP.
SET – вход в выбранный режим, далее переход к следующему параметру.
Что бы выйти из выбранного режима нажать F.
PORT
T-Stat
УSt SEE
УSt БУД
SIGNAL
LIGHT
DS18B20
СБРОС НАС.

Режим часы.

Устанавливаются: минуты, часы, день недели, число.
Месяц.
Корректировка секунд. Нажатие MINUS сбрасывает секунды в ноль. Если секунд было больше 31, то минуты инкрементируются.
Коррекция хода часов. Данная величина прибавляется или вычитается каждый час. Шаг 0.008 секунды. (50 значений), максимальное значение 0.391. Пример расчета: при коррекции равной нулю измеряется уход часов, например за 5 дней часы убежали на 3 секунды, тогда коррекция ровна 3/(5*24)=0.025.

Режим PORT.

Port Установить/сбросить ножку будильника A..H. call a_h.

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

Режим Уст SEE.

В нулевом режиме часы показывают попеременно до 8 режимов, для которых выбирается один из десяти форматов отображения и время его показа (верхняя таблица).
P1 выбор режима.
r0 выбор одного из десяти форматов отображения.
r0-003 время, которое будет виден выбранный режим.
При времени равном 000 режим выключен.

Режим УSt Буd. Установки будильника.

Bip сигнал будильника – ШИМ.
Pin сигнал будильника – уст в 1 вывод буд.
Oba Шим и вывод.
Отсрочка сигнала.
Задаётся число отсрочек сигнала.
При откл. отсрочке (00) будильник выключается нажатием любой клавиши.
При вкл. отсрочке сигнала будильник откл. кнопкой F, при нажатии кнопок SET PLUS MINUS сигнал отключается, но опять сработает примерно через 5 минут.
При активной отсрочке сигнала, в нулевом режиме, мигает точка последнего разряда.
Отключение отсрочки (при отсутствии сигнала). В режиме 0, нажатие SET вкл. этот режим. Наличие активной отсрочки индуцирует символ о на 4 знакоместе. Нажатие PLUS MINUS выключает отсрочку.

Режим DS18B20.

Датчики температуры DS18B20.
Режим показывает, как определилось подключение датчиков, и настраивает датчики на разрешение 12 бит.
Выбор отображения температуры.
1 – 07.5
2 – &nbsp 7.5 гашение нуля.
on – датчик подключен 3 проводами;
PA.- паразитное питание, датчик подключен 2 проводами;
— – датчик отсутствует.
При выходе из этого режима датчики настраиваются на разрешение 12 бит.

Режим Light.

Настраивается яркость для дневного времени.
Для ночи.
Ночное время.

Режим Сигнал.

SIGNAL после входа в режим кнопками плюс/минус выбирается:
budil. S или button. S
соответственно частота ШИМ для будильника и кнопок.
При входе в эти подрежимы на индикаторе:
H004.L000.
Частота генерируется в режиме быстрой шим(CTC mode). Верхний порог задается регистром OCR1A1. H004-старший байт L000-младший байт.
Что бы отключить сигнал от нажатия кнопок – установить H000 L000.
Если в режиме УSt Буd.выбрана опция PIN, для будильника шим сигнал выводится не будет.

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

По нажатию SET: Установка по умолчанию основных переменных в программе, обнуление всех будильников. Запись этих значений в EEPROM.

Действия в нулевом режиме.

F – выбор режима.
SET – режим отмены отсрочки сигнала
PLUS – режим Уст SEE.
MINUS – установка будильников.


Каждый час, на одну секунду, устанавливается вывод PB2(16).

Для экономии, в режиме питания от батарей запрещается отсрочка сигнала.


Схема.

Из схемы можно исключить конденсаторы к кварцу, если запрограммировать fuse бит CKOPT.

Датчик температуры можно подключить двумя проводами, для этого у датчика нужно замкнуть GND c VDD, при этом включается режим паразитного питания. Такой способ удобно применять для датчика, который расположен на улице. По программе перед каждым циклом чтения температуры выполняется проверка на замыкание и на присутствие датчика. При любом криминале вывод мк. переводится в Z состояние, на индикаторе: —.
Если первый датчик используется в режиме термостата, то он должен быть подключен 3 проводами.

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


При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). посмотреть для PonyProg. Cбросить основные переменные в программе – SETUP -> СБРОС НАС. -> SET.


www.radiokot.ru

Часы с термометром на микроконтроллере

Подробности
Категория: Микроконтроллеры
Опубликовано 15.06.2016 13:34
Автор: Admin
Просмотров: 1745

Простые часы с термометром на микроконтроллере AVR ATtiny2313 с выводом информации на семисегментный индикатор. Часы используют для отсчета времени микросхему DS1307 – часы реального времени и источником резервного питания в 3 В. Температура измеряется при помощи датчика температуры DS18B20.

 Текущее значение времени и температуры происходит поочередно сначала время а потом температура с нтервалом в 4 секунды. Формат отображения времени ЧЧ.ММ (часы,минуты). Первый ноль не отображается. О ходе отсчета времени сигнализирует мигающая точка.

 Точность отображения температуры составляет десятые доли градуса. Погрешность в интевале температуры от -10 до 85 градусов составляет порядка +/- 0.5. В другом диапазоне точность уже +/- 2 градуса.

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

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

Схема часов с термометром на микроконтроллере

chasy

 

chasy2

Представленные схемы отличаются только общим выводом индикатора анод и катод. Индикаторы работают в динамической индикации. Динамическая индикация раелизована программно. Каждый семисегментный индикатор включается с интервалом 100 раз за 1 секунду. остальное время выключен. 

Прошивка для микроконтроллера

В архиве имеются файлы Proteus и сама прошивка написана на ассемблере. Прошивка может работать для двух вышеприведенных схем, для схемы с индикатором с общим катодом и схемы индикатора с общим анодом. При прошивке микроконтроллера важно выствыить fuse-биты: CKSEL3, CKSEL1, CKSEL0, SUT0, BODLEVEL1, BODLEVEL0.

Скачать: прошивка микроконтроллера

Вход в режим усановки времени осуществляется нажатием и удерживанием кнопки “ввод”. После того как пройдет 3 секунды начнется режим установки минут. Для того чтобы устаноыить новое значение времени нужно использовать кнопки “больше” и “менеше”. Для того чтобы перейти в режим установки часов необходимо нажать на кнопку “ввод”. Для того чтобы сохранить выбранное время нужно также нажать и удерживать кнопку “ввод” после этого программа выйдет из режима установки времени. Если после этих всех операций в течении 10 секунд не будет нажата какия нибудь кнопка то часы перейдут в рабочее состояние и новое значение времени не будет сохраненно.

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

Индикатор или дисплей собран на двух семисегментных индикаторах FYD-8021BS-11, каждый имеет 2 разряда и имеют общий анод.

Вместо указаных на схеме вернхних включающих транзисторов платы можно использовать другие к примеру KT361B.

Часы с термометром на микросхеме

Часы с термометром на микросхеме

Часы с термометром на микросхеме

Часы с термометром на микросхеме

Исходник статьи: Часы-термометр

  • < Назад
  • Вперёд >
Добавить комментарий

radio-magic.ru

Часы-термометр на микроконтроллере ATmega8 с секундной стрелкой

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

Часы-термометр на микроконтроллере ATmega8 с секундной стрелкой

Часы разрабатывались как аналог довольно дорогих часов ASSISTANT AH-1082.

В итоге получились часы со следующими характеристиками:

  • Два датчика температуры DS18B20 (дома и на улице)
  • Резервное питание часов от батареи CR2032 (без индикации)
  • Светодиодная секундная стрелка
  • Датчик освещённости для изменения яркости (день/ночь)
  • Программная подстройка хода +/- 30 сек в неделю


В первой строке отображаются часы и минуты, во второй поочерёдно температура на улице/дома и светодиодами по кругу секунды (заполнением начиная с нулевой). Каждую нечётную минуту заполнение происходит зажиганием светодиода, а чётную гашением.

Вход в режим настройки, переключение между настройкой часов, минут и коррекцией хода кнопкой MODE. Уменьшение / увеличение кнопками “-“ / ”+”.

О деталях:


 

Программа написана на асеммблере в AvrStudio.

 Схема нарисована в Splan, а плата в Sprint Layout

При прошивке мк установите биты CKSEL3..0 в 0100 (внутренний RC генератор 8 Meg )

SUT1:0 должен быть уже в 10 (65ms).

Файлы:
прошивка, исходники, плата, схема

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


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

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

www.radiokot.ru

РадиоКот :: Простые часы на микроконтроллере.

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

Простые часы на микроконтроллере.

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

В качестве индикатора был использован 7-сегментный 4-х разрядный индикатор с общим катодом и объединенными одноименными сегментами. Почему объединенными? Да, просто на плате меньше дорожек и перемычек и все намного компактнее при использовании динамической индикации. О которой, кстати, можно почитать тут.
И вот что получилось на одностороннем стеклотекстолите размерами 60х40 мм:

Кнопкой S2 устанавливают минуты, а кнопкой S3 – часы. Я еще сделал кнопку на сброс (S1), которая позволяет установить время на полночь, иногда бывает полезно, хотя ее можно не устанавливать. Точка, разделяющая часы и минуты, моргает с частотой 1,25 Гц, то есть 0,4 секунды горит, 0,4 сек. нет.
Блок питания от старого принтера Canon он дает 5В и 24В, нагружаю только линию 5В.

Файлы:
Печатная плата в формате SL 4.0
Прошивка с исходником

Вопросы, как всегда в Форум.


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

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


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

www.radiokot.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *