8-900-374-94-44
[email protected]
Slide Image
Меню

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

Часы-термометр на микроконтроллере 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.

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

Первая зона, время с ХХ — до ХХ, температура.
Дома нет никто, экономим.
Вторая зона, время с ХХ — до ХХ, температура.
пришли с работы, почувствовали комфорт.
спать лучше в холоде, говорят лучше сохранишься.
Настройка гистерезиса.
Алгоритм работы такой, допустим порог термостата у нас равен 105 гр. Тогда вывод термостата будет включен пока температура не достигнет этого порога, затем вывод выключается и включится только при температуре 105 минус гистерезис.
Максимальное значение гистерезиса 9. 9 градусов.

Режим Уст 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.


ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

Привет всем читателям и почитателям сайта Радиосхемы! Сегодня хочу поделиться с вами очередной простенькой конструкцией «Часы-термометр». Немного предыстории: вечером очень плохо видно показания уличного термометра, чтобы разглядеть положение стрелки, необходимо довольно долго вглядываться и иной раз пользоваться фонариком. Спустя определённое время мне это надоело и решил заменить прибор на электронный, который бы отображал информацию на светодиодных семи сегментных индикаторах. После чего бы не пришлось даже подходить к окну, чтоб узнать уличную температуру. Так как индикацию хорошо видно более чем с трёх метров. Схем данного устройства в сети полно, но я, как человек относящийся к семейству Радиолюбителей, решил собрать свою. Так как с недавних пор пытаюсь осваивать микроконтроллеры, то выбор пал на широко распространённый и дешёвый МК Atmega8. Далее была изготовлена плата по технологии ЛУТ, после чего уже приступил к программной части. Программа написана на языке Си с помощью среды разработки CodeVisionAVR.

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

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

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

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

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

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

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

Все файлы проекта (схема, прошивка и исходник) прилагаются. По всем вопросам относительно проекта можно обращаться на форум. До новых встреч на страницах сайта Радиосхемы! С вами был Темыч (Артём Богатырь).

   Форум

Будильник, календарь и измеритель температуры с AVR ATmega8A

ATmega8A — это 8-битный микроконтроллер AVR с 28 контактами. В проекте «Будильник и календарь» этот микроконтроллер используется в качестве основного процессора и стандартного ЖК-дисплея 16×2 без использования каких-либо дополнительных модулей.

В этом проекте есть папка с исходным кодом, которая содержит файлы программы CodeVision (C) и предварительно скомпилированный файл HEX. Чтобы повторно скомпилировать или проверить исходный код, откройте «ClockCalendar.prj» с помощью программного обеспечения codeVision AVR.

Календарь можно переключать между григорианским и персидским календарями. Он показывает час, минуту, секунду, температуру, год, месяц, день и день недели.
Тестируемая версия компилятора — CodeVisionAVR 3.12


Вот настройка фьюза:


%26nbsp;
В микроконтроллере используется внешний кварцевый генератор с частотой 8,000000 МГц. Также БПК позволяет проверить напряжение, если оно не ниже 2,9 В.
В программе уже установлены контакты ЖК-дисплея размером 16×2 символов (согласно схеме).

Компиляция проекта
Перед компиляцией проекта перейдите в файл «headers.h» и выполните поиск «#define SIM». Если вы собираетесь протестировать программу с помощью «Proteus Software», ее не следует регистрировать.
Но если вы собираетесь загружать программу в микроконтроллер, логируйте ее двумя косыми чертами:
//#define SIM
Затем скомпилируйте проект с помощью ctrl+F9.

Схема
Вот схематический план, совместимый с проектом.
%26nbsp;
В секторе питания есть вход для батареи 3-4 вольта, когда схема отключена от основного источника питания 5в, для сохранения данных о времени.
Есть 3 кнопки для установки часов, будильника и календаря. Имеется датчик температуры, который подключается к ПК4. RT — это резистор NTC на 10 кОм, а R4 — подтягивающий резистор на 20 кОм.
Микроконтроллер не генерирует звуковую частоту, а только подтягивает вверх и вниз T1 и вызывает звуковой сигнал зуммера.

Файл моделирования Proteus
Также в этом проекте есть файл моделирования Proteus внутри папки «sim». Откройте его с помощью Proteus Schematic и установите файл проекта .COFF, дважды щелкнув микроконтроллер, затем запустите симуляцию.

