Здравствуйте! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ага 🙂 опять часы.
В часах есть возможность последовательно показывать 8 режимов, для которых выбирается один из десяти форматов отображения и время его показа.
Кнопка F — выход из режима. Выбор 3 основных режимов. Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.
Режим CALLS
Режим быстрой настройки термостата.
Режим SETUP.
Режим часы.
Режим PORT.
Режим настроек термостата.
Режим Уст SEE.
Режим DS18B20.
Режим Light.
Режим Сигнал.
Режим Сброс настроек.
Действия в нулевом режиме. F — выбор режима. Каждый час, на одну секунду, устанавливается вывод PB2(16). Для экономии, в режиме питания от батарей запрещается отсрочка сигнала. Из схемы можно исключить конденсаторы к кварцу, если запрограммировать fuse бит CKOPT.
При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ).
посмотреть для PonyProg.
Cбросить основные переменные в программе —
SETUP -> СБРОС НАС. -> SET. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Привет всем читателям и почитателям сайта Радиосхемы! Сегодня хочу поделиться с вами очередной простенькой конструкцией «Часы-термометр». Немного предыстории: вечером очень плохо видно показания уличного термометра, чтобы разглядеть положение стрелки, необходимо довольно долго вглядываться и иной раз пользоваться фонариком. Спустя определённое время мне это надоело и решил заменить прибор на электронный, который бы отображал информацию на светодиодных семи сегментных индикаторах. После чего бы не пришлось даже подходить к окну, чтоб узнать уличную температуру. Так как индикацию хорошо видно более чем с трёх метров. Схем данного устройства в сети полно, но я, как человек относящийся к семейству Радиолюбителей, решил собрать свою. Так как с недавних пор пытаюсь осваивать микроконтроллеры, то выбор пал на широко распространённый и дешёвый МК Atmega8. Далее была изготовлена плата по технологии ЛУТ, после чего уже приступил к программной части. Программа написана на языке Си с помощью среды разработки CodeVisionAVR.
В одном устройстве объединено две функции: собственно измерение температуры и времени (часы). Индикация производится попеременно, сменяясь через десять секунд. Для настройки часов используется две кнопки, аналогично простым китайским электронным часам: одна отвечает за выбор параметра, вторая за его изменение. Питается устройство от сети с помощью постоянного стабилизированного источника тока напряжением пять вольт (плата от зарядного устройства телефона).
Датчиком температуры является микросхема DS18B20. Так как в устройстве «Часы-термометр» нет своей батареи, при пропадании питания естественно показания будут сбиваться. И что бы это не явилось причиной какого-нибудь опоздания человека на жизненно важные дела, имеется интересная «фишка» – при подаче питания вместо времени на дисплее будут отображаться прочерки, пока не нажмёшь одну из двух кнопок настройки.
Корпусом самодельного измерителя температуры послужила подходящая коробочка от запонок. В неё была помещена сама плата часов-термометра и плата вытащенная из телефонного зарядника. Датчик DS18B20 сделан выносным и подсоединяется через разъём.
Все файлы проекта (схема, прошивка и исходник) прилагаются. По всем вопросам относительно проекта можно обращаться на форум. До новых встреч на страницах сайта Радиосхемы! С вами был Темыч (Артём Богатырь).
Форум
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 и т.д. Календарь
— День недели
— Измеритель температуры
Инженерные проекты
Опубликованный здесь проект «Сделай сам» Цифровой компас использует 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
В проекте «Цифровой компас «Сделай сам»» используются два уровня напряжения: 5 В и 3,3 В. Вся схема, за исключением OLED-дисплея, работает от источника постоянного тока 5 В, а для OLED требуется 3,3 В. Блок питания 9V подключен к цепи, которая затем преобразуется в источник питания 5 В с помощью последовательного регулятора напряжения IC 7805. 3,3 В преобразуется с помощью регулятора переменного напряжения IC LM317, как показано на рисунке 2.
Программное обеспечение: Самодельный компас с использованием ATmega8 написан на языке программирования C с использованием Atmel studio 7.