Настройки часов и календаря:
Есть 3 кнопки: SET, UP и DOWN. При нажатии SET минуты будут мигать, и их можно установить кнопками ВВЕРХ и ВНИЗ.
При повторном нажатии будет мигать час, затем год, месяц и день.
День недели будет установлен автоматически.
При нажатии ВНИЗ (в состоянии календаря) календарь будет переключаться между григорианским календарем и персидским календарем.
Нажав ВВЕРХ в режиме календаря, можно установить Будильник 1, и будет мигать ON или OFF:
%26nbsp;
Затем, если вы снова нажмете SET, часы и минуты будильника будут мигать, будильник 2 и т.д. Календарь
— День недели
— Измеритель температуры

Самодельный цифровой компас с использованием ATmega8

Инженерные проекты

Опубликованный здесь проект «Сделай сам» Цифровой компас использует OLED-дисплей для отображения направления (т. е. на север). Еще одна особенность этого проекта в том, что он показывает реальные данные и время. Самодельный цифровой компас с использованием ATmega8

В обычном компасе используется стрелка или циферблат, который находится внутри компаса. Обычный компас работает по принципу магнитного поля Земли. Но проекты DIY Digital Compass с использованием ATmega8, размещенные здесь, используют положение солнца, чтобы показать направление, в отличие от магнитного поля. Таким образом, на этот самодельный цифровой компас не влияет магнитное поле Земли.

Принципиальная схема самодельного цифрового компаса с использованием ATmega8 показана на рис. 1 и построена на основе 8-битного микроконтроллера (ATmega8), OLED-дисплея (органический светоизлучающий диод), RTC (часы реального времени) IC DC1307 и несколько других электронных компонентов (резистор, диод, регулятор напряжения и т. д.).

В схеме самодельного цифрового компаса используется RTC (часы реального времени) IC DS1307 для индикации реальной даты и времени. Если говорить о конструкции, то DS1307 представляет собой серийную микросхему крана реального времени с такими функциями, как календарь, 24-часовой формат времени или 12-часовой формат времени с индикацией AM и PM. Кварцевый генератор 32,768 кГц подключен к DS1307, как показано на рисунке 1, для обеспечения необходимого тактового импульса. Две линии SCL и SDA DS1307 подключены к выводам микроконтроллера PC4 и PC5 соответственно для связи между ними (чтение и запись).

Кнопочная ячейка на 3 В подключена к выводу V BAT микросхемы RTC (DS1307) для внутренней работы микросхемы на несколько дней (около 10 дней). Результат чипа RTC (дата и время) отображается на OLED-дисплее.

Контрастность этого дисплея высокая (128×64) и вполне читабельна, несмотря на небольшой размер экрана (2,4 см). Еще одна причина выбора OLED заключается в том, что он потребляет очень мало энергии, поскольку не требует подсветки. Здесь, в этом проекте, нам пришлось использовать модуль дисплея OLED SSD1306, который имеет встроенный чип драйвера, поэтому будет очень легко общаться с микроконтроллером.

Другие интересные проекты с использованием микроконтроллера ATmega размещены на сайте bestengineeringprojects.com

  1. Система заказа меню ресторана на базе ATmega8
  2. Интерфейс
  3. Клавиатура 4×4 и ATmega32 с одним контактом
  4. Цепь измерителя громкости с использованием ATmega32
  5. Машина для голосования на базе ATmega16
  6. Ультразвуковой измеритель уровня воды

Цепь питания | Цифровой компас «Сделай сам» с использованием ATmega8

В проекте «Цифровой компас «Сделай сам»» используются два уровня напряжения: 5 В и 3,3 В. Вся схема, за исключением OLED-дисплея, работает от источника постоянного тока 5 В, а для OLED требуется 3,3 В. Блок питания 9V подключен к цепи, которая затем преобразуется в источник питания 5 В с помощью последовательного регулятора напряжения IC 7805. 3,3 В преобразуется с помощью регулятора переменного напряжения IC LM317, как показано на рисунке 2.

Программное обеспечение: Самодельный компас с использованием ATmega8 написан на языке программирования C с использованием Atmel studio 7.

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

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