Atmega16 часы термометр: Опять часы на Atmega16

Часы, термометр, барометр, гигрометр в одном флаконе. « схемопедия

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

 Схема устройства ниже, конвертер USB-UART на FT232RL показан схемотически, схема в нем стандартная и уже описана здесь.

 

 Сердцем схемы служит микроконтроллер ATMega64 фирмы Atmel, работающий от внешнего кварца на 16 МГц. Отсчитыванием времени занимается микросхема часов реального времени DS1307, я уже имел с ней дело и поэтому пошел по проверенному пути.

 Для измерения температруы и влажности применен датчик DHT11, хоть и китай чистейшей воды, но показания выдает вполне удовлетворительные. У меня в заначке лежит еще SHT21, но тогда повторяемость схемы сильно упадет, потому как достaть его сложней и по стоимости он выйдет как вся схема в сборе. Следующий датчик BMP085 – занимается измерениями атмосферного давления. Помимо этого он умеет измерять и температуру, так что можно будет с него дублировать показания. 

 Так как в дальнейшем планируется превратить устройство в логгер, предусмотрено место для подключения внешней EEPROM памяти 24LCxx. 

 Для сопряжения 3х вольтового датчика давления использована зарекомендовавшая себя схема согласования на полевых тарнзисторах. 

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

 

 Чтобы иметь возможность напрямую подключать утсройство к компьютеру (к примеру, для того чтобы скинуть накопленные данные) на плате установлен преобразователь USB-UART на микросхеме FT232RL.

Так же через этот преобразователь можно загружать в микроконтроллер прошивку, если предварительно зашить в микроконтроллер загрузчик (Bootloader). Как это сделать я писал ранее.

 Для подключения внешних датчиков, навсякий случай предусмотрены выводы с портов PA0-PA3. А также выведены контакты SPI-интерфейса, на случай если захочется подключить NRF24L01 и организовать радиоканал.

 

 Тестовый код выводит на экран время и дату с часов DS1307, с возможностью ручной установки (см. видео). На вторую строку выводится информация с датчика влажности DHT11, на третью – с датчика давления BMP085. Как видите китаец DHT не уступает по показаниям температуры своему немецкому собрату BMP085 от Bosh. Кстати, китаец тоже умеет выдавать показания с десятыми долями градуса, позже добавлю в код эту функцию.

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

 

Схемма в Proteus

Печатная плата в Dip Trace

Исходник тестовой прошивки

Прошивка

Термометр на атмега8 схема

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


Поиск данных по Вашему запросу:

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам. ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Термометр на Atmega8

Термометр на ATMega8 и 2-4 датчика DS18B20


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

Основу устройства составляет микроконтроллер AtmegaPI, работающий под управлением программы, которая реализует все вышеупомянутые функции часов. Звуковой излучатель BF1 служит для подачи сигнала будильника, а светодиоды HL1 и HL2 показывают процесс поиска информации со спутника.

Кнопки SB1-SB3 служат для установки часового пояса, включения режима «Секундомер» и установки времени срабатывания будильника. Рисунок 2 — Принципиальная электрическая схема часов. Этот процесс сопровождается коротким звуковым сигналом и появлением бегущей «змейки» в разрядах индикатора. Для достоверности информационная строка принимается пять раз, после чего микроконтроллер запускает счётчик секунд, «змейка» исчезает и начинается отображение текущего времени.

Последующая синхронизация времени часов с временем спутника осуществляется каждый час и сопровождается кратковременным свечением светодиодов «SAT» и «GPS». Процесс синхронизации происходит в фоновом режиме и не влияет на ход часов. Если по каким-то причинам фоновая синхронизация времени не произошла, часы не остановятся, но точность показаний будет хуже.

Назначение кнопок управления. Кнопка » UTC «. Как уже упоминалось, при первичной синхронизации часы принимают время нулевого часового пояса.

При нажатии этой кнопки на индикаторе отобразится «U — — -«, что значит переход в меню выбора часового пояса, а при отпускании — отобразится «U 3″ часовой пояс установленный по умолчанию. Далее, нажатием этой кнопки устанавливают необходимый часовой пояс в диапазоне минус 12 плюс Кнопка » Alarm clock » или «Будильник». При нажатии этой кнопки произойдёт переход в меню установки будильника, при этом на индикаторе отобразится «A-.

После отпускания, если будильник выключен, на индикаторе появятся прочерки, а если будильник был включен, то отобразится время его срабатывания. Чтобы полностью выключить или включить будильник, нужно нажать кнопку «UTC», находясь в меню установки будильника. Последующие нажатия кнопки «Alarm clock» и нажатия кнопки «Sec» в меню установки будильника позволяют установить будильник на нужное время, часы и минуты, соответственно. Установка возможна только «вперёд.

При достижении числа «24» в часах и «60» в минутах происходит сброс показаний в «0» часов и минут соответственно. При срабатывании будильника звуковой сигнал можно отключить до следующего срабатывания, которое произойдёт через сутки, нажатием на любую из трёх кнопок. Выход из меню установки будильника происходит автоматически, через 5 секунд после последнего нажатия кнопки.

Кнопка » Sec » или «Секундомер». Нажатие данной кнопки переведёт часы в режим секундомера, при этом на индикаторе отобразится «C-. Максимальное время — При превышении этого значения произойдёт автоматический переход в режим часов. До одного часа в 1 и 2 разрядах отображаются минуты секундомера, а в 3 и 4 разрядах отображаются секунды, после часа — часы и минуты. Выход из режима секундомера осуществляется нажатием на любую из трёх кнопок.

Принцип работы термометра. Основу термометра составляет микроконтроллер ATTINY, работающий под управлением программы, которая реализует все вышеупомянутые функции термометра. Датчиком температуры служит микросхема DS18B Значение измеряемой температуры выводится на трёхразрядный светодиодный индикатор.

Рисунок 3 — Принципиальная электрическая схема термометра. При подаче напряжения питания микроконтроллер ATTINY в течении одной секунды тестирует индикатор, засвечивая все его сегменты, после чего переходит к проверке исправности датчика и линии связи с датчиком. При обрыве или коротком замыкании линии связи на индикаторе отображаются прочерки «».

Далее производится проверка контрольной суммы информации, принимаемой с датчика. При ошибке контрольной суммы CRC на индикаторе появится сообщение «crc». Если все проверки завершены успешно, то микроконтроллер перейдёт к чтению информации с датчика температуры и отправит измеренное значение температуры на индикатор. Каких либо органов управления термометр не имеет и в настройке не нуждается, Диод VD1 предназначен для защиты от переполюсовки напряжения питания.

Конструкция устройства и применяемые радиоэлементы. В связи с единственностью изготовления печатные платы для монтажа радиоэлементов не разрабатывались. Все радиоэлементы установлены на макетных платах и соединены между собою собственными выводами и отрезками провода типа МГТФ при помощи пайки.

Считаю, что разработка и изготовление печатных плат устройств категории «Для себя» — это лишняя трата времени. Платы установлены на эбонитовых стоечках на дно корпуса из органического стекла толщиной 5 мм и крепятся винтами М2. Рисунок 4 — Макетная плата. Рисунок 5 — Вид со стороны монтажа. Рисунок 6 — Вид со стороны радиоэлементов. Рисунок 7 — Индикаторы. Рисунок 8 — Плата кнопок и модуля GPS.

Рисунок 9 — Вид со стороны гнезда питания. Плата кнопок управления использована готовая от отслужившего свой век электронного оборудования. Применены индикаторы красного свечения с общим анодом размером символа 0. Без внешней антенны приём информации со спутника не происходит, хотя, по утверждению разработчика часов, в модуле имеется внутренняя антенна. Звукоизлучатель BF1 со встроенным генератором, напряжение питания на устройство подаётся через гнездо типа micro USB, расположенное на отдельной покупной плате.

Все вышеупомянутые комплектующие радиоэлементы, макетные платы, плата с гнездом питания приобретены в интернет-магазине Aliexpress. Конкретных ссылок на товар не даю, ибо они не долговечны, да и цена у разных продавцов отличается.

Остальные радиоэлементы, резисторы, конденсаторы, диоды, светодиоды, транзисторы, кварцевые резонаторы в пояснениях не нуждаются. Передняя часть корпуса изготовлена из органического стекла оранжевого цвета.

Для уменьшения яркости индикаторов добавлен светофильтр, вырезанный из пластиковой бутылки. Рисунок 11 — Готовое устройство. Рисунок 12 — Элементы корпуса. Рисунок 13 — Светофильтр из пивной бутылки. Рисунок 14 — Задняя стенка устройства. Также в источник питания входит устройство защиты от превышения напряжения. Радиоэлементы платы защиты смонтированы на макетной плате и помещены во всем знакомую упаковку. Рисунок 15 — Принципиальная электрическая схема устройства защиты.

Рисунок 16 — Источник питания устройства. Рисунок 17 — Устройство защиты от превышения напряжения. Рисунок 18 — Ток потребления устройства. Датчик температуры — микросхема DS18B20, с подпаянным к её выводам трёхпроводным кабелем, помещена в стеклянную трубку, заполненную белым герметиком, после высыхания которого обеспечивается защита микросхемы от атмосферных осадков.

Датчик закреплён при помощи магнита на отливе за окном. Другой конец кабеля снабжён трёхконтактным разъёмом типа TRS jack 3,5мм, который вставляется в соответствующее гнездо на задней стенке устройства. Рисунок 20 — Расположение датчика температуры за окном. Рисунок 21 — Подключение датчика температуры.

Рисунок 22 — Расположение устройства в комнате. Рисунок 23 — Расположение устройства в комнате. Наладка правильно собранных схем часов и термометра не потребовалась. Оба устройства заработали сразу после подачи напряжения питания. Были опасения, что в предполагаемом месте размещения в квартире 2 метра от оконного стекла и 0,5 метра в сторону приём информации со спутника будет затруднён, но всё обошлось.

После подачи напряжения питания «змейка» на индикаторе наблюдалась всего несколько секунд, после чего часы перешли в режим отображения текущего времени, что и делают в течение последних восьми месяцев с высокой точностью и без моего вмешательства. Управляющая программа для микроконтроллера часов AtmegaPI. Резервные ссылки. Основное меню. Главная Контакты.

Китайский ночник Мне каждый вечер зажигают свечи Десять рабочих советов для портретных фотографий Как фотографировать на зимних улицах Простые электронные часы Как сфотографировать ёлку. Обновлено: 14 февраля Опубликовано: 27 января Автор: Юрий Просмотров: Принцип работы часов Основу устройства составляет микроконтроллер AtmegaPI, работающий под управлением программы, которая реализует все вышеупомянутые функции часов. Назначение кнопок управления Кнопка » UTC «. Принцип работы термометра Основу термометра составляет микроконтроллер ATTINY, работающий под управлением программы, которая реализует все вышеупомянутые функции термометра.

Рисунок 3 — Принципиальная электрическая схема термометра При подаче напряжения питания микроконтроллер ATTINY в течении одной секунды тестирует индикатор, засвечивая все его сегменты, после чего переходит к проверке исправности датчика и линии связи с датчиком. Конструкция устройства и применяемые радиоэлементы В связи с единственностью изготовления печатные платы для монтажа радиоэлементов не разрабатывались. Назад Вперёд. Часы Термометр. Умный поиск.


Сдвоенный цифровой термометр на ATmega8 и DS18B20

На протяжении тысячелетий люди пытались предсказать погоду. В настоящее время становятся все более популярными метеорологические станции, позволяющие спрогнозировать погоду на следующий день. Неотъемлемой функцией даже самой простой метеостанции является измерение температуры и влажности. Эти параметры также очень важны и в других ситуациях, например, при хранении продуктов питания. Схема, приведенная в данной статье, представляет собой USB приставку к компьютеру, позволяющая измерять температуру и влажность воздуха. Устройство собрано на миниатюрной печатной плате с преобладанием элементов поверхностного монтажа SMD , благодаря чему оно может быть использовано как адаптер для ноутбука или настольного компьютера.

За основу я взял контроллер AtMega8, что оказалось не совсем правильным решением, так как Выводы для подключения реле (реле на схеме нет).

Цифровой термометр на DS1820

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

Любые схемы

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

Категория: Таймеры, часы, счётчики , Для дома.

Термометр на ATmega8 и датчике DS18B20

Отключить звук досрочно можно нажатием на любую из кнопок. При отпускании кнопок возобновляется автоматическая смена показаний. При включении питания часы в основном режиме. По-очереди доступны для установки:. Группа CLOC :.

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

Задача такова: сделать устройство, к которому подключить 3 реле и 3 термометра. На основании показаний с термометра необходимо включать или отключать реле. То есть, в устройстве должен быть дисплей с меню и кнопки. И так приступим. За основу я взял контроллер AtMega8, что оказалось не совсем правильным решением, так как там всего 4 кБ памяти для программы.

Простота схемы обусловлена используемым датчиком температуры. Это 12 -битный цифровой термометр, который может работать в.

Часы-Термометр с большими цифрами (LCD 1602 + Atmega8)

Здравствуйте уважаемые друзья и гости сайта! Представляю на ваш суд вторую конкурсную работу. Автор конструкции — Григорьев Илья Сергеевич.

Цифровой термометр на ATMega8

Схема барометра и термометра изображена на рис. Необходимые для работы датчика тактовые импульсы частотой Гц вырабатывает кварцевый генератор на элементах микросхемы DD1. В принципе, эти импульсы мог бы формировать и микроконтроллер DD2 с помощью одного из имеющихся в нем таймеров. Но это потребовало бы усложнения программы.

Логин или эл.

Термометр на базе ATMega16

Предлагаю свой вариант цифрового термометра с двумя датчиками температуры. Устройство используется в домашних целях, один из его датчиков устанавливается на улице, другой в помещении. Индикация значений температуры осуществляется двумя сдвоенными светодиодными 7-сегментными индикаторами с общим катодом. Знак «минус» индицируется отдельным светодиодом. Чтобы не было заморочек со считыванием 64 разрядного идентификационного кода датчика и определения, какой из них уличный, а какой комнатный, датчики подключены к разным ножкам МК, а не висят на одной шине 1-wire.

Часы, будильник, термометр (ATmega8).

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


Схема. Часы-будильник и термометр с бегущей строкой на шестнадцатиэлементных индикаторах

Простые часы на светодиодных матрицах. Многие радиолюбители, начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную и описанную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной GNM23881AD при размере 60х60мм были куплены за 1,5уе (3 индикатора обошлись в 4,5уе), за эти деньги врядли можно купить четыре семисегментника таких-же размеров. А вот информации, разместить на матричном индикаторе, можно намного больше. Кроме цифр на них можно отображать любые буквы, знаки, а с помощью бегущей строки еще и текст.

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

Функционал у часов такой:

  • Отсчет времени, календарь, день недели. (високосный год учитывается, переход на летнее/зимнее время не осуществляется).
  • Сохранение хода часов при пропадании внешнего питания (потребление составляет 15мка).
  • Коррекция хода + — 59,9сек\сутки, с шагом 0,1сек. 9 будильников. 3 из которых «одноразовые», и 6 «постоянных», индивидуально настраиваемых по дням недели.
  • Индивидуально настраиваемая длительность звукового сигнала каждого будильника (1-15мин).
  • Звуковое подтверждение нажатия кнопок (возможно отключить).
  • Ежечасный звуковой сигнал (возможно отключить).
  • С 00-00 до 08-00 сигнал не подаётся.
  • 1 или 2 датчика температуры (Улица и дом).
  • Настраиваемая бегущая строка, посредством которой выводится вся информация (кроме времени)
  • Значение коррекции хода, и настройки «бегущей строки» — сохраняются даже при пропадании резервного питания.

«Сердцем» часов выбрана AtMega16A, из-за её доступности, дешевизны и «ногастости». Схему хотелось максимально упростить, поэтому все что можно, было возложено на контроллер. В результате удалось обойтись всего двумя микросхемами, контроллером и регистром TPIC6B595. Если кому то недоступен TPIC6B595, то можно его заменить на 74НС595 + ULN2803. Оба варианта были опробованы. Так же можно попробовать применить TPIC6С595, она немного слабовата, и слегка грелась, но в целом работала стабильно. Отсчет времени производится с помощью асинхронного тайме – Т2. Ход часов сохраняется и при пропадании питания. В это время бОльшая часть схемы обесточивается, а контроллер питается от батарейки, аккумулятора, или от ионистора. Мне было интересно «по играться» с ионистором, поэтому применил его. Ток потребления часами в дежурном режиме составляет 15мка. При питании от ионистора на 1Ф, часы «продержались» четверо суток. Этого вполне достаточно для поддержания хода во время перебоев питания. Если применить батарейку СR2032, то теоретически, по расчетам заряда должно хватить на 1,5года. Наличие сетевого напряжения контроллер «слушает» через вывод РВ.3 Этот вывод является инвертирующем входом компаратора. Напряжение питания, через делитель R2-R3 подается на вывод РВ.3, и в нормальном состоянии равно примерно 1,5в. Если внешнее напряжение упадет ниже 4,1 вольта, то напряжение на выводе РВ.3 станет меньше 1,23вольта, при этом сгенерируется прерывание от компаратора, и в обработчике этого прерывания выключаются все «лишние» узлы контроллера и сам контроллер усыпляется. В этом режиме продолжает работать только отсчитывающий время таймер Т2. При появлении внешнего питания, напряжение на РВ.3 снова подымится выше 1,23в, контроллер «увидев» это, переведет все узлы в рабочее состояние. Если вместо ионистора, будет использоваться батарейка СR2032, то её нужно подключить через диод(предпочтительно диод шоттки). Анод диода подключается к + батарейки, а катод к катоду VD1. В обычном режиме на экране отображается время в формате часы-минуты. С интервалом в одну минуту происходит запуск бегущей строки. Бегущей строкой отображается день недели, дата, год, темп. дома, и темп. на улице. Бегущая строка настраиваемая, т.е. можно включить/выключить отображение любого из элементов. (я например всегда отключаю отображение года). При выключении всех элементов, бегущая строка не запускается, и часы постоянно отображают текущее время. 9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или например Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин. Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи. Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом. Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от батарейки. Диод D1 — желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n. Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой:

Видео как все работает!

Эта бегущая строка позволяет читать текст объемом не более 8192 буквы включая пробелы. Текст вводится в память 24С64 бегущей строки при помощи клавиатуры от компьютера без подключения самого компьютера. Во время ввода текста есть возможность стирания букв при помощи клавиши (Backspace) наблюдая за этим действием удаления букв на табло.

Есть возможность регулировки скорости бега букв при помощи двух клавиш рядом с цифрами клавиатуры (+ и -). Скорость бега строки записывается в самую последнюю ячейку памяти 24С64 поэтому при первом включении без регулировки скорости будет наблюдаться медленный бег букв и поэтому нужно сделать первую регулировку. Скорость бега очень сильно меняется при регулировки записи числа в последнюю ячейку 24С64 числа от 1….30 в десятичном измерении или в шестнадцатиричном1..1Е в чем можно убедиться с помощи программатора PICKIT2, но это не обязательно.

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

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

Микросхемы табло 74НС595 выполняют роль зажигания горизонтали табло или строки из 160 светодиодов, а транзисторы дают возможность менять горизонтали или строки от верхних до нижних по очереди то есть зажигание табло происходит построчно с верху вниз по очереди со скоростью 300 кадров в секунду.

Сама микросхема 74НС595 представляет из себя обычный сдвиговый регистр с выводом каждого регистра на светодиодную матрицу но есть большое НО матрица с регистрами соединяется не на прямую а через фиксирующие логическое состояние регистрами.

Зачем это нужно? Это нужно для того чтобы пока идет загрузка от МК сдвиговых регистров по цепочке от одного к другому с каждым тактовым сигналом на выводе 11 и при этом наблюдалось на светодиодных матрицах чего нам вовсе не нужно так как картинка при этом засвечивалась светодиодами не в нужных местах. Поэтому дополнительные фиксирующие регистры блокируют во время загрузки данных вывод информации на матрицы и обновляют только после того как на выводах 12 появиться тактовый сигнал передовая от сдвиговых регистров к фиксирующим данные, а фиксирующие передают на матрицы.

Данные табло создающие все картинку строки поступают от МК с вывода 34 на вход регистра 14 микросхемы 74НС595 от первой микросхемы 74НС595 ко второй данные передаются с выхода 9 на вход 14 и так по цепочке до последней 20 микросхемы.

Повторюсь данные двигаются с каждым тактом на входе 11 всех микросхем 74НС595 по цепочке к самой последней микросхеме 74НС595 и после загрузки все 20 микросхем появляется такт на фиксирующих регистрах вывод 12 тем самым обновляя изображение всей строки, а не всего изображения табло. Строки каждый раз обновляются после перехода на более нижнюю строку.

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

Чтобы проверить первую плату дисплея нужно подключить клавиатуру к плате МК подать питание нажать одну или несколько букв подать команду конца строки, что текст введен нажав клавишу ENTER после этого пойдет бег строки с низкой скоростью так как скорость бега тоже нужно отрегулировать нажимая клавишу (-) до тех пор пока не запишется константа от 5..1Е в шестнадцатиричном виде в память 24С64.

Если вам не нужна строка такой большой длинны состоящая из 20 матриц 8х8, то я могу вам выслать прошивку с меньшим количеством от 2 до 19 это делается просто и быстро ответ вам вышлю письмо с прошивкой мой адрес evgen100777(sobaka)rambler.ru.

Платы дисплея разведены для матриц 6х6 сантиметров красного цвета свечения с маркировкой QFT 2388ASR плата микроконтроллера сделана с условием модернизации добавления строке часов и термометра но так как прошивка под это дело не доделана не рекомендую добавлять кнопки, чтобы не спалить порт МК.

Командные кнопки.

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

(+ и) — эти клавиши работают при включении бегущей строки до набора текста и регулируют скорость перемещения букв по табло + увеличивает скоростьуменьшает скорость перемещения букв.

Backspace — клавиша стирания текста во время набора, работает только в режиме набора текста отображая на табло удаленную букву смещением текста налево.

Enter эта клавиша запускает бег строки после набора текста обозначая конец текста в памяти 24С64 и говорит о том что нужно с этого места текста начать бег строки с начала.

Для нового набора текста бегущую строку нужно выключить и снова включить с подключенной клавиатурой выбрать скорость бега текста клавишами плюс и минус и при первом нажатии на букву табло очищается с отображением в правой части строки первой буквы набирая текст он продвигается в левую сторону после этого нажимается клавиша Enter и строка уходит в рабочий режим бега не реагируя на клавиатуру.

Для повторного вода текста нужно не забывать включить и выключить строку.

Бегущая строка с часами, календарем и набором текста на клавиатуре PS/2

Бегущая строка показывает время часы минуты секунды день цифрами, а месяц и день недели словами например ВРЕМЯ 12.30.10 20 ЯНВАРЯ СРЕДА.

Точно такая же бегущая строка с набором текста на клавиатуре только имеет еще часы с календарем. В этой строке нельзя менять количество светодиодных матриц так как они все 20 штук задействованы в настройке времени даты и месяца и дня недели.

Во время набора текста нажатием клавиши левого CTRL вставляются часы с календарем в текст бегущей строки. Эта строка имеет все те же функции что и прошлые строки на PIC16F628 и PIC16F877 и управляется она точно также.

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

В настройках времени день недели и месяц отображается в виде цифр.

Вот чуть измененная схема этой строки тут добавилось две кнопки с подтягивающими резисторами изменения времени и часовым кварцем на 32768 Гц и еще один резистор подтягивающий вход контролера отвечающий за ввод клавиатуру.

Для более стабильной работы PIC16F877 лучше запитывать через резистор 11 ом 0.25 Ватт по плюсовому питанию для понижения помех идущих от транзисторов которые коммутируют строки табло.

Бегущая строка с часами и термометром для улицы и дома.

Бегущая строка работает на датчиках DS1820 и показывает температуру в доме и на улице путем вставки в текст бегущей строки вывода показаний на табло.

Показания выводиться в виде надписи ТЕМПЕРАТУРА ДОМ 25,2 УЛИЦА -12,4 показания температуры имеют младший показатель в виде десятой доли градуса.

Для вставки термометра в текст надо нажать клавишу левый ALT на компьютерной клавиатуре, подключенной к бегущей строке.

Диапазон температур выводимым термометром -55 до 99 градусов но не рекомендуется нагревать датчик выше 70 градусов во избежание его порче.

Длина провода идущего к датчику на улице должен быть не более 4 метров.

Есть прошивка с тремя Украинскими буквами.
Сигнал будильника снимается в виде лог 0 во время сигнала с 38 вывода PIC16F877

Список радиоэлементов
Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Схема 1
IC МК PIC 8-бит

PIC16F877

1 В блокнот
IC1 Микросхема памяти 24C64 1 В блокнот
IC2, IC3 Сдвиговый регистр

CD74HC595

20 В блокнот
VT1-VT8 Биполярный транзистор

BD140

8 В блокнот
C1, C2 Конденсатор 100 нФ 2 В блокнот
C3, C4 Конденсатор 15 пФ 2 В блокнот
C5 Конденсатор 3.3 нФ 1 В блокнот
R1-R16, R18, R19, R21-R24, R30, R31 Резистор

330 Ом

24 В блокнот
Резистор

330 Ом

144 В блокнот
R26, R27 Резистор

5.1 кОм

2 В блокнот
R28, R29 Резистор

4.7 кОм

2 В блокнот
Cr1 Кварцевый резонатор 20.000 МГц 1 В блокнот
Светодиодная матрица 8х8 20 В блокнот
Разъём PS/2 1 В блокнот
Схема 2
IC МК PIC 8-бит

PIC16F877

1 В блокнот
IC1 Микросхема памяти 24C64 1 В блокнот
Сдвиговый регистр

CD74HC595

20 В блокнот
Биполярный транзистор

BD140

8 В блокнот
C2 Конденсатор 100 нФ 1 В блокнот
C3, C4 Конденсатор 15 пФ 2 В блокнот
C5 Конденсатор 3.3 нФ 1 В блокнот
C6, C7 Конденсатор 33 пФ 2 В блокнот
C8 Конденсатор электролитический 47 мкФ 1 В блокнот
R18, R19, R21-R24, R30, R31 Резистор

330 Ом

24 В блокнот
Резистор

330 Ом

144 В блокнот
R26, R27, R32, R33 Резистор

5.1 кОм

4 В блокнот
R29, R34, R35 Резистор

4.7 кОм

3 В блокнот
R36 Резистор

11 Ом

1 В блокнот
Cr1 Кварцевый резонатор 20.000 МГц 1 В блокнот
Cr2 Кварцевый резонатор 32768 Гц 1 В блокнот
S1, S2 Кнопка тактовая 2 В блокнот
Светодиодная матрица 8х8 20 В блокнот
Разъём PS/2 1 В блокнот
Схема 3
IC МК PIC 8-бит

PIC16F877

1 В блокнот
IC1 Микросхема памяти 24C64 1 В блокнот
Сдвиговый регистр

CD74HC595

20 В блокнот
Датчик температуры

DS18B20

2

Уличные электронные часы широко используются в дизайне современной инфраструктуры Москвы и других городов как эффективное средство привлечения внимания людей.

Производственная компания «РусИмпульс» выпускает большой ассортимент уличных светодиодных часов: с высотой цифр от 80мм и выше и любым цветом свечения.

Серийные модели уличных настенных часов «Импульс» стандартно отображают текущее временя, дату и температуру воздуха в попеременном режиме. Опционально такие часы-термометр способны также показывать широкий спектр метеоданных: температуру воды, относительную влажность воздуха, атмосферное давление, скорость ветра, уровень радиационного фона. Время отображения каждого из параметров может быть установлено пользователем самостоятельно.

Электронные табло «Импульс» работают в широком температурном диапазоне (от -40 до +50 °С), имеют специальную защиту от коррозии, попадания пыли и влаги внутрь корпуса (IP 65) и могут эксплуатироваться в любых погодных условиях.

Электронные уличные часы с термометром «Импульс» выпускаются, как правило, в одностороннем исполнении и устанавливаются на стену здания. Возможно двустороннее исполнение часов с вертикальным или боковым креплением.

В зависимости от предполагаемого места установки уличные электронные часы-термометр можно выбрать для теневой или солнечной стороны. Для размещения в тени подойдут часы-термометр с менее яркими светодиодами красного цвета — 1,5Кд, тогда как для солнечной стороны, а также установки в витринах рекомендуются часы с более яркими светодиодами (3,0Кд для красного свечения / не менее 2Кд для иного цвета)

Уличные электронные часы с термометром стандартно управляются при помощи пульта дистанционного управления на ИК–лучах с дальностью действия до 10 м. Пульт позволяет менять яркость свечения и длительность индикации отображаемых параметров. Крупногабаритные часы-термометр с высотой шрифта от 700 мм управляются с помощью радиопульта дальностью действия до 50 м.

Базовые модели уличных электронных часов «Импульс»

отображаемые параметры текущее время (ЧЧ:ММ), дата (ДД.ММ), температура воздуха (-88 °С или 88 °С)
формат индикаторов 88:88
тип индикаторов светодиоды
яркость индикаторов
управление пульт ДУ на ИК-лучах (расстояниес действия до 10м)
питание 220В/ 50Гц, кабель питания 1,5м.
условия эксплуатации улица, температура от-40° до 50° С
тип и цвет корпуса стальной штампованные корпус, окрашенный черной порошковой краской, декоративный профиль, акриловое стекло, крепление — петли на задней стороне корпуса
метеодатчики датчик температуры воздуха – выносной, провод датчика 1,5м.
опционально возможно оснащение табло другими метеодатчиками
гарантийный срок 2 года



  • Второй вариант, DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

Общая схема.


— При нажатии Кн2 Кн2


Кн1 Кн3 Кн2


UA-EN-RU .


ds 18 b 20 №1 или №2.

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

Схема в протеусе

прошивкой загрузчика ATmega328.)


FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

С помощью перемычек Jp -1, Jp -2, Jp RF

1сек.

2сек.

4сек.

8сек.

16сек.

32сек.

64сек.

128сек.

Jp -1

Jp -2

Jp -3

FUSE, ATtiny24а устанавливаются на внутренний генератор МК — 8МГц.



в архиве .

Радиодатчик для матричных часов, от батарейного питания, схема и прошивка в форуме.

DS18b20 , RTC DS1307 , датчик освещения, кнопки управления, комплект RF -модулей, и блок питания 5 вольт (потребление схемы в пиковых моментах, при максимальной яркости, составляет до 0.6А, а в среднем это 0.3А, можно использовать и лишнюю зарядку от мобилки, если имеется с подходящими параметрами) ).
В чем интерес применения Arduino Nano Atmega328 .
В том, что на борту этой платки уже имеется модем с выходом на мини USB, прошить такой контроллер можно без особого труда через bootloader, с помощью вашего компьютера и телефонного шнура для зарядки мобильного телефона с разъемом под мини USB.
Все это несложно делается с помощью простенькой программки XLoader .
Чуть подробней про опыт прошивки через bootloader, описывал здесь «Nano вольт — амперметр 2 канала. «.
При желании все необходимые модули можно по выгодной цене купить на Aliexpress.

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


В общем, с элементарной базой, думаю вопросов не должно возникнуть, так все здесь стандартно.


Оформление отображения вида работы часов — термометра, это уже любительский вариант исполнения.
В программе имеется три варианта оформления работы часов термометра.

  • Первый вариант это, поочередное отображение времени (часы и минуты), уличной температуры и температуры помещения (два датчика DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

  • Второй вариант, отображение времени (часы и минуты), температуры окружающего воздуха (один датчик DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

  • Третий вариант, просто часы, отображение времени (часы и минуты),

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

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


Схема.


— В схеме использованы три кнопки управления, при кратковременном нажатии на эти кнопки, одноразово вызываем ротацию показаний на основном экране часы – дату — день недели – температура.


— При нажатии Кн2 более 2х сек., осуществляется вход в меню установок (при нахождении в меню, нажатие Кн2 более 2х сек., выход из меню установок).


— После входа в меню, кнопками Кн1 Кн3 можно сделать коррекцию даты и времени, движение по меню осуществляется Кн2 , изменяемый параметр будет находиться в инверсном свечении.


— Также в меню, возможно, если в этом есть необходимость, установить коррекцию неточности хода часов, в течение суток ±9сек.


— Следующий пункт в меню будет, это выбор используемого языка, в одной прошивке предусмотрено использование языков UA-EN-RU .


— Пункт варианта анимации на экране, один из трех, что описан в начале статьи.


— Радиодатчик, при выборе значение «0» , радиодатчик в программе не задействован, при выборе 1 или 2, показания температуры с радиодатчика займут место на дисплее, вместо ds 18 b 20 №1 или №2.

Фото часов в процессе отладки на макетной плате.

Схема в протеусе

Схема передатчика для этих часов.

С помощью перемычек Jp -1, Jp -2, Jp -3, можно выбрать, частоту передачи RF -модулем пакетов информации с температурой от датчика №3.

1сек.

2сек.

4сек.

8сек.

16сек.

32сек.

64сек.

128сек.

Jp -1

Jp -2

Jp -3

(1 – перемычка замкнута, 0 – нет)

Печатная плата для часов, и радиодатчика.

FUSE для работы ATmega328 с загрузчиком (архив с прошивкой загрузчика ATmega328. )

FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

Прошивка “Часы – термометр на матричных модулях ” , печатные платы, proteus, в архиве .

«Радиоежегодник» — Выпуск 2. Микроконтроллеры. Обзор за 2011 год — 10 Января 2015 — Блог

«Радиоежегодник» — Выпуск 2.
Микроконтроллеры.


Год: 2011

Издательство: Радиоежегодник

Тема номера: МИКРОКОНТРОЛЛЕРЫ

Выпуск: октябрь,  2011  №2

Обьем: 8.1 мб

 

Схемотехнический обзор радиолюбительских изданий первой половины 2011 года. В обзоре 100 схем из 7 журналов.

 

Содержание:

  • Радио
    • Внутрисхемный отладчик программ для микроконтроллеров AVR (ATmega8)
    • Самодельный навигатор из телефона Siemens (GPS-модуль ЕМ-406а)
    • Программируемый терморегулятор для системы отопления (ATmega8)
    • Двухканальный контроллер светодиодных ламп-вспышек (PIC16F876)
    • Микроконтроллерная система зажигания без прерывателя-распределителя (PIC12F675)
    • Вольтметр переменного напряжения (ATmega48)
    • Управление приборами через USB-порт компьютера (ATmega8)
    • Три варианта USB-термометра (PIC18F14K50, LM75AD)
    • Настенные часы-будильник с интерфейсом USB (ATmega8, МАХ7219, DS1307, LM76)
    • Таймер обогревателя зеркал заднего вида (PIC12F629)
    • Проигрыватель файлов формата МРЗ с SD-карт памяти (ATmega8, VS1011)
    • Контроль температуры блока питания компьютера (ATmega8, DS18B20)
    • «Звездное небо» дома (AT90S4414-8PC)
    • Пульт управления цифровыми камерами для стереофотосъемки (PIC16F630)
    • Формирователь кода нажатых кнопок с подавлением «дребезга» для встраивания в ПЛИС
    • Работа с USB HID устройствами в Windows (ATmega8)
    • Цифровой интерфейс к «лазерной рулетке» (ATmega48, ADUM1200ARZ, ADUM1201ARZ)
    • Шагомер на микроконтроллере ATtiny2313 (ATtiny2313, К1116КП4)
    • Простой термометр с шестью датчиками (ATtiny2313, DS1820)
    • Охранный сигнализатор на микроконтроллере PIC16F628A (PIC16F628A, ISD1416)
    • СОМ-программатор для микроконтроллеров AVR
    • Микроконтроллерный сигнализатор протечки воды (PIC12F675)
    • Простейшие часы на микроконтроллере (PIC16F84)
    • Автомат для аквариума (PIC16F873, DS18B20)
    • Автомат световых эффектов на микроконтроллере (PIC16F628)
  • Радиоаматор
    • Блок управления УМЗЧ с обычными потенциометрами МР800 (ATmega8, AD409)
    • Простое интеллектуальное зарядное устройство NIMH/NICD аккумуляторов (ATmega8)
    • Мини-роб (ATtiny2313, LB1642)
    • Прибор сигнализации GSM на основе модуля SIM900 (ATmega168)
    • Лабораторный блок питания с микроконтроллерным управлением 0…25,5 В с двойной защитой (ATmega16, PIC16F877)
    • Электронные шахматные часы (АТ89С4051)
    • Конструкции с «Arduino»  (ATmega328)
    • Автоматизированная система сбора и сохранения информации с датчиков (ATmega8, DS18B20)
    • Робот Sumo на Arduino nano (ATmega168)
    • Прибор для измерения частоты дыхания (ATmega8515)
  • Радиоконструктор
    • Частотомер — цифровая шкала (PIC16F628)
    • Настольный МР-3 плеер (PIC16F73, VS1001K, LM1877)
    • Ремонт электромеханических часов автомобиля ВАЗ (PIC12F675)
    • Проходной счетчик (PIC16F628)
    • Цифровой таймер (ATmega8)
    • Дозиметр радиации (PIC16F84)
  • Радиомир
    • Говорящий датчик воды (MSP430F2012)
  • Современная электроника
    • Микроконтроллеры и сети Ethernet (PIC18F452 / ATmega128 / AT89S8253, ENC28J60)
    • Реализация интерфейса RS-485 в микроконтроллерах (PIC18F452)
    • Реализация изолированного интерфейса шины I2C с использованием цифровых изоляторов
  • Электрик
    • Устройство плавного пуска и остановки двигателей постоянного тока (PIC16F676)
  • Радиохобби
    • NetWorker — автономный WEB-сервер (PIC18F6xJ6x)
    • Охранная GSM-сигнализация для дома, дачи, гаража (ATmega168)
    • Внешний USB аудиоЦАП (РСМ2704)
    • Схема синхронизации настенных стрелочных часов от приемника системы GPS (PIC16LF88, ЕМ-408)
    • Высотомер для ракетомоделистов (PIC16F88, МРХН6115A6U, ADS1100)
    • Интеллектуальный автоинформатор на базе GSM-модуля
    • Мультирежимный светодиодный стереоспектроанализатор (dsPIC33FJ64GP802)
    • Автономное зарядное устройство на основе солнечной батареи для мобильных телефонов и USB-устройств (ATtiny13)
    • Интеллектуальный диммер с управлением от РС5-совместимого пульта ИК ДУ (PIC18F1320)
    • Афонаризмы из самоучителя по PIC микроконтроллерам

 

Скачать  Радиоежегодник

зеркало

 

Радиоежегодник,Выпуск 2,Микроконтроллеры,Обзор,2011 год,радио ежегодник,скачать бесплатно,без регистрации

Говорящие LED-часы — часть 3: Схема — DiMoon Electronics

Во 2-ой части мы разобрались с преобразованием текущего времени и температуры в речь. Все готово для воплощения нашего проекта в железе. В этой статье мы рассмотрим принципиальную схему часов и обсудим некоторые особенности аппаратной реализации.

Изначально, при проектировании часов, я не рисовал ни какие схемы. Были только небольших наброски в Proteus-е. Поэтому, пришлось заняться ее воссозданием по имеющемуся железу и программному обеспечению. Ссылка на схему в формате DipTrase и PDF будет в конце статьи.

Схема часов вместилась на трех страницах, нажмите на картинку для открытия в полном размере.

«Мозгом» конструкции является микроконтроллер DD1 ATMega16. К нему подключена микросхема Flash-памяти DS1 на 4 метра для хранения семплов из предыдущей статьи, термометр DD4 DS18B20, буферы LED-дисплея DD2, DD3 с кнопками SB1-SB4 и внешний R-2R ЦАП. Питается конструкция от 5-и вольт через разъем XP2. Через XP1 производится заливка прошивки в микроконтроллер.

Микросхема флеш-памяти DS1 питается от отдельного линейного стабилизатора DD5 на 3.3 вольта. Судя по даташиту на флешку, все ее входы толерантны к 5-и вольтам, а это значит, что ее можно напрямую подключать к 5-и вольтной AVR-ке, не боясь что-либо сжечь.

 

Индикация производится с помощью 2-х строенных семисегментных индикаторов HG1 и HG2. Индикация динамическая. Для конкретных индикаторов токоограничивающие резюки R25-R32 поставил по 300 Ом.

Сигнал с ЦАП-а, выполненного на резисторах R1-R16, через потенциометр R33 подается на усилитель DA1 LM386N. R33 служит для подстройки громкости речевого информатора, чтоб он не орал и не будил окружающих, если те спят)) Обвязка LM-ки взята прямиком из datasheet-та, без изменений. И не забываем про цепочку Цобеля на С4-R34, иначе будем долго чесать репу и искать причину самовозбуда усилка высоких частотах. Ну и конденсаторы С6, С7 надо ставить поближе к микросхеме.

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

На рисунке изображена упрощенная схема внутренней части микроконтроллера и внешней обвязки. Она не совсем соответствует реальной, но для нашей задачи это не критично.

Переключатель PORTB управляет пином PBx микроконтроллера, настроенного на выход. В нижнем положении переключателя PORTB на выводе PBx выдает ноль, в верхнем — единица. Переключатель DDRD управляет направлением вывода PDx, в нижнем положении PDx является выходом, в верхнем положении переключателя — входом. Когда PDx настроен как выход, логическим уровнем на нем модно управлять с помощью переключателя PORTD, по аналогии с PBx. Резистор R2 — внутренний подтягивающий резистор, PIN:D — внутренний буфер, с выхода которого из программы в МК можно прочитать значение логического уровня на PDx, когда он настроен на вход. Буферы LED_BUFF:A и LED_BUFF:B — буферы LED-дисплея DD2 и DD3 соответственно, LED_SEGMENT — один сегмент одного светодиодного индикатора.

Начнем с простого — управление свечением светодиода. Для этого переключатель PORTB переведем в нижнее положение, там самым подадим на катод светодиода минус источника питания, DDRD так же в нижнее положение, и PDx у нас работает как выход. После этого с помощью переключателя PORTD мы сможем зажигать и гасить светодиод.

Переведем PORTD в верхнее положение. Черными стрелками указано направление обхода интересующей в данный момент части контура. Это не в коем случае не направление течения тока, скорее, это наглядное представление наличия «электрического» контакта; стрелка начинается на плюсе, проходит через светодиод и кончается на массе, при этом потенциал на аноде светодиода больше, чем на катоде, следовательно, он будет гореть:

Если в этот момент юзер нажмет на кнопку BUTTON, то ни чего страшного не произойдет, так как резистор R1 предотвратит КЗ, а за счет того, что выходное сопротивление вывода PDx в этом режиме очень мало, то наш резистор R1 ни как не повлияет на значение логического уровня на PDx.

Чтобы погасить светодиод, достаточно перевести переключатель PORTD в нижнее положение:

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

Все сказанное выше по своей сути является примером реализации динамической индикации для индикаторов с общим катодом: на PBx вешаются катоды индикаторов, на PDx аноды сегментов.

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

Для начала переключателем PORTB установим на PBx логическую единицу. Это делаем для того, чтобы светодиод не светился при любом логическом значении на PDx. Далее, настроим PDx на вход, переведя DDRD в верхнее положение. Через резистор подтяжки логическая единица поступает и на вход внутреннего буфера PIN:D, и на PDx. Значение на выходе буфера PIN:D можно прочитать программно.

И вот, юзер решил нажать на кнопку BUTTON. Так как сопротивление резистора R1 намного меньше резистора подтяжки R2, на выводе PDx установится низкий уровень, который можно прочитать на выходе буфера PIN:D.

Таким образом реализуется временнОе мультиплексирование кнопок и LED-индикатора, висящих на одном и том же выводе порта. При частоте обновления индикатора, равной около 100 Hz, видимых задержек реагирования на кнопки не будет, а драгоценные выводы микроконтроллера мы сэкономим)) Правда при этом усложняется программа опроса кнопок и вывода значения на индикатор, по сути будет один программный модуль, который занимается и тем, и другим, но об этом как-нибудь потом.

Про схему собственно все))

Теперь немного о функционале. На данный момент часы умеют отсчитывать текущее время, что не удивительно, ведь это же часы)), имеют календарь, учитывающий високосный год, отображают температуру за окном и снижают яркость индикаторов в период с 23:00 до 7:00, чтоб ночью не мешали спать. Так же можно настроить диапазон часов, когда работает речевой информатор. У меня он объявляет каждый час начиная с 7:00 и до 22:00. Будильника нет. Не стал его делать по одной причине: если ночью «моргнет» свет, то время собьется, и будильник зазвенит не тогда, когда нужно, следовательно, есть опасность проспать. Когда были у меня китайские LED радио-часы, натыкался несколько раз на такой казус. Так что лучше на телефоне поставлю будильник, когда он нужен.

Немного фоток.

В качестве корпуса выбрана пластиковая китайская коробка

Печатную плату не делал, все собрано на макетке типа «решето»

Индикатор поближе: 5 секунд показывают текущее время, 2 секунды температуру

Видео с демонстрацией работы:

Собственно, на этом все, спасибо за внимание!))

Архив со схемой и фотками

Часы термометр на бегущей строке. Схема. Часы-будильник и термометр с бегущей строкой на шестнадцатиэлементных индикаторах. Базовые модели уличных электронных часов «Импульс»

Простые часы на светодиодных матрицах. Многие радиолюбители, начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную и описанную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной GNM23881AD при размере 60х60мм были куплены за 1,5уе (3 индикатора обошлись в 4,5уе), за эти деньги врядли можно купить четыре семисегментника таких-же размеров. А вот информации, разместить на матричном индикаторе, можно намного больше. Кроме цифр на них можно отображать любые буквы, знаки, а с помощью бегущей строки еще и текст.

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

Функционал у часов такой:

  • Отсчет времени, календарь, день недели. (високосный год учитывается, переход на летнее/зимнее время не осуществляется).
  • Сохранение хода часов при пропадании внешнего питания (потребление составляет 15мка).
  • Коррекция хода + — 59,9сек\сутки, с шагом 0,1сек. 9 будильников. 3 из которых «одноразовые», и 6 «постоянных», индивидуально настраиваемых по дням недели.
  • Индивидуально настраиваемая длительность звукового сигнала каждого будильника (1-15мин).
  • Звуковое подтверждение нажатия кнопок (возможно отключить).
  • Ежечасный звуковой сигнал (возможно отключить).
  • С 00-00 до 08-00 сигнал не подаётся.
  • 1 или 2 датчика температуры (Улица и дом).
  • Настраиваемая бегущая строка, посредством которой выводится вся информация (кроме времени)
  • Значение коррекции хода, и настройки «бегущей строки» — сохраняются даже при пропадании резервного питания.

«Сердцем» часов выбрана AtMega16A, из-за её доступности, дешевизны и «ногастости». Схему хотелось максимально упростить, поэтому все что можно, было возложено на контроллер. В результате удалось обойтись всего двумя микросхемами, контроллером и регистром TPIC6B595. Если кому то недоступен TPIC6B595, то можно его заменить на 74НС595 + ULN2803. Оба варианта были опробованы. Так же можно попробовать применить TPIC6С595, она немного слабовата, и слегка грелась, но в целом работала стабильно. Отсчет времени производится с помощью асинхронного тайме – Т2. Ход часов сохраняется и при пропадании питания. В это время бОльшая часть схемы обесточивается, а контроллер питается от батарейки, аккумулятора, или от ионистора. Мне было интересно «по играться» с ионистором, поэтому применил его. Ток потребления часами в дежурном режиме составляет 15мка. При питании от ионистора на 1Ф, часы «продержались» четверо суток. Этого вполне достаточно для поддержания хода во время перебоев питания. Если применить батарейку СR2032, то теоретически, по расчетам заряда должно хватить на 1,5года. Наличие сетевого напряжения контроллер «слушает» через вывод РВ.3 Этот вывод является инвертирующем входом компаратора. Напряжение питания, через делитель R2-R3 подается на вывод РВ.3, и в нормальном состоянии равно примерно 1,5в. Если внешнее напряжение упадет ниже 4,1 вольта, то напряжение на выводе РВ.3 станет меньше 1,23вольта, при этом сгенерируется прерывание от компаратора, и в обработчике этого прерывания выключаются все «лишние» узлы контроллера и сам контроллер усыпляется. В этом режиме продолжает работать только отсчитывающий время таймер Т2. При появлении внешнего питания, напряжение на РВ.3 снова подымится выше 1,23в, контроллер «увидев» это, переведет все узлы в рабочее состояние. Если вместо ионистора, будет использоваться батарейка СR2032, то её нужно подключить через диод(предпочтительно диод шоттки). Анод диода подключается к + батарейки, а катод к катоду VD1. В обычном режиме на экране отображается время в формате часы-минуты. С интервалом в одну минуту происходит запуск бегущей строки. Бегущей строкой отображается день недели, дата, год, темп. дома, и темп. на улице. Бегущая строка настраиваемая, т.е. можно включить/выключить отображение любого из элементов. (я например всегда отключаю отображение года). При выключении всех элементов, бегущая строка не запускается, и часы постоянно отображают текущее время. 9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или например Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин. Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи. Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом. Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от батарейки. Диод D1 — желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n. Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой:

Видео как все работает!

  • Второй вариант, DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

Общая схема.


— При нажатии Кн2 Кн2


Кн1 Кн3 Кн2


UA-EN-RU .


ds 18 b 20 №1 или №2.

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

Схема в протеусе

прошивкой загрузчика ATmega328.)


FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

С помощью перемычек Jp -1, Jp -2, Jp RF




1сек.

2сек.

4сек.

8сек.

16сек.

32сек.

64сек.

128сек.

Jp -1

Jp -2

Jp -3

FUSE, ATtiny24а устанавливаются на внутренний генератор МК — 8МГц.



в архиве .

Радиодатчик для матричных часов, от батарейного питания, схема и прошивка в форуме.

DS18b20 , RTC DS1307 , датчик освещения, кнопки управления, комплект RF -модулей, и блок питания 5 вольт (потребление схемы в пиковых моментах, при максимальной яркости, составляет до 0.6А, а в среднем это 0.3А, можно использовать и лишнюю зарядку от мобилки, если имеется с подходящими параметрами) ).
В чем интерес применения Arduino Nano Atmega328 .
В том, что на борту этой платки уже имеется модем с выходом на мини USB, прошить такой контроллер можно без особого труда через bootloader, с помощью вашего компьютера и телефонного шнура для зарядки мобильного телефона с разъемом под мини USB.
Все это несложно делается с помощью простенькой программки XLoader .
Чуть подробней про опыт прошивки через bootloader, описывал здесь «Nano вольт — амперметр 2 канала. «.
При желании все необходимые модули можно по выгодной цене купить на Aliexpress.

MAX7219 dot matrix

Nano Atmega328

DS1307

DS18b20

Датчик освещения

Блок питания

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


В общем, с элементарной базой, думаю вопросов не должно возникнуть, так все здесь стандартно.


Оформление отображения вида работы часов — термометра, это уже любительский вариант исполнения.
В программе имеется три варианта оформления работы часов термометра.

  • Первый вариант это, поочередное отображение времени (часы и минуты), уличной температуры и температуры помещения (два датчика DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

  • Второй вариант, отображение времени (часы и минуты), температуры окружающего воздуха (один датчик DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

  • Третий вариант, просто часы, отображение времени (часы и минуты),

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

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


Схема.


— В схеме использованы три кнопки управления, при кратковременном нажатии на эти кнопки, одноразово вызываем ротацию показаний на основном экране часы – дату — день недели – температура.


— При нажатии Кн2 более 2х сек., осуществляется вход в меню установок (при нахождении в меню, нажатие Кн2 более 2х сек., выход из меню установок).


— После входа в меню, кнопками Кн1 Кн3 можно сделать коррекцию даты и времени, движение по меню осуществляется Кн2 , изменяемый параметр будет находиться в инверсном свечении.


— Также в меню, возможно, если в этом есть необходимость, установить коррекцию неточности хода часов, в течение суток ±9сек.


— Следующий пункт в меню будет, это выбор используемого языка, в одной прошивке предусмотрено использование языков UA-EN-RU .


— Пункт варианта анимации на экране, один из трех, что описан в начале статьи.


— Радиодатчик, при выборе значение «0» , радиодатчик в программе не задействован, при выборе 1 или 2, показания температуры с радиодатчика займут место на дисплее, вместо ds 18 b 20 №1 или №2.

Фото часов в процессе отладки на макетной плате.

Схема в протеусе

Схема передатчика для этих часов.

С помощью перемычек Jp -1, Jp -2, Jp -3, можно выбрать, частоту передачи RF -модулем пакетов информации с температурой от датчика №3.

1сек.

2сек.

4сек.

8сек.

16сек.

32сек.

64сек.

128сек.

Jp -1

Jp -2

Jp -3

(1 – перемычка замкнута, 0 – нет)

Печатная плата для часов, и радиодатчика.

FUSE для работы ATmega328 с загрузчиком (архив с прошивкой загрузчика ATmega328. )

FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

Прошивка “Часы – термометр на матричных модулях ” , печатные платы, proteus, в архиве .

Эта бегущая строка позволяет читать текст объемом не более 8192 буквы включая пробелы. Текст вводится в память 24С64 бегущей строки при помощи клавиатуры от компьютера без подключения самого компьютера. Во время ввода текста есть возможность стирания букв при помощи клавиши (Backspace) наблюдая за этим действием удаления букв на табло.

Есть возможность регулировки скорости бега букв при помощи двух клавиш рядом с цифрами клавиатуры (+ и -). Скорость бега строки записывается в самую последнюю ячейку памяти 24С64 поэтому при первом включении без регулировки скорости будет наблюдаться медленный бег букв и поэтому нужно сделать первую регулировку. Скорость бега очень сильно меняется при регулировки записи числа в последнюю ячейку 24С64 числа от 1….30 в десятичном измерении или в шестнадцатиричном1..1Е в чем можно убедиться с помощи программатора PICKIT2, но это не обязательно.

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

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

Микросхемы табло 74НС595 выполняют роль зажигания горизонтали табло или строки из 160 светодиодов, а транзисторы дают возможность менять горизонтали или строки от верхних до нижних по очереди то есть зажигание табло происходит построчно с верху вниз по очереди со скоростью 300 кадров в секунду.

Сама микросхема 74НС595 представляет из себя обычный сдвиговый регистр с выводом каждого регистра на светодиодную матрицу но есть большое НО матрица с регистрами соединяется не на прямую а через фиксирующие логическое состояние регистрами.

Зачем это нужно? Это нужно для того чтобы пока идет загрузка от МК сдвиговых регистров по цепочке от одного к другому с каждым тактовым сигналом на выводе 11 и при этом наблюдалось на светодиодных матрицах чего нам вовсе не нужно так как картинка при этом засвечивалась светодиодами не в нужных местах. Поэтому дополнительные фиксирующие регистры блокируют во время загрузки данных вывод информации на матрицы и обновляют только после того как на выводах 12 появиться тактовый сигнал передовая от сдвиговых регистров к фиксирующим данные, а фиксирующие передают на матрицы.

Данные табло создающие все картинку строки поступают от МК с вывода 34 на вход регистра 14 микросхемы 74НС595 от первой микросхемы 74НС595 ко второй данные передаются с выхода 9 на вход 14 и так по цепочке до последней 20 микросхемы.

Повторюсь данные двигаются с каждым тактом на входе 11 всех микросхем 74НС595 по цепочке к самой последней микросхеме 74НС595 и после загрузки все 20 микросхем появляется такт на фиксирующих регистрах вывод 12 тем самым обновляя изображение всей строки, а не всего изображения табло. Строки каждый раз обновляются после перехода на более нижнюю строку.

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

Чтобы проверить первую плату дисплея нужно подключить клавиатуру к плате МК подать питание нажать одну или несколько букв подать команду конца строки, что текст введен нажав клавишу ENTER после этого пойдет бег строки с низкой скоростью так как скорость бега тоже нужно отрегулировать нажимая клавишу (-) до тех пор пока не запишется константа от 5..1Е в шестнадцатиричном виде в память 24С64.

Если вам не нужна строка такой большой длинны состоящая из 20 матриц 8х8, то я могу вам выслать прошивку с меньшим количеством от 2 до 19 это делается просто и быстро ответ вам вышлю письмо с прошивкой мой адрес evgen100777(sobaka)rambler.ru.

Платы дисплея разведены для матриц 6х6 сантиметров красного цвета свечения с маркировкой QFT 2388ASR плата микроконтроллера сделана с условием модернизации добавления строке часов и термометра но так как прошивка под это дело не доделана не рекомендую добавлять кнопки, чтобы не спалить порт МК.

Командные кнопки.

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

(+ и) — эти клавиши работают при включении бегущей строки до набора текста и регулируют скорость перемещения букв по табло + увеличивает скоростьуменьшает скорость перемещения букв.

Backspace — клавиша стирания текста во время набора, работает только в режиме набора текста отображая на табло удаленную букву смещением текста налево.

Enter эта клавиша запускает бег строки после набора текста обозначая конец текста в памяти 24С64 и говорит о том что нужно с этого места текста начать бег строки с начала.

Для нового набора текста бегущую строку нужно выключить и снова включить с подключенной клавиатурой выбрать скорость бега текста клавишами плюс и минус и при первом нажатии на букву табло очищается с отображением в правой части строки первой буквы набирая текст он продвигается в левую сторону после этого нажимается клавиша Enter и строка уходит в рабочий режим бега не реагируя на клавиатуру.

Для повторного вода текста нужно не забывать включить и выключить строку.

Бегущая строка с часами, календарем и набором текста на клавиатуре PS/2

Бегущая строка показывает время часы минуты секунды день цифрами, а месяц и день недели словами например ВРЕМЯ 12.30.10 20 ЯНВАРЯ СРЕДА.

Точно такая же бегущая строка с набором текста на клавиатуре только имеет еще часы с календарем. В этой строке нельзя менять количество светодиодных матриц так как они все 20 штук задействованы в настройке времени даты и месяца и дня недели.

Во время набора текста нажатием клавиши левого CTRL вставляются часы с календарем в текст бегущей строки. Эта строка имеет все те же функции что и прошлые строки на PIC16F628 и PIC16F877 и управляется она точно также.

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

В настройках времени день недели и месяц отображается в виде цифр.

Вот чуть измененная схема этой строки тут добавилось две кнопки с подтягивающими резисторами изменения времени и часовым кварцем на 32768 Гц и еще один резистор подтягивающий вход контролера отвечающий за ввод клавиатуру.

Для более стабильной работы PIC16F877 лучше запитывать через резистор 11 ом 0.25 Ватт по плюсовому питанию для понижения помех идущих от транзисторов которые коммутируют строки табло.

Бегущая строка с часами и термометром для улицы и дома.

Бегущая строка работает на датчиках DS1820 и показывает температуру в доме и на улице путем вставки в текст бегущей строки вывода показаний на табло.

Показания выводиться в виде надписи ТЕМПЕРАТУРА ДОМ 25,2 УЛИЦА -12,4 показания температуры имеют младший показатель в виде десятой доли градуса.

Для вставки термометра в текст надо нажать клавишу левый ALT на компьютерной клавиатуре, подключенной к бегущей строке.

Диапазон температур выводимым термометром -55 до 99 градусов но не рекомендуется нагревать датчик выше 70 градусов во избежание его порче.

Длина провода идущего к датчику на улице должен быть не более 4 метров.

Есть прошивка с тремя Украинскими буквами.
Сигнал будильника снимается в виде лог 0 во время сигнала с 38 вывода PIC16F877

Список радиоэлементов
Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Схема 1
IC МК PIC 8-бит

PIC16F877

1 В блокнот
IC1 Микросхема памяти 24C64 1 В блокнот
IC2, IC3 Сдвиговый регистр

CD74HC595

20 В блокнот
VT1-VT8 Биполярный транзистор

BD140

8 В блокнот
C1, C2 Конденсатор 100 нФ 2 В блокнот
C3, C4 Конденсатор 15 пФ 2 В блокнот
C5 Конденсатор 3.3 нФ 1 В блокнот
R1-R16, R18, R19, R21-R24, R30, R31 Резистор

330 Ом

24 В блокнот
Резистор

330 Ом

144 В блокнот
R26, R27 Резистор

5.1 кОм

2 В блокнот
R28, R29 Резистор

4.7 кОм

2 В блокнот
Cr1 Кварцевый резонатор 20.000 МГц 1 В блокнот
Светодиодная матрица 8х8 20 В блокнот
Разъём PS/2 1 В блокнот
Схема 2
IC МК PIC 8-бит

PIC16F877

1 В блокнот
IC1 Микросхема памяти 24C64 1 В блокнот
Сдвиговый регистр

CD74HC595

20 В блокнот
Биполярный транзистор

BD140

8 В блокнот
C2 Конденсатор 100 нФ 1 В блокнот
C3, C4 Конденсатор 15 пФ 2 В блокнот
C5 Конденсатор 3.3 нФ 1 В блокнот
C6, C7 Конденсатор 33 пФ 2 В блокнот
C8 Конденсатор электролитический 47 мкФ 1 В блокнот
R18, R19, R21-R24, R30, R31 Резистор

330 Ом

24 В блокнот
Резистор

330 Ом

144 В блокнот
R26, R27, R32, R33 Резистор

5.1 кОм

4 В блокнот
R29, R34, R35 Резистор

4.7 кОм

3 В блокнот
R36 Резистор

11 Ом

1 В блокнот
Cr1 Кварцевый резонатор 20.000 МГц 1 В блокнот
Cr2 Кварцевый резонатор 32768 Гц 1 В блокнот
S1, S2 Кнопка тактовая 2 В блокнот
Светодиодная матрица 8х8 20 В блокнот
Разъём PS/2 1 В блокнот
Схема 3
IC МК PIC 8-бит

PIC16F877

1 В блокнот
IC1 Микросхема памяти 24C64 1 В блокнот
Сдвиговый регистр

CD74HC595

20 В блокнот
Датчик температуры

DS18B20

2



  • Второй вариант, DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

Общая схема.


— При нажатии Кн2 Кн2


Кн1 Кн3 Кн2


UA-EN-RU .


ds 18 b 20 №1 или №2.

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

Схема в протеусе

прошивкой загрузчика ATmega328.)


FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

С помощью перемычек Jp -1, Jp -2, Jp RF

1сек.

2сек.

4сек.

8сек.

16сек.

32сек.

64сек.

128сек.

Jp -1

Jp -2

Jp -3

FUSE, ATtiny24а устанавливаются на внутренний генератор МК — 8МГц.



в архиве .

Радиодатчик для матричных часов, от батарейного питания, схема и прошивка в форуме.

DS18b20 , RTC DS1307 , датчик освещения, кнопки управления, комплект RF -модулей, и блок питания 5 вольт (потребление схемы в пиковых моментах, при максимальной яркости, составляет до 0.6А, а в среднем это 0.3А, можно использовать и лишнюю зарядку от мобилки, если имеется с подходящими параметрами) ).
В чем интерес применения Arduino Nano Atmega328 .
В том, что на борту этой платки уже имеется модем с выходом на мини USB, прошить такой контроллер можно без особого труда через bootloader, с помощью вашего компьютера и телефонного шнура для зарядки мобильного телефона с разъемом под мини USB.
Все это несложно делается с помощью простенькой программки XLoader .
Чуть подробней про опыт прошивки через bootloader, описывал здесь «Nano вольт — амперметр 2 канала. «.
При желании все необходимые модули можно по выгодной цене купить на Aliexpress.

MAX7219 dot matrix

Nano Atmega328

DS1307

DS18b20

Датчик освещения

Блок питания

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


В общем, с элементарной базой, думаю вопросов не должно возникнуть, так все здесь стандартно.


Оформление отображения вида работы часов — термометра, это уже любительский вариант исполнения.
В программе имеется три варианта оформления работы часов термометра.

  • Первый вариант это, поочередное отображение времени (часы и минуты), уличной температуры и температуры помещения (два датчика DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

  • Второй вариант, отображение времени (часы и минуты), температуры окружающего воздуха (один датчик DS18b20 ) .

Отображение в режиме бегущей строки — дата, месяц, год и день недели.

  • Третий вариант, просто часы, отображение времени (часы и минуты),

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

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


Схема.


— В схеме использованы три кнопки управления, при кратковременном нажатии на эти кнопки, одноразово вызываем ротацию показаний на основном экране часы – дату — день недели – температура.


— При нажатии Кн2 более 2х сек., осуществляется вход в меню установок (при нахождении в меню, нажатие Кн2 более 2х сек., выход из меню установок).


— После входа в меню, кнопками Кн1 Кн3 можно сделать коррекцию даты и времени, движение по меню осуществляется Кн2 , изменяемый параметр будет находиться в инверсном свечении.


— Также в меню, возможно, если в этом есть необходимость, установить коррекцию неточности хода часов, в течение суток ±9сек.


— Следующий пункт в меню будет, это выбор используемого языка, в одной прошивке предусмотрено использование языков UA-EN-RU .


— Пункт варианта анимации на экране, один из трех, что описан в начале статьи.


— Радиодатчик, при выборе значение «0» , радиодатчик в программе не задействован, при выборе 1 или 2, показания температуры с радиодатчика займут место на дисплее, вместо ds 18 b 20 №1 или №2.

Фото часов в процессе отладки на макетной плате.

Схема в протеусе

Схема передатчика для этих часов.

С помощью перемычек Jp -1, Jp -2, Jp -3, можно выбрать, частоту передачи RF -модулем пакетов информации с температурой от датчика №3.

1сек.

2сек.

4сек.

8сек.

16сек.

32сек.

64сек.

128сек.

Jp -1

Jp -2

Jp -3

(1 – перемычка замкнута, 0 – нет)

Печатная плата для часов, и радиодатчика.

FUSE для работы ATmega328 с загрузчиком (архив с прошивкой загрузчика ATmega328. )

FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

Прошивка “Часы – термометр на матричных модулях ” , печатные платы, proteus, в архиве .


В предлагаемом устройстве используются символьные светодиодные шестнадцатиэлементные индикаторы PSA08-11 с общими анодами. Выбор пал именно на них из-за невысокой стоимости, большого размера отображаемого символа и высокой яркости. Для того чтобы выводить максимум полезной информации, текст перемещается справа налево. На шести знакоместах поочерёдно отображаются текущее время, температура в помещении, температура вне его, число, день недели и месяц прописью, например, “18 МАРТА ЧЕТВЕРГ.

Счёт времени ведёт микросхема DS1307. Она представляет собой часы реального времени (Real Time Clock -RTC) со встроенным календарём. При выключенном общем питании эта микросхема продолжает работать от резервного источника — литиевого элемента CR2032 напряжением 3 В. Поскольку при отсутствии внешних обращений потребляемый микросхемой DS1307 ток не превышает 300 нА, счёт времени в таком режиме может продолжаться до десяти лет. Тактовый генератор этой микросхемы построен с применением внешнего кварцевого резонатора частотой 32768 Гц, что обеспечивает высокую точность хода. Микросхема отсчитывает секунды, минуты, часы, дни месяца (с учётом високосных лет), месяцы, дни недели и годы. Её календарь действителен до 2100 г. Более подробную информацию о ней можно получить в .

Для измерения температуры в устройстве применены цифровые термодатчики LM75, имеющие погрешность не более 2 °С в интервале температуры от -25 до +100°С. Более подробную информацию о них можно найти в .
Схема часов и термометра с бегущей строкой показана на рис. 1. Все функции, за исключением счёта времени, выполняет микроконтроллер DD2 (PIC16F873A-20I/P), тактируемый встроенным генератором с кварцевым резонатором ZQ2. Для управления устройством предназначены кнопки SB1-SB5. Когда их контакты разомкнуты, резисторы R4-R8 обеспечивают высокий логический уровень на соответствующих входах микроконтроллера. Резистор R11 поддерживает высокий уровень на входе начальной установки микроконтроллера, предотвращая перезапуск программы случайными помехами.

Для питания часов необходим стабилизированный источник напряжения 5 В с максимальным током нагрузки не менее 600 мА. Его подключают к разъёму XS1. В авторском варианте используется зарядное устройство от сотового телефона. Конденсаторы С1 и С2 — сглаживающие, причём ёмкость конденсатора С1 должна быть не менее 1000 мкФ.
В часах предусмотрен будильник. Его звуковой сигнал подаёт пьезоизлучатель со встроенным генератором НА1 (НРА24АХ). По сигналам микроконтроллера им управляет ключ на транзисторе VT7. Подбирая резистор R18 в цепи базы этого транзистора, можно в некоторых пределах регулировать громкость звука.

Для индикации режимов работы предназначены светодиоды HL1-HL3 красного цвета свечения. Их яркость изменяют, подбирая резисторы R15- R17.
Для программирования микроконтроллера, установленного на плату, на ней имеется разъём ХР1. На время выполнения этой операции к нему присоединяют программатор, например, PICkit2, EXTRAPIC или другой подобный . В действующем устройстве этот разъём не нужен. Его можно не устанавливать, если до монтажа на плату запрограммировать микроконтроллер в панели программатора.


Программирование микроконтроллера заключается в загрузке программного кода из НЕХ-файла в его FLASH-память. Для этого требуется управляющая программатором программа, например WinPic800, которая находится в свободном доступе по адресу www.winpic800.com/descargas/WinPic800.zip в сети Интернет. Подробную инструкцию по программированию микроконтроллера также можно прочитать в .
Для упрощения программы микроконтроллера и устройства в целом микросхема RTC DD1 и датчики температуры ВК1 и ВК2 связаны с микроконтроллером по одной и той же шине I2C. Датчик ВК2 подключают к разъёму ХР2 кабелем длиной до нескольких метров по схеме, изображённой на рис. 2.

Резисторы R2 и R9 соединяют линии SCL и SDA шины I 2 C с плюсом питания, поддерживают на них высокий уровень в паузах передачи информации, как того требует спецификация шины. Более подробно об использовании этой шины можно узнать из . Адресные входы датчиков температуры ВК1 и ВК2 по-разному соединены с плюсом питания и общим проводом, что даёт микроконтроллеру возможность программно различать датчики.

Шестнадцатиразрядные параллельные коды для вывода информации на индикаторы образуются на выходах микросхем DD3 и DD4. Микроконтроллер DD2 заносит информацию в эти микросхемы последовательным кодом, используя для этого всего три линии своих портов В и С. Установив на линии RC6 и информационном входе сдвигового регистра микросхемы DD3 уровень, соответствующий значению (0 или 1) очередного разряда кода, он формирует на линии RC7 и тактовых входах обеих микросхем нарастающий перепад уровня. При этом уже содержащийся в соединённых последовательно сдвиговых регистрах код перемещается на одну позицию в сторону старшего разряда регистра DD4, а в освободившийся младший разряд регистра DD3 записывается значение, установленное микроконтроллером на его входе.

После шестнадцати таких операций весь код записан в образованный микросхемами DD3 и DD4 шестнадцатиразрядный сдвиговый регистр. Однако на выходах микросхем этот код ещё не появился, на них продолжает действовать тот, что был выведен в предыдущем цикле. Чтобы обновить состояние выходов, микроконтроллер формирует нарастающий перепад уровня на своей линии RB0 и входах записи кода из сдвиговых регистров микросхем DD3 и DD4 в их регистры хранения. Более подробно с работой микросхемы преобразователя последовательного кода в параллельный 74НС595 можно ознакомиться, прочитав .

После записи кода в микросхемы DD3 и DD4 микроконтроллер подаёт команду включить тот из шести индикаторов, для катодов элементов которого этот код предназначен. Чтобы не перегружать выходы микроконтроллера, аноды индикаторов соединены с ними через ключи на транзисторах VT1-VT6. Схема платы индикаторов показана на рис. 3, а условные обозначения элементов индикатора PSA08-11SRW – – на рис. 4. Разъёмы ХР1 и ХР2 платы индикаторов соединяют соответственно с разъёмами XS3 и XS2 основной платы.

Чертежи основной платы и размещения элементов на ней приведены на рис. 5. Она изготовлена из фольгированного с одной стороны стеклотекстолита. Плата рассчитана на установку датчика температуры ВК1 в корпусе DIP8, однако датчик LM75AD выпускают в корпусе SO8 для поверхностного монтажа, поэтому устанавливать его следует через плату-переходник (рис. 6). На рис. 5 контур переходника показан штрихпунктирной линией. В соответствующие отверстия переходника и платы вставляют и пропаивают с обеих сторон отрезки провода. Можно, конечно, изменив топологию печатных проводников на основной плате, обойтись и без переходника.

Двусторонняя печатная плата индикаторов показана на рис. 7. Обратите внимание, что разъёмы на ней устанавливают со стороны, противоположной той, где находятся индикаторы. При сочленении разъёмов обе платы располагаются одна над другой “этажеркой”, как можно видеть на фотоснимке рис. 8.
Транзисторы КТ502Б можно заменить любыми той же серии. Вместо светодиодов АЛ307БМ подойдут и другие маломощные красного цвета свечения, например АЛ310А.
Правильно собранное устройство с корректно запрограммированным микроконтроллером в налаживании не нуждается и начинает работать сразу после включения.

После подачи питания первым на индикаторы выводится приветственное сообщение. За ним следует время в 12- или 24-часовом формате, который можно выбрать в соответствующем пункте меню. Далее бегущая строка с текущим временем на 10с останавливается. По их истечении выводятся температура в помещении (показания датчика ВК1), температура на улице (показания датчика ВК2) и выдерживается ещё одна десятисекундная пауза, в течение которой индикатор показывает уличную температуру. После этого выводится число, за ним месяц и день недели прописью, после чего цикл (за исключением приветственного сообщения) повторяется.

Для установки текущего времени и других параметров переходят в режим “Меню” кратковременным нажатием на кнопку SB3 “М”. Включается светодиод HL2, показывая, что этот режим включён. На индикаторе после сообщения “НАСТРОЙКА” выводится и останавливается строка “ЧАС XX”, где XX — текущее значение часа, которое можно увеличить нажатием на кнопку SB1 “+” или уменьшить нажатием на кнопку SB5 “-“.
Для того чтобы перейти к следующему пункту меню, нажимают на кнопку SB2 “>”. С её помощью меню можно “листать” в указанном далее порядке, с помощью кнопки SB4 “” выводится строка “МИН XX”, затем “ГОД 20ХХ” (по умолчанию 2011), далее “МЕСЯЦ XX”, “ЧИСЛО XX”, “ДЕНЬ НЕДЕЛИ XX”, “БУД_ЧАС XX” (час срабатывания будильника), “БУД_МИН XX” (минуты срабатывания будильника).

Затем на индикаторе появляется одна из строк “БУД ВЫКЛ” или “БУД ВКЛ”, отображая текущее состояние будильника. Его можно менять, нажимая на кнопку SB1 “+” или SB5 “-“. Когда будильник включён, горит светодиод HL1, сигнализируя об этом.
Далее выводится строка “ФОРМАТ XX”, где XX равно 12 или 24 в зависимости от выбранного нажатиями на кнопку SB1 “+” или SB5 ” формата отображения времени. После очередного нажатия на SB2 “>” выводится строка “ПОКА”, выключается светодиод HL2, часы переходят в обычный рабочий режим.


Когда текущее время совпадает с заданным временем срабатывания будильника, включаются светодиод HL3 и излучатель звука НА1. Чтобы отключить световую и звуковую сигнализацию, достаточно нажать на любую кнопку. Электрический сигнал для управления внешним исполнительным устройством при необходимости можно снять с выхода RB5 микроконтроллера, к которому через резистор R17 подключён светодиод HL3.
При выключенном внешнем питании устройство продолжает счёт времени — микросхема DD1 работает от литиевого элемента G1.

Прилагаемые файлы: source.zip

ЛИТЕРАТУРА
1. DS1307 – 64 X 8 часы реального времени с последовательным интерфейсом. – www.piclist.ru/D-DS-DSB1 “+”307-RUS/D-DS-DS1307-RUS.html
2. LM75A Digital tem- perature sensor and thermal watchdog. www.alldatasheet.com/datasheet-pdf/pdf/100962/PHILIPS/LM75AD.html
3. Долгий А. Программаторы и программирование микроконтроллеров. – Радио, 2004, № 1, с. 53.
4. Семёнов Б. Ю. Шина I2C в радиотехнических конструкциях. – М.: “СОЛОН-Р”, 2002.
5. 74НС595; 74НСТ595 8-bit serial-in, serial or parallel-out shift register with output latches; 3-state. — www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

В. БАЛАНДИН, с. Петровское Тамбовской обл.
“Радио” №9 2012г.

Разработка средств измерения температуры

Объект. Микроконтроллер ATmega16.

Предмет. Измерение температуры

Цель. Измерение температуры контактным методом.

Задачи. Измерение температуры контактным методом, обработка измерительного сигнала с помощью микроконтроллера и вывода значения температуры на 7-сегментный дисплей.

Программное обеспечение:

1. Программная среда разработки AVRStudio или AtmelStudio, для разработки программ для МК AtmelAVR® (Atmel).

2. Стандартный Windows-приложение — калькулятор (Microsoft).

3. Пакет программ для автоматизированного проектирования электронных схем – Proteus DesignSuite CAD Software (Labcenter electronics).

Ход работы предусматривает последовательное выполнение рекомендаций и действий, описанных далее в этом проекте по пунктам.

СОДЕРЖАНИЕ

1.     ВСТУПЛЕНИЕ

2.     АППАРАТНАЯ РЕАЛИЗАЦИЯ ПРОЕКТА

2.1  Микроконтролер ATmega16

2.2  Датчик температуры DS18B20

2.3  Четырехразрядный семисегментный индикатор

2.4  Моделирование электронной схемы проекта

3.     ПРОГРАМННАЯ РЕАЛИЗАЦИЯ ПРОЕКТА

3.1  Среда разработки AtmelStudio

3.2  Разработка программы

ЗАКЛЮЧЕНИ

1. Вступление

Температура — физическая величина, являющаяся мерой интенсивности теплового движения атомов и молекул.

Контактный метод измерения температуры метод измерения температуры при теплового контакта между объектами измерения и чувствительным элементом измерительного оборудования.

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

Средство измерения делаем на базе микроконтроллера AVRATmega16.

AVR — семья восьмибитных микроконтроллеров фирмы Atmel.

Микроконтроллеры AVR имеют гарвардскую архитектуру и систему команд, близкую к идеологии RISC. Процессоры AVR имеют 32 8-битных регистров общего назначения. Максимальная тактовая частота — 20 мегагерц, короткие команды выполняются за один такт.

Разработка аппаратного обеспечения и моделирования работы измерительной системы может быть выполнена с помощью пакета программ Proteus DesignSuite CAD Software (Labcenterelectronics).

2. Аппаратная реализация проекта

Средство измерения температуры создаем на базе микроконтролера AVR ATmega16.

AVR — семейство восьмибитных микроконтроллеров, ранее выпускались фирмой Atmel, затем Microchip.

Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединенных в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны.

Система команд микроконтроллеров AVR очень развита и насчитывает в разных моделях от 90 до 133 различных инструкций. Большая часть  команд Занимает всего 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт.

Управление периферийными устройствами осуществляется через Адресное пространство данных.Для измерения температуры используем цифровой датчик температуры DS18B20. Если нет особых требований к датчику температуры по параметрам, условиям работы, цене, то очевидным решением является выбор цифрового датчика для совместной работы с микроконтроллером. Цифровые датчики могут подключаться через довольно длинные проводные линии; в отличие от слабых аналоговых сигналов, поступающих из других типов датчиков, цифровой сигнал устойчив к воздействию помех. Используемые интерфейсы позволяют в одной линии подключить сразу несколько цифровых датчиков. Цифровая форма передачи данных позволяет использовать цифровые датчики температуры совместно с совсем простыми микроконтроллерами, не имеющих АЦП и даже не имеют нужного цифрового интерфейса — используемые интерфейсы достаточно просты и легко реализуются программно.

Значение температуры должно отражаться на 4-разрядном 7-сегментном индикаторе.

2.1 Микроконтролер ATmega16

 ATmega16 — 8-разрядный высокопроизводительный AVR микроконтроллер с

малым энергопотреблением.

Микроконтролер ATmega16

Технические характеристики:

Серия

AVRATmega

Ядро

AVR

Ширина шины данных

8-біт

Тактова частота

16 МГц

Количество входов / выходов

32

Объем памяти программ

16 кбайт (8k*16)

Тип памяти программ

Flash

Объем EEPROM

512*8

Объем SRAM

1k*8

Наличие АЦП/ЦАП

АЦП 8*10b

Встроенные интерфейсы

I2C, SPI, UART

Встроенная периферия

Brown-outdetect/reset, POR, PWM, WDT

Напряжение питания

4.5…5.5 В

Рабочая температура

-40…+85 ºC

Отличительные особенности:

Прогрессивная RISC архитектура

  • 130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл

  • 32 8-разрядных рабочих регистра общего назначения

  • Полностью статическая работа

  • Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)

  • Встроенный 2-цикловийперемножувач

    Энергонезависимая память программ и данных

  • Обеспечивает 1000 циклов стирания / записуFlashи 100000 циклов стирания / записи EEPROM

  • Дополнительный сектор загрузочных кодов с независимыми битами блокировки

  • внутрисистемных программирования встроенной программой загрузки

  • Обеспечена режим одновременного чтения / записи (Read-While-Write)

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

    Интерфейс JTAG (совместим с IEEE 1149.1)

  • Возможность сканирования периферии, соответствует стандарту JTAG

  • Расширенная поддержка встроенной отладки

    Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки

Встроенная периферия

  • Один 16-разрядный таймер / счетчик с отдельным предварительным делителем и режимами захвата и сравнения

  • Счетчик реального времени с отдельным генератором

  • Четыре канала PWM (ШИМ)

  • 8-канальный 10-разрядный аналого-цифровой преобразователь

  • Два 8-разрядных таймера / счетчика с отдельным предварительным делителем, один с режимом сравнения

  • 8 несимметричных каналов

  • 7 дифференциальных каналов (только в корпусе TQFP)

2 дифференциальных канала с программируемым усилением в 1, 10 или 200 раз (только в корпусе TQFP)

  • Байт-ориентированный 2-проводной последовательный интерфейс

  • Программируемый последовательный USART

  • Последовательный интерфейс SPI (ведущий / ведомый)

  • Программируемый сторожевой таймер с отдельным встроенным генератором

  • Встроенный аналоговый компаратор

Специальные микроконтроллерные функции

  • Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания

  • Встроенный калиброванный RC-генератор

  • Внутренние и внешние источники прерываний

  • Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, ExtendedStandby и снижение шумов ADC

Выводы I / O и корпуса

Описание выводов микроконтроллера

VCC -питание.

GND — земля.

Port A (PA7..PA0) служит в качестве аналоговых входов преобразователя A / D.

Port A также служит в качестве 8-битный двунаправленный порт ввода / вывода, если преобразователь A / D не используется.

Port B (PB7..PB0) является 8-битным двунаправленным портом ввода / вывода с внутренними  подтягуючемые резисторы (выбранными для каждого бита).

Port B также выполняет функции различных специальных функций ATmega16.

Port C (PC7..PC0) является 8-битным двунаправленным портом ввода / вывода с внутренними подтягуючимые резисторами (выбранными для каждого бита).

 Port C также выполняет функции интерфейса JTAG и других специальных функций ATmega16.

Port D (PD7..PD0) является 8-битным двунаправленным портом ввода / вывода с внутренними подтягивающий резистор (выбранными для каждого бита).

Port D также выполняет функции различных специальных функций ATmega16.

RESET — сброс входных данных. Низкий уровень на этом выводе дольше минимальной длины импульса приведет к сбросу.

XTAL1 — вход на инвертирующий усилитель осциллятора и вход во внутреннюю схемы работы часов.

XTAL2 — выход из инвертирующего усилителя осциллятора.

AVCC — это контактный разъем питания для порта A и A / D преобразователя. Она должна быть внешне подключена к VCC, даже если АЦП не используется. Если используется АЦП, он должен быть подключен к VCC через фильтр низких частот.

AREF- это аналоговый контрольный пин для A / D-преобразователя.

2.2 Датчик температуры DS18B20

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

Описание выводов датчика:

датчик DS18B20

VDD – питание.

GND – земля.

DO–цифровой выход.

Микросхема имеет три выхода, из которых для данных используется только один, два других — это земля и питание. Число проводов можно сократить до двух, если использовать схему с позитивным питанием и соединить VDD с землей. К одному провода данным можно подключить сразу несколько датчиков DS18B20 и в микроконтроллере ATmega16 будет задействован только один пин.

Технические характеристики:

Напряжение питания

3,0…5,5 В

Потребляемый ток

1,5 мА (рабочий режим)

1 мкА (спящий режим)

Диапазон измеряемых температур

-55…+125 ºC

Разрешение АЦП

9…12 біт

Абсолютная погрешность

±0.5 ºC (в диапазоне от -10 до +85 ºC)

±2ºC (в диапазоне от -55 до +125 ºC)

Максимальное время полного 12-Разрядного преобразования

~750 мс

Интерфейс

1-Wire

Схема подключення:

DS18B20

Для корректной работы между 2 и 3 выводами датчика (VDDта DO) необходимо устанавливать резистор номиналом 4,7 кОм.

Особенности датчика:

  • Интерфейс 1-Wire® требует только одного порта для связи

  • Каждое устройство имеет уникальный 64-битный серийный код, хранящийся в бортовом ПЗУ

  • Возможность многоканального подключения упрощает измерения температуры

  • Питание может осуществляться от линии данных

  • Разрешение термометра по выбору от 9 до 12 бит

  • Микросхема имеет встроенный механизм сигнализации о выходе температуры за один из выбранных диапазонов.

2.3 Четырехразрядный семисегментный индикатор 

Результаты измерения отображаются на 4-разрядном 7-сегментном LED индикаторе.

Семисегментный индикатор

Семисегментный индикатор — устройство отображения цифровой информации. Это наиболее простая реализация индикатора, который может отображать арабские цифры. Для отображения букв используются более сложные многосегментные и матричные индикаторы.

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

Сегменты обозначаются буквами от A до G; восьмой сегмент — десятичная точка (decimalpoint, DP), предназначенная для отображения чисел с плавающей точкой.

Расположение выводов 4-разрядного семисегментного индикатора:

4-разрядный 7-сегментный индикатор имеет 12 выводов. Выводы A-G отвечают сегментам, обозначенные этими буквами, decimal — точка, D1-D4 соответствуют номеру разряда справа налево.

Технические характеристики:

Напряжение питания

1,8 В

Рабочий ток

20 мА

Количество разрядов

4

Рабочая температура

-35…+85 ºC

2.4 Моделирование электронной схемы проекта

Моделирование электронной схемы проекта выполняем с помощью пакета программ ProteusDesignSuiteCADSoftware (Labcenterelectronics).

ProteusDesign — пакет программ для автоматизированного проектирования (САПР) электронных схем. Разрабатывается компанией LabcenterElectronics (Великобритания).

Пакет представляет собой систему схемотехнического моделирования, базирующуюся на основе моделей электронных компонентов, принятых в PSpice. Отличительной чертой пакета ProteusDesign является возможность моделирования работы программируемых устройств: микроконтроллеров, микропроцессорных систем, DSP и ин. Причем в Proteus полностью реализована концепция сквозного проектирования, когда например инженер меняет что-то в логике работы схемотехники и программный пакет тут же «подхватывает» данные изменения в системе трассировки. Библиотека компонентов содержит справочные данные. Дополнительно в пакет PROTEUS VSM входит система проектирования печатных плат. Пакет Proteus состоит из двух частей, двух подпрограмм: ISIS — программа синтеза и моделирования непосредственно электронных схем и ARES — программа разработки печатных плат. Вместе с программой устанавливается набор демонстрационных проектов для ознакомления.

Также в состав восьмой версии входит среда разработки VSM Studio, что позволяет быстро написать программу для микроконтроллера, используемого в проекте, и скомпилировать.

Пакет является коммерческим. Бесплатная ознакомительная версия характеризуется полной функциональностью, но не имеет возможности сохранения файлов.

Примечательной особенностью является то, что в ARES можно увидеть 3D-модель печатной платы, позволяет разработчику оценить устройство еще на стадии разработки.

Система поддерживает подключение новых элементов (SPICE) и подключения различных компиляторов (PICOLO, ARM-образные, AVR и т.д.).

Также программа включает в себя инструменты USBCONN и COMPIM, которые позволяют подключить виртуальное устройство к USB- и COM-портов компьютера.

Моделирование аппаратного обеспечения проекта начнем с запуска программы ProteusDesignSuiteCADSoftware. Для этого необходимо дважды кликнуть по ярлыку Proteus.

Создаем новый проект. Для этого в строке меню находится в верхней части окна выбираем File → NewProject. Задаем имя проекта, путь к файлам проекта, выбираем шаблон формата бумажного документа DEFAULT, шаблон монтажной платы пропускаем, создаем проект с использованием встроенных в Proteusпрограм для семейства микроконтроллеров AVR, микроконтроллера ATmega16; компилятор AVRASM (Proteus) файл быстрого старта не создаем.

Все необходимые в проекте компоненты выбираем из списка библиотеки компонентов, которую открываем с меню Library → Pickpartsfromlibraries. Открывается окно PickDevices. Выбранный компонент добавляется в список компонентов в окне DEVICES. В дальнейшем, компоненты из этого списка размещаем в рабочем окне проекта.

Поиск необходимого компонента осуществляем, введя ключевое слово или по категории и подкатегории, или по производителю компонента.

Выбираем микроконтроллер. Вводим ключевое слово ATMEGA, и в списке результатов поиска выбираем необходимый компонент — ATMEGA16. Подтверждаем выбор, два раза кликнув левой кнопкой мыши на элемент списка, после чего, избранный компонент появляется в окне DEVICES.

Далее по аналогии добавляем в окно DEVICES другие компоненты.

Список необходимых компонентов:

· ATMEGA16 – микроконтролер ATmega16

· DS18B20 – цифровой датчик температуры

· 7SEG-MPX4-CA – четырехразрядный семисегментный индикатор с общим анодом

· RES – резистор

· OSCILLOSCOPE – осциллограф

Размещаем все выбранные компоненты в окне проекта.

На вертикальной панели инструментов расположена кнопка TerminalsMode, что открывает окно TERMINALS, из которого выбираем компоненты POWER (питание) и GROUND (земля), и располагаем их в рабочем окне проекта.

Для того, чтобы отредактировать свойства компонента, необходимо дважды кликнуть по нему мышкой. На экране появится окно редактирования компонента.

На вертикальной панели инструментов нажимаем кнопку SelectionMode и соединяем между собой компоненты линиями-проводами следующим образом:

Электронная схема проекта

После создания электронной схемы сохраняем проект и закрываем программу Proteus.

3. ПРОГРАМННАЯ РЕАЛИЗАЦИЯ ПРОЕКТА

 Для разработки программного обеспечения для микроконтроллеров AVRиснуе много сред разработки. Некоторые из них приведены в списке ниже:

  • WinAVR- программный пакет под Windows, включающий в себя компилятор, ассемблер, компоновщик и другие инструменты.

  • AlgorithmBuilder- алгоритмическая среда разработки программного обеспечения для микроконтроллеров с архитектурой AVR.

  • Code :: Blocks – кросс платформенного среду разработки.

  • Avrdude- средство для прошивки микроконтроллеров.

  • AVR-Eclipse-плагин для среды разработки Eclipse, позволяет разрабатывать программы на С / С ++ и ассемблере, программировать и отлаживать контроллеры, используя внешний набор инструментов (WinAVR, Atmel AVR Toolchain)

  • AtmelStudio- бесплатная IDE от самой Atmel

  • ArduinoIDE — бесплатная среда разработки для плат Arduinoна базе микроконтроллеров AVR.

Программное обеспечение для средства измерения температуры создаем в программной среде разработки AVRStudio или AtmelStudio, используемый для разработки программ для МК AtmelAVR® (Atmel).

Программное обеспечение с помощью AtmelStudio можно разработать с использованием следующих языков программирования:

Программу создаем с использованием языка программирования AVRAssembler.

 

3.1 Среда разработки AtmelStudio

AtmelStudio (ранее AVRStudio) — основанное на VisualStudio бесплатное проприетарное интегрированную среду разработки (IDE) для разработки приложений для 8- и 32-битных микроконтроллеров семейства AVR и 32-битных микроконтроллеров семейства ARM от компании Atmel, работающий под управлением операционных систем Windows NT / 2000 / XP / Vista / 7/8/10. AtmelStudio содержит компилятор GNU C / C ++ и эмулятор, позволяющий наладить выполнения программы без загрузки в микроконтроллер.

Ранее среда разработки носило название AVR Studio, но начиная с версии 6.0, вышедшей в 2012 году, в нее была добавлена ​​поддержка разработки для микроконтроллеров архитектуры ARM, также выпускаются фирмой Atmel, и среда разработки получило новое название AtmelStudio. Текущая версия (AtmelStudio 7) поддерживает все микроконтроллеры архитектур AVR, AVR32 и ARM, выпускаемые на сегодняшний день фирмой Atmel.

AtmelStudio содержит в себе менеджер проектов, редактор исходного кода, инструменты виртуальной симуляции и внутрисхемного наладка, позволяет писать программы на ассемблере или на C / C ++.

Характеристики AVRStudio:

  • Интегрированный компилятор C / C ++;

  • Интегрированный симулятор;

  • С помощью плагина возможна поддержка компилятора GCC в виде сборника WinAVR;

  • Поддержка инструментов Atmel, совместимых с 8-разрядной AVR архитектурой, в том числе AVR ONE !, JTAGICE mkI, JTAGICE mkII, AVR Dragon, AVRISP, AVR ISPmkII, AVR Butterfly, STK500 и STK600;

  • Поддержка плагина AVR RTOS;

  • Поддержка AT90PWM1 и ATtiny40;

  • Интерфейс командной строки с поддержкой TPI.

3.2 Разработка программы 

Создаем проект, используя интегрированную платформу разработки AtmelStudioдля разработки и отладку программ для МК AtmelAVR.

Загружаем AtmelStudio. Создаем новый проект:

  • Выбираем тип проекта, Atmel AVR Assembler (AVR Assembler Project)

  • Вводим имя проекта

  • Вводим местоположение проекта

  • Выбираем отладочных платформу, AVRSimulator

  • Выбираем МК, ATmega16

  • Нажимаем кнопку Finish

Окно редактора программы можно открыть, дважды кликнув на имя выходного файла * .ASM окне Project.

В окне редактора программы набираем следующий программный код:

.include "m16def.inc" // подключаете заголовочный файл
.deftemp = r16 // Присваиваем регистр символические имена
.defrazr1 = r17
.defrazr2 = r18
.defrazr3 = r19
.defsys = r20
.deftry = r21
.defcount = r22

.equch0 = 0x03 // 0 для отображения
.equFREQ = 8000000 // Частота процессора
.equW1_DDR = DDRA // Регистр порта датчика
.equW1_PORT = PORTA // Регистр порта датчика
.equW1_PIN = PINA // Регистр порта датчика
.equW1_BIT = 0 // Бит порта на котором датчик

.dseg // ОЗУ
Trm: // 2 комирку под температуру
.byte2
Visible: // 4 ячейки под отображение на индикатор
.byte4
Otobr: // 4 ячейки под промежуточные вычисления
.byte4

.cseg // Программный сегмент
.org0 // Вектор прерывания Reset
jmpReset // Переходим на Reset
.org $ 012 // Вектор прерывания запереполненнием таймера 0
jmpTIM0_OVF // динамично индикация

Reset: // Предустановки
lditemp, 128
outMCUCSR, temp // Вимкнемо JTAG, бит JTD в MCUCSR = 1
lditemp, high (RAMEND) // Инициализуемо в стек
out sph, temp
lditemp, low (RAMEND)
out spl, temp
lditemp, 0xFF // Порты DиCна выход, там семисегментный индикатор
out DDRD, temp
out DDRC, temp
lditemp, 128
outMCUCSR, temp // Выключим JTAG, бит JTD = 1
lditemp, 0b00000010
outTCCR0, temp // Установим предделитель таймера, биты CS
lditemp, 1
outTIFR, temp // Позволим прерывания запереповненням, битTOV0 = 1
outTIMSK, temp
ldisys, 0b10000000 // Установим sys на первый разряд индикатора
Proga_Pred:
rcallW1_Sbros // Сбрасываем шину и проверяем есть ли датчик
cpir17 0 // После сброса, если датчик евr17 будет 1
breqProga_Pred // Если этого нет, идем в бесконечность проверки
rcallW1_Init_12bit // Перестроюемо конфигурационный байт на 9 битную схему работы
sei // позволяется прерывания

Proga:
cli // Запрещаем прерывания на время работы с датчиком
rcallW1_Sbros // Сбрасываем шину и перевиряемочы есть датчик
cpir17 0 // После сброса, если датчик есть в r17 будет 1
breqProga // Если этого нет, идем в бесконечность проверки
rcallW1_ConvTemp // Говорим датчику конвертировать температуру
sei // позволяется прерывания и ждем
rcallDelay // Подождем несколько секунд, пока датчик закончит конвертировать

Proga 0:
cli // Запрещаем прерывания на время работы с датчиком
rcallW1_Sbros // Сбрасываем шину и перепроверяем есть датчик
cpir17 0
breqProga0 // Если этого нет, идем в нескончаемость проверки
rcallW1_ReadMem // Читаем в ОЗУ текущую температуру
sei // позволяется прерывания и начинаем пересчет температуры

lditemp, 0x00 // обнуляем ячейки, где будет температура
stsOtobr + 1, temp
stsOtobr + 2, temp
stsOtobr + 3, temp
ldstemp, Trm // Загружаем старший регистр температуры
sbrstemp, 7 // Проверим положительная у нас температура
rjmpProga_Plusovay // если 7 бит установлен пропускаем эту срока, то есть температура -
lditemp, 0b11111101 // Запишем в Otobr отображения сегменту G, то есть "-"
stsOtobr, temp // Сохраним в 1 разряд
ldstemp, Trm // Загружаем в temp старший регистр температуры
anditemp, 0b00001111 // Выполняем логическое И с константой, отсекаем 4 бита слева
ldirazr1, 0x0F // Записываем число 0x0F в razr1
subrazr1, temp // Отнимаем от 0x0F число из старшего регистра датчика
ldstemp, Trm + 1 // Загружаем в temp младший регистр температуры
anditemp, 0b11110000 // Выполняем логическое И с константой, отсекаем 4 бита справа
ldirazr2, 0xF0 // Записываем число 0xF0 в razr2
subrazr2, temp // Вычитаем от 0xF0 число с младшего регистра датчика
swaprazr2 // Меняем тетради младшего регистра датчика
incrazr2 // Увеличиваем мона 1
swaprazr2 // Изменение назад тетради младшего регистра датчика

rcallRasch_Decimal // Вызываем под программу пересчета температуры в десятинный вид
rcallRasch_Otobr // Вызываем под программу конвертации учитаемий вид
rcallOtobr_Visible// Вызываем подпрограмму перезаписи ячеек
rjmpProga // Переходим на Proga

Proga_Plusovay: // Пришли, если температура +
lditemp, 0b11111111 // Запишем в Otobr отображения "Ничего", то есть "+"
stsOtobr, temp
ldsrazr1, Trm // Загрузим старший регистр температуры
ldsrazr2, Trm + 1 // Загрузим младший регистр температуры
andirazr2, 0b11110000 // Выполняем логическое С константой, отсекаем 4 бита справа
// Этим мы от Сика с младшего бита мусора десятинности температуры

rcallRasch_Decimal // Вызываем подпрограмму пересчете температуры в десятинный вид
rcallRasch_Otobr // Вызываем подпрограмму преобразования в читабельный вид
rcallOtobr_Visible // Вызываем подпрограмму перезаписи ячеек
rjmpProga // Переходим на Proga

Rasch_Decimal: // Пересчет регистра на десятинную форму
swaprazr1 // Изменим тетради в razr1 (старший регистр)
swaprazr2 // Изменим тетради в razr2 (молодшийрегистр)
addrazr1, razr2 // Просуммируем регистры, теперь получена температура в razr1
cpirazr1 0 // Проверим, не 0 градусов
breqNULL_Temp // Перейдемоякщо 0 градусов

Rasch_Decimal0:
ldiXH, High (Otobr + 3) // Загрузим ячейку Otobr + 3 в регистр косвенной адресации X
ldiXL, Low (Otobr + 3)
ldtemp, X // Загрузим с Otobr + 3 значения
inctemp // Увеличим на 1
stX, temp // Сохраним назад в Otobr + 3
cpitemp, 10 // Проверим на 10
brneRasch_Decimal1 // Если не равно перейдем по метке
lditemp 0 // если же = 10, тогда обнулить Otobr + 3
stX, temp
ldtemp, -X // А здесь уже загрузим Otobr + 2 и проведем те же манипуляции
inctemp
stX, temp
cpitemp, 10
brneRasch_Decimal1
lditemp 0
stX, temp
ldtemp, -X
inctemp
stX, temp
Rasch_Decimal1:
decrazr1 // Зменшимона 1 razr1
brneRasch_Decimal0 // Если не = 0 перейдем заметкой
ret // иначе все пересчитали и выходим из подпрограммы

Rasch_Otobr: // Пересчет регистров вчитабельну форму
ldstemp, Otobr + 3 // Загрузим в temp значение ячейки Otobr + 3
rcallRasch_Otobr_Podp // Вызовем подпрограмму пересчете
stsOtobr + 3, razr1 // Сохраним полученное значение в Otobr + 3, ниже по аналогии
ldstemp, Otobr + 2
rcallRasch_Otobr_Podp
stsOtobr + 2, razr1
ldstemp, Otobr + 1
rcallRasch_Otobr_Podp
stsOtobr + 1, razr1ret

Rasch_Otobr_Podp: // Подпрограмма пересчете в читабельную форму
ldiZH, High (CH * 2) // Загрузим в Z наш адрес цифр у памяти программ
ldiZL, Low (CH * 2)
inctemp // Увеличим temp на 1
Rasch_Otobr_Podp0:
lpmrazr1, Z + // Загрузим с программно и памяти число вrazr1
dectemp // Снизим temp
brneRasch_Otobr_Podp0 // Если temp не = 0 перейдем
ret // Если же = 0, выйдем из подпрограммы и в razr1 у нас полученное число

NULL_Temp: // т.к. уOtobr ячейках и так 0, просто выйдем из подпрограммы
ret
Otobr_Visible: // Переписываем готовы ячейки с Otobr у Visible
cli // Запретим прерывания
ldstemp, Otobr
stsVisible, temp
ldstemp, Otobr + 1
stsVisible + 1, temp
ldstemp, Otobr + 2
stsVisible + 2, temp
ldstemp, Otobr + 3
stsVisible + 3, temp
sei // Позволим прерывания
ret

TIM0_OVF: // Динамическая индикация
cli // Запрещаем прерывания
pushtemp // Записываем temp в стек
intemp, SREG // Достаем значение SREG в temp
pushtemp // и сохраняем в стеке
lsrsys // Логический сдвиг вправо
cpisys, 0b00001000 // Проверяем не вышло за границы сегментов
brneTIM0_OVF_Vix // если не получилось переход моза меткой
ldiYH, High (Visible) // а если вышло за границы, обнулить регистровую пару Y
ldiYL, Low (Visible)
ldisys, 0b10000000 // Поставим 7 бит регистра sys, он контролирует который разряд включительно.
TIM0_OVF_Vix:
ldtemp, Y + // Загрузим значение Y и повысим его адрес
outPORTD, sys // Отправим сегмент в порт
outPORTC, temp // И число или знак который выводим
poptemp // Достаем из стека значенния SREG
outSREG, temp // инадсилаемо назад в SREG
poptemp // Достаем значення temp
sei // позволяется прерывания
reti // Выходим из прерывания


//////////////////////////// Начало подпрограмм 1-Wire
W1_Sbros: // Сложения шины и проверка на месте датчик
ldsr16, W1_BIT // Записываем в r16 ножку де датчик
sbiW1_DDR, W1_BIT // Ножку на выход
cbiW1_PORT, W1_BIT // Опракидуем вывод на землю
rcallW1_DelayH // Задержка 480 мкс, для сброса
cbiW1_DDR, W1_BIT // Ножку на вход
rcallW1_DelayI // Ждем тайм слот 70 мкс
sbisW1_PIN, W1_BIT // Пропускает мо следующею срока, если бит порта в 1
ldir17, 1 // И установим сигнальный регистр в 1
sbicW1_PIN, W1_BIT // Пропускаем следующую строку, если бит порта в 0
ldir17 0 // И установим сигнальный регистр в 0
rcallW1_DelayJ // Ждем тайм слот 410 мкс
ret // Если датчик на месте, в r17 по выходе отсюда будет 1, в противном случае 0

W1_ReadMem: // Чтения памяти регистре в температуры
ldir16, 0xCC // Вышлем команду 0xCC, это пропустить уникальный номер датчика
rcallds_byte_wr // Так как он у нас один на проводе
ldir16, 0xBE // Говорим датчику, мы сейчас будем читать
rcallds_byte_wr // Запуливаемо байт
rcallds_byte_rd // А здесь уже начинаем читать, прочитали первый (младший)
stsTrm + 1, r16 // И запулилы его в память, по метке Trm + 1
rcallds_byte_rd // Читаем второй (старший)
stsTrm, r16 // И запулилы его в память, по метке Trm
ret

W1_ConvTemp: // Подпрограмма преобразования температуры
ldir16, 0xCC // Пропускаем уникальный номер датчика
rcallds_byte_wr
ldir16, 0x44 // Говорим что нужно сконвертировать температуру, этот процесс занимает 750 мс
rcallds_byte_wr
ret

W1_Init_12bit: // Подпрограмма перестройки на 12 бит температуры
ldir16, 0xCC // Пропускаем уникальный номер датчика
rcallds_byte_wr // Спуливаемо в датчик
ldir16, 0x4E // Говорим что сейчас будем писать в RAM регистры датчика
rcallds_byte_wr // Спуливаемо в датчик
ldir16, 0xFF // 0xFF записываем в первые 2 регистры, это регистры температуры, они нам не нужны
rcallds_byte_wr // поэтому их оставляем в стандартном состоянии
ldir16, 0xFF // 0xFF второй байт температуры
rcallds_byte_wr // Спуливаемо на порт
ldir16, 0x1F // Говорит мощо 12 бит - 7F, или 1F - 9бит, 3F - 10 бит, 5F - 11 бит
rcallds_byte_wr // Спуливаемо на порт
ret

ds_byte_rd: // Подпрограмма чтения данных в регистр r16 с 1 Wire
ldir17, 8 // Пишем в r17 - 8, т.к. у нас 8 бит в регистре
clrr16 // Чистимоr16, сюда будем читать данные
ds_byte_rd_0:
sbiW1_DDR, W1_BIT // Вывод на выход
cbiW1_PORT, W1_BIT // Опрокидуемо вывод на землю
rcallW1_DelayA // Ждем 6 микросекунд
cbiW1_DDR, W1_BIT // Вывод на вход
rcallW1_DelayE // Ждем 9 микросекунд
sbisW1_PIN, W1_BIT
clc // Очищаем бит C = 0
sbicW1_PIN, W1_BIT
sec // Очищаем бит C = 1
rorr16 // Выполняем циклический сдвиг вправо через С
rcallW1_DelayF // Ждем 55 микросекунд
decr17 // Снижаем на 1 регистр r17
brneds_byte_rd_0 // Если не равно 0 обращаемся в цикле
ret

ds_byte_wr: // Подпрограмма записи данных с региструr16 в датчик
ldir17, 8 // Пишем в r17 - 8, т.к. у нас 8 бит в регистре
ds_byte_wr0: 
sbiW1_DDR, W1_BIT // Вывод на выход
cbiW1_PORT, W1_BIT // Опрокидаем вывод на землю
sbrcr16 0 // Проверим, в r16 бит 0 очищено или установлена
rjmpds_byte_write_1 // Если установлено перейдем по этой метке
rjmpds_byte_write_0 // Если очищено перейдем по этой метке
ds_byte_wr1:
lsrr16 // Логический сдвиг вправо
decr17 // Знижуемоr17 на 1
brneds_byte_wr0 // Если не равно 0, обращаемся в цикле
ret // Выход из подпрограммы

ds_byte_write_0: // Запись 0
rcallW1_DelayC // Ждем 60 микросекунд
cbiW1_DDR, W1_BIT // Вывод на вход
rcallW1_DelayD // Ждем 10 микросекунд
rjmpds_byte_wr1

ds_byte_write_1: // Запись 1
rcallW1_DelayA // Ждем 6 микросекунд
cbiW1_DDR, W1_BIT // Вывод на вход
rcallW1_DelayB // Ждем 64 микросекунд
rjmpds_byte_wr1

W1_DelayA: // Задержка 6 mcs
ldiXH, high (FREQ / 1000000)
ldiXL, low (FREQ / 1000000)
rcallW1_Delay
ret
W1_DelayB: // Задержка 64 mcs
ldiXH, high (FREQ / 65000)
ldiXL, low (FREQ / 65000)
rcallW1_Delay
ret
W1_DelayC: // Задержка 60 mcs
ldiXH, high (FREQ / 68000)
ldiXL, low (FREQ / 68000)
rcallW1_Delay
ret
W1_DelayD: // Задержка 10 mcs
ldiXH, high (FREQ / 500000)
ldiXL, low (FREQ / 500000)
rcallW1_Delay
ret
W1_DelayE: // Задержка 9 mcs
ldiXH, high (FREQ / 600000)
ldiXL, low (FREQ / 600000)
rcallW1_Delay
ret
W1_DelayF: // Задержка 55 mcs
ldiXH, high (FREQ / 75000)
ldiXL, low (FREQ / 75000)
rcallW1_Delay
ret
W1_DelayH: // Задержка 480 mcs
ldiXH, high (FREQ / 8332)
ldiXL, low (FREQ / 8332)
rcallW1_Delay
ret
W1_DelayI: // Задержка 70 mcs
ldiXH, high (FREQ / 58000)
ldiXL, low (FREQ / 58000)
rcallW1_Delay
ret
W1_DelayJ: // Задержка 410 mcs
ldiXH, high (FREQ / 9756)
ldiXL, low (FREQ / 9756)
rcallW1_Delay
ret
W1_Delay: // Подпрограмма задержки
sbiwXH: XL, 1 // Отнимаем единицу с регистровой пары
brneW1_Delay // Если не равно 0 крутимся в цикле
ret // Выход из подпрограммы
//////////////////////////// Конец подпрограммы 1-Wire

Delay: // Стандартная задержка
ldirazr1, 255
ldirazr2, 255
ldirazr3, 10
Pdelay:
decrazr1
brnePdelay
decrazr2
brnePdelay
decrazr3
brnePdelay
ret

CH: // Цифры динамической индикации от 0 до 9
.db0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x09

После ввода кода программу необходимо сохранить и скомпилировать в * .hex-файл.

4. Симуляция работы проекта

Для симуляции работы проекта воспользуемся пакетом программ ProteusDesignSuiteCADSoftware.

Откроем у Proteus созданный ранее проект термометра.

Дважды кликните по микроконтроллера ATmega16 для редактирования. В появившемся окне, в разделе ProgramFile указываем * .hex-файл программы и нажимаем кнопку ОК.

На нижней панели инструментов нажимаем кнопку Runtimesimulation.

Симуляция работы проекта

Заключение

Итак, я разработал проект средства измерения температуры в диапазоне от -10 до +85 ºCз абсолютной погрешностью ≤ 0,5 ºC, отражающий значение температуры на четырехразрядному семисегментному индикаторе.

Датчик температуры DS18B20передае значение температуры в микроконтроллер ATmega16, который его обрабатывает, конвертирует в десятинный формат и выводит на четырехразрядный семисегментный индикатор.

Для моделирования электронной схемы были использованы программный пакет ProteusDesignSuiteCADSoftware, который позволяет проектировать и симулировать работу электронных схем.

Для разработки программного обеспечения были использованы программный пакет AtmelStudio, который позволяет разрабатывать программное обеспечение для любых микроконтроллеров семейства AVR. ПО разработано с использованием языка программирования AVRAssembler, что обеспечивает высочайшее быстродействие, но достаточно сложным по сравнению с C / C ++.

Данную работу, мне помогал мой однокурсник и коллега, Коваль Игорь. Спасибо, может кому-то пригодиться в будущем.

AVR Atmega16/32 Плата для разработки микроконтроллеров с USB-программатором Combo по цене 849 рупий за комплект | Моти Нагар | New Delhi

AVR Atmega16/32 Плата для разработки микроконтроллеров с USB-программатором Combo по цене 849 рупий за комплект | Моти Нагар | Нью-Дели| ID: 1959
  • 62

    Спецификация продукта

    1 1 1 1 1
    Название модели 1 ATMEGA16 Доска для разработки
    Бренд
    Вес 350 г
    Размер упаковки 13 x 8 0.5 см
    набор контента 4 пункта 4 пункта
    тип пакета коробка
    Минимальный заказ Количество 10 Kit

    Описание продукта

    Это отличный способ начать работу с этим комбо-предложением Плата разработки ATmega16 с USB-программатором AVR , которые делают плату ATmega16 более легко программируемой и простой в использовании аппаратной технологией от EnGeniusLab.Плата идеально подходит для экспериментаторов или в качестве основной платы ЦП для более продвинутой цифровой системы. Разъем MCU на плате обеспечивает поддержку 40-контактного DIP-корпуса контроллера AVR ATMega16/32. Плата предназначена для приложений общего назначения и включает в себя различные аппаратные средства для проверки периферийных устройств микроконтроллера. Это фантастический инструмент для отладки кода, разработки и прототипирования. Полностью новый дизайн доски сделал ее гораздо более удобной для пользователя, чем ее предшественники, идеально подходящей для обучения и развития.USB Programmer прост в использовании, программатор будет работать с широким спектром микроконтроллеров Atmel AVR. Он может поддерживать все окна и серверы, такие как XP, WIN7,8,10 и сервер 2000 с Linux. Основной мотив этого продукта — вдохновить пользователя начать работать со встроенными

    Дополнительная информация

    1 день

    7

    Заинтересованы в этом товаре?Уточнить цену у продавца

    Связаться с продавцом


    О компании

    Год основания2016

    Правовой статус фирмы Индивидуальное предприятие (частное лицо)

    Характер деятельностиПроизводитель

    Количество сотрудниковДо 10 человек

    Годовой оборотRs.1–2 крор

    IndiaMART Участник с июня 2018 г.

    GST07BTGPK3625R1Z5

    Код импорта-экспорта (IEC)BTGPK*****

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

    Видео компании

    Вернуться к началу 1

    Есть потребность?
    Лучшая цена

    1

    Есть потребность?
    Лучшая цена

    Более 100 мини-проектов на базе микроконтроллеров Идеи для студентов инженерных специальностей

    Ранее мы уже публиковали различные идеи проектов, такие как Embedded Systems Projects , лучшие проекты микроконтроллеров PIC и т. д.Все эти идеи проектов собраны из разных источников и опубликованы здесь специально для студентов последнего курса инженерных специальностей.

    Благодаря множеству впечатляющих характеристик микроконтроллеров любой студент инженерного факультета любит работать над проектами, основанными на микроконтроллерах. Итак, на этой странице мы собираемся опубликовать список мини-проектов на базе микроконтроллера. Эти мини-проекты на основе микроконтроллеров очень полезны для студентов инженерных специальностей II и III курсов.

    Связанная запись: Проекты по электронике

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

    Список мини-проектов на базе микроконтроллеров:
    • 2-разрядный счетчик вверх-вниз: Основной принцип этой схемы заключается в увеличении значений на семисегментных дисплеях нажатием кнопки. Эта схема в основном может использоваться в табло.
    • 5-канальная ИК-система дистанционного управления с использованием микроконтроллера . Целью этой статьи является разработка и демонстрация простой 5-канальной системы дистанционного управления для управления пятью нагрузками. Эта схема работает по принципу ИК-связи.
    • 8-канальный зуммер викторины Схема с использованием микроконтроллера : Мы построили схему с использованием микроконтроллера, который сканирует ввод с кнопок и отображает соответствующий номер на дисплее.
    • Автоматическое управление интенсивностью уличного освещения: Это простая схема автоматического управления интенсивностью уличного освещения, разработанная с использованием микроконтроллера и светодиодов.
    • Контроллер автоматических железнодорожных ворот с системой высокоскоростного оповещения : Основная цель этого проекта — обеспечить надлежащую эксплуатацию и контроль автоматических железнодорожных ворот, чтобы избежать несчастных случаев на беспилотном железнодорожном переезде.
    • Двунаправленный счетчик посетителей с использованием 8051 : Эта схема двунаправленного счетчика посетителей полезна для подсчета количества людей, входящих или выходящих из комнаты, и отображения данных на экране.
    • Схема драйвера биполярного светодиода : Эта схема драйвера биполярного светодиода очень полезна в местах, где требуется мигание света, например, при мигании маяка. Эта схема может использоваться в основном для целей индикации.
    • Калькулятор булевой алгебры : Этот калькулятор булевой алгебры представляет собой интересный проект, который более полезен в нашей реальной жизни, работая в качестве портативного калькулятора для упрощения булевых выражений на лету.В нашей схеме мы используем методы упрощения логической алгебры, такие как алгоритм Куайна-МакКласки, чтобы упростить логическое выражение и отобразить результат на дисплее.
    • Термометр со шкалой Цельсия с использованием AT89C51 : Схема этого термометра со шкалой Цельсия разработана с использованием AT89c51 и lm35. Эта схема работает по принципу аналого-цифрового преобразования. Его можно использовать дома, в мобильных местах, таких как автомобили, для отслеживания температуры.
    • Цифровой тахометр с использованием микроконтроллера 8051 : Здесь мы разработали простой бесконтактный тахометр с использованием микроконтроллера, который может измерять скорость с точностью до 1 об/сек.
    • Система сигнализации трафика на основе плотности с использованием микроконтроллера : В этой системе мы используем ИК-датчики для измерения плотности трафика. Мы должны установить по одному ИК-датчику на каждую дорогу; эти датчики всегда определяют движение на этой конкретной дороге. Все эти датчики сопряжены с микроконтроллером. На основе этих датчиков контроллер обнаруживает трафик и управляет системой трафика.
    • Цифровой датчик температуры: Основной принцип этой схемы заключается в отображении цифрового значения температуры.Они в основном используются в экологических приложениях.
    • Цифровой вольтметр с использованием микроконтроллера 8051 : Это простая схема цифрового вольтметра, разработанная с использованием микроконтроллера 8051. Эта схема измеряет входное напряжение от 0В до 5В. Здесь входное напряжение должно быть напряжением постоянного тока, чтобы получить точный вывод на ЖК-дисплей.
    • Схема системы домашней автоматизации на основе DTMF : Это простая и очень полезная схема в нашей реальной жизни, называемая системой бытовой техники, управляемой DTMF.Это помогает управлять бытовой техникой с помощью технологии DTMF.
    • Интерфейс ЖК-дисплея 16×2 с 8051 : Это простая принципиальная схема, которая помогает описать взаимодействие ЖК-модуля 16X2 с AT89C51, микроконтроллером семейства 8051.
    • Интерфейс ЖК-дисплея 16X2 с микроконтроллером AVR : Это схема, которая помогает в интерфейсе ЖК-дисплея 16X2 с микроконтроллером AVR. Atmega16 принадлежит к семейству микроконтроллеров AVR.
    • Интерфейс 16X2 LCD с микроконтроллером PIC : Это схема, которая помогает в интерфейсе 16×2 LCD с микроконтроллером PIC18F4550 семейства PIC18F.
    • Интерфейс 7-сегментного дисплея с 8051 : В этой статье описывается, как подключить семь сегментов к микроконтроллеру AT89C51. Эта система непрерывно отображает цифры от 0 до 9 с заданной задержкой.
    • Интерфейс двигателя постоянного тока с микроконтроллером 8051 : Вот простая, но очень полезная схема в нашей реальной жизни, называемая интерфейсом двигателя постоянного тока с микроконтроллером 8051. В нем описывается, как управлять двигателем постоянного тока с помощью контроллера AT89C51.
    • Интерфейс GPS с микроконтроллером 8051 : В этом интерфейсе GPS с схемой 8051 модуль GPS вычисляет положение, считывая сигналы, передаваемые спутниками.
    • Измеритель LC с использованием таймера 555 : Это простая схема измерителя LC, разработанная с использованием таймера 555 и микроконтроллера 8051. Он в основном используется для измерения значения реактивного элемента, такого как конденсатор или индуктор.
    • Светодиодный куб 3X3X3: Это простая схема светодиодного куба, разработанная без использования микроконтроллера. Он основан на принципе управления светодиодами с помощью тактовых импульсов.
    • Подключение светодиодов к 8051 : Основной принцип этой схемы заключается в подключении светодиодов к микроконтроллеру семейства 8051.Обычно используемые светодиоды имеют падение напряжения 1,7 В и ток 10 мА, чтобы светиться с полной интенсивностью. Это применяется через выходной контакт микроконтроллера.
    • Роботизированная схема следования по линии с использованием микроконтроллера ATMega8: Этот робот следования по линии является базовым роботом, который следует по определенному пути, обозначенному линией определенной ширины.
    • Система дверных замков на основе пароля с использованием микроконтроллера 8051 : Эта система демонстрирует систему дверных замков на основе пароля, в которой после ввода правильного кода или пароля дверь открывается, и заинтересованному лицу разрешается доступ в охраняемую зону.Через какое-то время дверь закрывалась. Прочтите этот пост полностью, чтобы получить больше информации.
    • Управление скоростью двигателя постоянного тока на основе ШИМ с использованием микроконтроллера : Вот простая схема управления скоростью двигателя постоянного тока, разработанная с использованием микроконтроллера AVR. Здесь мы используем метод, называемый ШИМ (широтно-импульсная модуляция), для управления скоростью двигателя постоянного тока.
    • Как связать часы реального времени с PIC18F : Получите представление о RTC, схеме выводов микроконтроллера PIC и о том, как связать RTC с PIC18F.RTC — это интегральная схема, которая отслеживает текущее время.
    • Система учета рабочего времени на основе RFID: Эта простая система учета рабочего времени на основе RFID разработана с использованием микроконтроллера ATmega8 и в основном используется в учебных заведениях, отраслях промышленности и т. д., где требуется аутентификация.
    • Схема дистанционного управления через RF без микроконтроллера : Здесь мы использовали модули RF434 МГц для создания беспроводного пульта дистанционного управления. С помощью этого пульта мы можем управлять техникой в ​​радиусе 100 метров.Он используется для приложений дистанционного управления, таких как охранная сигнализация, сигнализация двери автомобиля, звонок, системы безопасности и т. д.
    • Взаимодействие шагового двигателя с микроконтроллером 8051 : Основной принцип этой схемы заключается в ступенчатом вращении шагового двигателя на определенный угол шага. Микросхема ULN2003 используется для управления шаговым двигателем, поскольку контроллер не может обеспечить ток, необходимый двигателю.
    • Уличные фонари, которые загораются при обнаружении движения автомобиля: В этой статье описывается схема, которая включает уличные фонари при обнаружении движения автомобиля и остается выключенным по истечении заданного времени.Эта система управляет уличным освещением, используя светочувствительный резистор и датчик PIR.
    • Солнечная панель слежения за солнцем: В этой статье описывается схема, которая вращает солнечную панель. Эта солнечная панель слежения за солнцем состоит из двух LDR, солнечной панели, шагового двигателя и микроконтроллера ATMEGA8.
    • Вентилятор постоянного тока с регулируемой температурой с использованием микроконтроллера : Основной принцип схемы заключается в включении вентилятора, подключенного к двигателю постоянного тока, когда температура превышает пороговое значение.Это можно использовать в домашних приложениях и в процессоре для уменьшения нагрева.
    • Ультразвуковой дальномер с использованием 8051 : Эта схема объясняет, как измерять расстояние с помощью микроконтроллера 8051. Эта ультразвуковая дальномерная система измеряет расстояние до 2,5 метров с точностью до 1 см.
    • Контроллер уровня воды с использованием микроконтроллера 8051 : Здесь мы разрабатываем схему, которая используется для автоматического определения и контроля уровня воды в верхнем баке с использованием микроконтроллера 8051.Он используется в промышленности для автоматического контроля уровня жидкости.
    • Индикатор уровня воды : В этом проекте индикатора уровня воды используется простой механизм, который помогает определять и отображать уровень воды в верхнем резервуаре или любом другом резервуаре для воды. Его можно использовать в отелях, фабриках, жилых домах, коммерческих комплексах, дренажных системах и т. д.
    • Задержка с использованием таймеров 8051: Генерация временных задержек в электронных схемах является основным, но очень важным требованием как в цифровых, так и в логических системах.Точные временные задержки важны во многих схемах. Задержки могут быть сгенерированы с помощью PLL, но этот проект использует 8051 для создания точных временных задержек.
    • Велосипедный фонарь с 3 светодиодами с использованием PIC10F200: Здесь разработан многофункциональный фонарь для велосипедов с использованием 3 светодиодов высокой яркости. Для управления освещением используется микроконтроллер PIC10F200. Это недорогой и высокопроизводительный микроконтроллер. PIC10F200 также требует небольшого источника питания и может работать при напряжении 2 В. Следовательно, для питания устройства будет достаточно двух батареек типа АА.
    • Система регулирования скорости потолочного вентилятора в зависимости от температуры (двигатель переменного тока 230 В): Потолочные вентиляторы имеют ручной регулятор, т. е. скорость можно регулировать вручную. В этом проекте разработано микроконтроллерное автоматическое управление скоростью потолочного вентилятора в зависимости от температуры. Датчик температуры используется для измерения температуры. Кроме того, ЖК-дисплей используется для отображения текущей температуры, а также скорости вращения вентилятора.
    • Вентилятор с регулируемой температурой (двигатель постоянного тока с ШИМ): Регулирование скорости двигателя постоянного тока (вентилятора) с помощью микроконтроллера.Используется датчик температуры, и скорость двигателя постоянного тока изменяется в зависимости от температуры. Микроконтроллер генерирует ШИМ-сигнал в зависимости от температуры.
    • Simple Toll Plaza: В этом проекте разработана простая система автоматического удержания платы за проезд на основе микроконтроллера. В системе используются технологии RFID и GSM. Считыватель RFID на площади обнаружит RFID-метку пользователя и автоматически вычитает необходимую сумму, а модуль GSM отправляет уведомление пользователю.
    • Мониторинг автомобильного аккумулятора в режиме реального времени и система оповещения о низком напряжении: Аккумулятор является важным устройством в автомобилестроении. Целью этого проекта является разработка системы мониторинга батареи в режиме реального времени с системой оповещения о низком напряжении. Он использует микроконтроллер и имеет интегрированные схемы измерения напряжения и температуры. Эту систему можно использовать в ИБП, гибридных транспортных средствах, обычных электромобилях и т. д.
    • Система охранной сигнализации в режиме реального времени с использованием датчика PIR: Пассивные инфракрасные датчики (датчики PIR) могут использоваться в системах безопасности и предотвращать кражу со взломом.Здесь разработана система охранной сигнализации на базе микроконтроллера. Датчик PIR является основным модулем наряду с некоторыми другими датчиками, такими как акустические и магнитные датчики. Связь осуществляется по радиоканалу, а на принимающей стороне установлена ​​система сигнализации.
    • Робот, чувствительный к цвету: Это проект на основе MATLAB, включающий концепции обработки изображений и робототехники. Камера используется в качестве датчика изображения для захвата цветного объекта. В зависимости от положения цветного объекта в роботе будет соответствующее движение.Микроконтроллер NXP, используемый в этом проекте.
    • Система продажи автобусных билетов на основе RFID: Основная проблема ручной системы продажи билетов – формирование очередей. Билетная система на основе RFID обеспечивает простой способ покупки билетов. RFID можно использовать для идентификации пассажира и на основе GPS; плата за проезд автоматически вычитается в соответствии с расстоянием.
    • Система автоматического звонка в колледже с использованием AT89S52 : В рамках этого проекта разработана недорогая и простая в реализации автоматическая система звонка в колледже/школе.Микроконтроллер Atmel AT89S52 используется с блоком индикации и реле, чтобы отображалось время и срабатывал звонок. Эту систему можно использовать в академических учреждениях и избежать ручного вмешательства.
    • Мобильный телефон (DTMF) Переключение управляемых электрических устройств: Здесь разработана простая система домашней автоматизации на базе мобильного телефона. Требуется микроконтроллер, мобильный телефон, декодер DTMF и несколько реле. Представленный здесь проект может работать с четырьмя электрическими устройствами.
    • Радиочастотная система оповещения о дорожном движении для автомобилей: Это система оповещения о дорожном движении на основе микроконтроллера. Передатчик RF на сигналах светофора передает состояние сигнальных огней. Приемник в автомобиле обнаружит эти сигналы и отобразит их на ЖК-дисплее. В случае, если транспортное средство находится слишком близко к другому транспортному средству или объекту, система предотвращения столкновений предупреждает пользователя.
    • Автоматическое отключение водяного насоса с различным временным интервалом: Это инновационное решение для работы двигателя в течение короткого времени.Если двигатель должен работать в течение определенного времени, а затем автоматически отключаться, то этот проект очень полезен. Четыре переключателя используются для того, чтобы можно было запрограммировать четыре разных временных интервала.
    • Автоматизация сквера на базе микроконтроллера: Важной задачей в сельском хозяйстве является своевременный полив сельскохозяйственных культур и растений. Целью этого проекта является внедрение автоматизации сада и сельскохозяйственных полей на основе микроконтроллера. Тайминги запрограммированы в микроконтроллере, и соответствующие электромагнитные клапаны соответственно открываются или закрываются.
    • Цифровая система защиты от перенапряжения на основе микроконтроллера для промышленных нагрузок: Промышленность работает с высокими напряжениями и мощностями. Даже в этом случае внезапное перенапряжение может нанести катастрофический ущерб всей системе. Целью этого проекта является обеспечение защиты от перенапряжения для промышленных нагрузок. Он основан на микроконтроллере AVR и может применяться к любой системе с высокой мощностью, напряжением и током, такой как подстанции.
    • Навигационная система для инвалидных колясок на основе голоса для людей с ограниченными физическими возможностями: В рамках этого проекта разработана голосовая инвалидная коляска, чтобы помочь людям с ограниченными физическими возможностями.ИК-датчики используются для правильного передвижения. В соответствии с инструкциями, полученными с помощью голосового управления, инвалидная коляска перемещается в указанное место по заданному пути. Также есть система обнаружения препятствий.
    • Регистратор данных на базе микроконтроллера: Система сбора данных (также называемая регистратором данных) представляет собой автономную систему регистрации данных. В этом проекте разработан регистратор данных температуры с использованием микроконтроллера. Данные с датчика температуры анализируются микроконтроллером и передаются на ПК по каналу RS232.
    • Роботизированное наведение с использованием метода следования по линии: Целью этого проекта является создание роботизированной системы управления для движения по линии на земле. Робот состоит из автомобиля с бортовым визуальным датчиком, чтобы видеть запланированный путь. Микроконтроллер используется для установления пути на основе полученных захваченных изображений с камеры. Принятая обработка изображений делает полученные решения более точными.
    • Система мониторинга и контроля уровня воды на базе микроконтроллера: Здесь разработана система мониторинга и контроля уровня воды на базе микроконтроллера 8051.Несколько датчиков уровня воды помещаются в верхний резервуар или другой резервуар для воды. Датчики размещаются таким образом, чтобы они показывали четверть, половину, три четверти и полный уровень в резервуаре. Когда бак полный, реле выключает двигатель.
    • Машина для голосования на базе ЖК-дисплея: В этой статье описывается машина для голосования на базе микроконтроллера с ЖК-дисплеем. Он состоит из блока голосования, блока управления, блока индикации и блока питания. В качестве основного управляющего устройства используется микроконтроллер Atmega16.Результаты могут отображаться на ЖК-дисплее.
    • Робот для пожаротушения: Пожарные делают все возможное, чтобы бороться и тушить огонь, когда это необходимо. Но раннее обнаружение пожара на бытовом уровне может предотвратить крупные аварии. Этот робот может обнаруживать и тушить пожар. Такие роботы могут даже помогать пожарным. Его можно заставить работать в автономном режиме или в ручном режиме.
    • Система автоматического открывания дверей с датчиком движения: Целью этого проекта является создание системы автоматического открывания дверей на основе датчика движения.Это система на основе микроконтроллера, которая использует датчики PIR (пассивные инфракрасные) для обнаружения движения. Они полезны в аэропортах, торговых комплексах, больницах и во всех крупных торговых центрах.
    • Проблесковый маячок с использованием микроконтроллера: Аварийные проблесковые маячки используются в системах сигнализации, предупреждениях, а также в системах оповещения. В рамках этого проекта разрабатывается проблесковый маячок на базе микроконтроллера. Он использует микроконтроллер на основе Arduino.
    • Цифровой календарь Использование 8051: Календарь — это устройство, которое помогает отдельным лицам, компаниям и т. д.на всех уровнях, чтобы сохранить время, дату, месяц и год. Здесь разработан электронный календарь на базе микроконтроллера. Он состоит из пяти модулей, а именно блока питания, интерфейса 8051, цифровых часов, данных, месяца и года, выбора набора и дня.
    • Цифровой таймер обратного отсчета с использованием микроконтроллера: Таймер обратного отсчета — это важное устройство для измерения времени, которое используется для учета времени, на экзаменах, а также на спортивных мероприятиях. В этом проекте разработан таймер обратного отсчета на базе микроконтроллера.Он использует семисегментные дисплеи для отображения времени обратного отсчета.
    • Радиочастотная система контроля скорости для транспортных средств: Безопасность дорожного движения в важных местах, таких как школы, горные районы, автомагистрали и скоростные дороги, очень важна. В этом проекте предлагается система контроля скорости для транспортных средств в местах, подобных упомянутым выше. Это система на основе микроконтроллера с радиочастотной связью. Это простой, недорогой и надежный проект для безопасности водителей и населения.
    • Внедрение системы управления транспортным средством с использованием протокола CAN: CAN является важным протоколом в автомобильной промышленности.Целью этого проекта является внедрение системы управления транспортным средством на основе протокола CAN. С помощью этой системы возможно цифровое управление транспортным средством. Он использует процессор ARM и имеет встроенные различные датчики и элементы управления, такие как контроль скорости двигателя, температура, ИК-препятствие, давление, топливо, вибрация и т. д.
    • Система мониторинга трансформатора на основе микроконтроллера : Трансформаторы являются очень важными электрическими устройствами для распределения и преобразования электроэнергии. Следовательно, мониторинг различных параметров трансформатора, таких как напряжение, ток и температура, является важной задачей.В данном проекте разработана система дистанционного мониторинга трансформатора на базе микроконтроллера. Беспроводная передача данных основана на протоколе ZigBee.
    • Цифровой секундомер на базе микроконтроллера: Время, прошедшее между двумя событиями, можно точно измерить с помощью секундомера. Они отличаются от обычных часов и очень точны. Целью проекта является реализация цифрового секундомера на базе микроконтроллера с ЖК-дисплеем. Для получения более точных результатов можно использовать кварцевый генератор.
    • Управление серводвигателем с помощью микроконтроллера PIC: Серводвигатели используются в качестве альтернативы шаговым двигателям, где требуется высокоточное управление. В этом проекте разработано управление серводвигателем на основе микроконтроллера PIC. Графический пользовательский интерфейс на основе MATLAB используется для управления углом поворота двигателя на основе ползунков графического интерфейса.
    • Часы реального времени с использованием микроконтроллера: В этом проекте часы реального времени реализованы с использованием микроконтроллера. Часы реального времени — это очень полезная система учета времени, которая работает даже при отсутствии питания.Часы реального времени используются в различных электронных устройствах, цифровых камерах, мобильных телефонах, больницах и т. д. Микроконтроллер AT89C55 используется с протоколом I2C.
    • Радиочастотная система мониторинга и оповещения детей в режиме реального времени: Безопасность ребенка имеет первостепенное значение для каждого родителя. Цель этого проекта — внедрить систему мониторинга и отслеживания детей, которая подходит для наблюдения за многими детьми, а также для выяснения того, насколько далеко дети от родителей. Микроконтроллер PIC является основным блоком управления, который интегрирован с приемопередатчиками RF, модулем GPS и сигнализацией.
    • Цифровой дисплей с прокруткой сообщений на базе микроконтроллера: Дисплей с прокруткой — очень полезный способ отображения сообщений (как коротких, так и длинных) в общественных местах, таких как автобусы и железнодорожные вокзалы. Разработана система отображения сообщений с прокруткой на основе микроконтроллера. Он также использует фотогальванические элементы для питания устройства с помощью солнечной энергии. Используется светодиодный матричный дисплей. Система может быть очень эффективной и полезной, поскольку она использует солнечную энергию вместе с резервной батареей.
    • Цифровой дисплей с прокруткой сообщений на базе микроконтроллера: Дисплей с прокруткой — очень полезный способ отображения сообщений (как коротких, так и длинных) в общественных местах, таких как автобусы и железнодорожные вокзалы. Разработана система отображения сообщений с прокруткой на основе микроконтроллера. Он также использует фотогальванические элементы для питания устройства с помощью солнечной энергии. Используется светодиодный матричный дисплей. Система может быть очень эффективной и полезной, поскольку она использует солнечную энергию вместе с резервной батареей.
    • Управление трехфазным асинхронным двигателем на основе микроконтроллера с использованием метода ШИМ: Асинхронные двигатели используются в различных промышленных и бытовых приложениях. Скоростью асинхронного двигателя можно управлять с помощью различных методов, таких как управление частотой статора, которое является самым простым. Управление асинхронным двигателем на основе микроконтроллера очень полезно в химической, цементной и текстильной промышленности, где можно достичь желаемой скорости. Используется микроконтроллер PIC, который генерирует необходимые ШИМ-сигналы.Он использует FM-сигналы для беспроводной связи.
    • Усовершенствованная система автоматического управления городскими улицами на базе микроконтроллера: Целью данного проекта является внедрение системы автоматического управления городскими улицами на основе микроконтроллера. Для автоматизации используется микроконтроллер PIC, датчик LDR, фотоэлектрический датчик и набор реле. При обнаружении движения или отсутствия света реле автоматически включаются или выключаются, что, в свою очередь, включает или выключает уличные фонари.
    • Система контроля уровня жидкости: Контроль уровня жидкости играет важную роль в автомобилестроении и таких отраслях, как газовая, нефтяная и даже водная. Целью данного проекта является реализация системы контроля уровня жидкости на базе микроконтроллера с использованием ультразвукового датчика. Модуль GSM также интегрирован в систему, чтобы можно было осуществлять беспроводной мониторинг.
    • Система входа в гаражные ворота на основе RFID: Целью этого проекта является внедрение технологии RFID в систему открывания гаражных ворот.Микроконтроллер PIC используется в качестве основного модуля и интегрирован со считывателем RFID. Когда RFID-метка, которую несет пользователь или закрепленная на автомобиле, приближается к воротам гаража, микроконтроллер срабатывает для автоматического открытия ворот.
    • Безопасная система гаражных ворот с использованием технологии распознавания номерных знаков: Существует множество систем автоматических гаражных ворот. Большинство из них используют любой из методов беспроводной связи, но без какой-либо безопасности. Надежная система гаражных ворот реализована с использованием технологии распознавания автомобильных номеров.Камера используется для захвата изображения номерного знака, а микроконтроллер выполняет обработку изображения для преобразования изображения в текст. Доступ к воротам гаража будет предоставлен только авторизованным номерам.
    • Интеллектуальная система управления уличным освещением высокой мощности: Здесь разработана интеллектуальная система управления уличным освещением на основе микроконтроллера. Он состоит из PIC-микроконтроллера, набора светочувствительных резисторов, датчиков температуры, влажности и движения. В качестве основного источника света используется массив светодиодов.Это очень полезная система, поскольку она снижает ненужное потребление электроэнергии.
    • Промышленная система сортировки на основе распознавания цвета/металла: Промышленная автоматизация обработки материалов поможет ускорить процесс перемещения товаров. Здесь разработана система промышленной сортировки на основе микроконтроллера, основанная на распознавании цвета и обнаружении металла. Система имеет ИК-датчик положения, датчик цвета и металлический датчик приближения. Основываясь на значениях этих датчиков, микроконтроллер запускает движения манипулятора робота и конвейерной ленты.
    • Автоматизация сортировки объектов с использованием промышленного робота-манипулятора и обработки изображений на основе MATLAB: Целью этого проекта является автоматизация механизма сортировки объектов с использованием промышленного роботизированного манипулятора и технологии обработки изображений. В процессор на базе ARM7 встроена камера для захвата изображений, ИК-датчик, ПК через интерфейс RS232, роботизированная рука и конвейерный механизм. ЖК-дисплей используется для отображения количества объектов.
    • Энергоэффективная интеллектуальная система уличного освещения с использованием ZigBee и датчиков: Энергоэффективность и энергосбережение приобретают все большее значение.Целью данного проекта является внедрение энергоэффективной интеллектуальной системы управления уличным освещением. Микроконтроллер ATmega16 используется вместе с сетью беспроводных датчиков, которая включает в себя датчик Холла, датчик PIR и LDR. Связь на основе ZigBee может быть установлена ​​с удаленной станцией управления, и данные могут контролироваться.
    • Промышленная система мониторинга и контроля температуры: Промышленная автоматизация через Ethernet обеспечивает более быстрые и точные результаты, поскольку Ethernet поддерживает скорость передачи данных в диапазоне от 100 Мбит/с до нескольких Гбит/с.Этот проект обеспечивает промышленную систему мониторинга и контроля температуры с использованием Ethernet-соединения. Микроконтроллер интегрирован с датчиком температуры, а также с драйвером Ethernet. LabVIEW используется для виртуальных инструментов.
    • Система контроля температуры на базе микроконтроллера с регистратором данных в реальном времени: В этой системе реализована система контроля температуры на основе микроконтроллера AVR с регистратором данных температуры в реальном времени. Датчик температуры интегрирован с микроконтроллером, и в зависимости от температуры микроконтроллер запускает блок контроля температуры, такой как охлаждающий вентилятор и т. д.Механизм регистратора данных работает через кабель RS232, подключенный к ПК, и микроконтроллер регистрирует данные.
    • GPS-спидометр с системой оповещения о превышении скорости: Спидометр является важной частью автомобилей, поскольку он сообщает различные параметры, связанные со скоростью, такие как число оборотов в минуту, скорость и т. д. В этом проекте реализован спидометр на основе GPS. Микроконтроллер связан с GPS-модулем и GSM-модемом. Скорость рассчитывается с использованием технологии GPS, а информация отправляется властям с помощью технологии GSM.
    • Система мониторинга автобусов и информирования пассажиров в режиме реального времени: Общественный транспорт является важным средством передвижения в большинстве стран. Автобусы – одна из самых популярных систем общественного транспорта. Целью этого проекта является внедрение системы мониторинга автобусов и информирования пассажиров в режиме реального времени. Передающая система размещена в шине, которая имеет микроконтроллер и модуль GPS. Он передает данные GPS в приемную систему, расположенную на автобусной остановке или терминале.
    • Инфракрасный декодер сигналов дистанционного управления на базе микроконтроллера для домашнего применения: ИК-пульты дистанционного управления обычно используются во многих электрических и электронных приложениях. В этом проекте реализуется система декодера ИК-сигналов на основе микроконтроллера AVR, чтобы пульт дистанционного управления можно было использовать для других приложений управления домом. Он имеет ИК-датчик, ЖК-дисплей и датчик пересечения нуля. Это дешевый, простой и надежный способ реализации системы декодирования.
    • Аппаратная разработка в режиме реального времени для автоматического мониторинга и управления светом и температурой: В этом проекте температура и свет контролируются и контролируются с помощью системы на основе микроконтроллера.Есть датчик освещенности и датчик температуры. Желаемый свет и температура могут быть введены пользователем, а текущие и желаемые значения отображаются на ЖК-дисплее.
    • Обнаружение алкоголя с контролем транспортного средства: Здесь реализовано интеллектуальное решение для обнаружения пьяных людей и предотвращения аварий. Система на основе Arduino разработана с датчиком алкоголя, модулем GSM, модулем GPS и ЖК-дисплеем. При обнаружении алкоголя сигналы GPS блокируются и отправляются на контакты человека по технологии GSM.Кроме того, двигатель постоянного тока используется для блокировки запуска двигателя.
    • Автоматическая система управления жалюзи в зависимости от интенсивности освещения помещения: Частью системы домашней автоматизации является управление жалюзи. В данном проекте разработана система автоматического управления жалюзи на базе микроконтроллера. Жалюзи закрываются или открываются в зависимости от интенсивности света в комнате. Для этого используется пара LDR вместе с двигателем для сдвига жалюзи.
    • Цифровая игра в кости с использованием микроконтроллера 8051 : В этом проекте создается цифровая игра в кости на основе микроконтроллера.Он состоит из микроконтроллера 8051, ЖК-дисплея для подсчета очков и 7-сегментного дисплея для отображения числа на костях. Кнопки используются для действий броска и сброса действия костей.
    • Предоплаченный счетчик энергии для эффективного управления питанием: Эффективное использование электроэнергии очень важно, поскольку потребление электроэнергии увеличивается день за днем. Предоплаченный счетчик энергии на основе микроконтроллера реализован для эффективного управления питанием. Система включает в себя микроконтроллер PIC, модуль GSM, реле, детектор пересечения нуля, трансформатор напряжения и тока, клавиатуру и ЖК-дисплей.
    • Предоплаченный счетчик электроэнергии на базе микроконтроллера AVR: Большинство биллинговых систем работают вручную и подвержены ошибкам. Чтобы уменьшить вмешательство человека и уменьшить количество ошибок, реализована система учета электроэнергии с предоплатой на основе микроконтроллера AVR. Можно установить диапазон, и как только счетчик достигнет этого диапазона, модуль GSM уведомит пользователя об этом.
    • Цифровой ваттметр с ЖК-дисплеем: В этом проекте реализован цифровой ваттметр на базе микроконтроллера ATmega32.Его можно использовать для измерения мощности нагрузки. В системе используется микросхема ADE7751, которая служит катушкой напряжения и тока. Есть ЖК-дисплей для отображения мощности. Точность может быть очень высокой и может работать от количества загрузок.
    • Цифровой тахометр на базе микроконтроллера: Тахометры — очень полезные устройства для расчета оборотов двигателя. Точная обратная связь от тахометра может использоваться для повышения эффективности, а также производительности двигателя.В этом проекте реализован цифровой тахометр на базе микроконтроллера 8051 (AT89C2051), дающий очень точные результаты.
    • Бесконтактный тахометр на базе микроконтроллера: Целью данного проекта является реализация бесконтактного тахометра на базе микроконтроллера. В этой системе используется микроконтроллер ATmega16 вместе с ЖК-дисплеем и парой ИК-передатчик-приемник. Вал двигателя помещается между парой IR и обтягивается картоном.
    • Электронный кодовый замок: Рост преступности, нападений со стороны воров и злоумышленников стал основной причиной появления различных защитных устройств и замков.Целью этого проекта является реализация электронного кодового замка на основе пароля с использованием микроконтроллера 8051. Клавиатура и ЖК-дисплей используются для ввода пароля и отображения информации.
    • Конструкция терминальной системы на основе гибридной технологии RFID-GPS в: Технология RFID обеспечивает точную, быструю идентификацию в режиме реального времени. Они часто используются в управлении логистикой для повышения производительности. В этом проекте терминальная система разработана на основе гибридных технологий RFID-GPS. Это помогает в постоянном отслеживании и мониторинге груза, загруженного на борт, для цифровой логистики.Микроконтроллер используется вместе с модулем GSM, датчиком температуры и зуммером.
    • Система распознавания и мониторинга столкновений транспортных средств на основе AVR: Автомобильные аварии являются одной из основных причин несчастных случаев со смертельным исходом. Люди гибнут из-за плохого состояния аварийно-спасательных служб и неполучения помощи вовремя. Предлагается система распознавания и мониторинга столкновений транспортных средств на базе микроконтроллера ATmega16. В нем используется 3-осевой акселерометр, модули GSM и GPS. В случае какой-либо аварии данные GPS-модуля блокируются и отправляются через GSM-модуль в контакты и службы экстренной помощи.
    • Система измерения качества воды в режиме реального времени на основе GSM: Качество воды очень важно, так как в окружающей среде присутствует множество типов загрязняющих веществ, которые загрязняют воду. Разработана система, которая осуществляет управление качеством воды в режиме реального времени. Набор датчиков, таких как датчик pH, мутности, проводимости и температуры, интегрирован в микроконтроллер (8051) через АЦП. В комплект входит GSM-модуль, который оповещает удаленный центр мониторинга.
    • Реализация пропеллерных часов на базе микроконтроллера в реальном времени: Пропеллерные часы представляют собой линейный массив светодиодов, которые вращаются с высокой угловой скоростью, так что создается круглый экран.Он основан на постоянстве зрения. В этом проекте реализованы пропеллерные часы на базе микроконтроллера. Он состоит из микроконтроллера AT89S52, массива светодиодов, ИК-датчика и двигателя постоянного тока для вращения.
    • Система дистанционного оповещения по ЭКГ на базе GSM: Болезни сердца являются распространенной формой заболеваний у людей. Остановка сердца может привести к внезапной и неожиданной смерти. Разработана система, которая отслеживает сигналы ЭКГ человека и предупреждает посредством сообщения. Микроконтроллер 8051 сопряжен с модулем ЭКГ и GSM.При обнаружении остановки сердца (или любого другого заболевания сердца) врачу и личному контакту отправляется предупреждение.
    • Как управлять шаговым двигателем с помощью микроконтроллера ULN2003 и 8051 (AT89S52): Альтернативные источники энергии, такие как возобновляемые источники энергии (солнечная энергия, ветер и т. д.), приобретают все большее значение. В этом проекте реализовано управление шаговым двигателем с помощью микроконтроллера ULN2003 и 8051, и концепция применяется к системе слежения за солнцем. LDR используются для отслеживания солнца, а шаговый двигатель управляется микроконтроллером.
    • Онлайн-ИБП с микроконтроллером PIC: В этом проекте разработан онлайн-ИБП на базе микроконтроллера PIC. Предлагаемая схема обладает всеми характеристиками современного ИБП. На выходе постоянно доступно 200 В переменного тока. Используется свинцово-кислотный аккумулятор. Идея состоит в том, чтобы поддерживать постоянный ток зарядки, ограничивая рабочий цикл зарядного устройства. Схема инвертора, используемая в этой системе, представляет собой инвертор прямоугольной формы.
    • Контроллер ветровой турбины на базе микроконтроллера PIC: Производство электроэнергии из энергии ветра — эффективный способ сократить потребление обычной электроэнергии.В данном проекте реализован контроллер заряда ветрогенератора на базе микроконтроллера PIC 16F877A. Контроллер заряда может контролировать максимальный ток 7А. В этой системе используется небольшая батарея. ЖК-дисплей и сигнализация включены для индикации состояния заряда батареи.
    • Контроллер заряда солнечной батареи на основе микроконтроллера: Возобновляемая энергия — это альтернативный источник для производства электроэнергии. Разработан недорогой высокопроизводительный контроллер заряда солнечной батареи на основе микроконтроллера.Солнечная фотоэлектрическая панель выступает в качестве входа в систему. Система состоит из микроконтроллера PIC, фотоэлектрической панели, аккумулятора и нагрузки постоянного тока. Он также имеет возможность управления ИБП, где переключатель может изменить источник заряда батареи ИБП.

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

    .

    ATSTK600-RC31 — Atmel — карта, ATSTK600, Atmega16

    ATSTK600-RC31 — это карта маршрутизации для 44-контактного megaAVR в разъеме TQFP, дополняющая стартовый комплект Atmel STK6000.Устройство AVR подключается к STK600 с помощью инновационной многослойной системы маршрутизации и платы разъемов, которая направляет сигналы от устройства на соответствующее оборудование. Карты маршрутизации располагаются между универсальной картой сокета и STK600. Система маршрутизации чисто пассивная. Никакие электронные компоненты не направляют сигналы. Таким образом, все контакты ввода/вывода доступны непосредственно на разъемах без изменения электрических характеристик. Конструкция карты маршрутизации обеспечивает недорогое решение для поддержки будущих устройств, поскольку сокет является определяющим фактором стоимости.Плата маршрутизации имеет одну пару электрических контактных площадок внизу для сопряжения с подпружиненным разъемом STK600 и, кроме того, одну пару контактных площадок сверху, где соединяется разъем платы разъемов.

    • Плата маршрутизации для 44-контактного megaAVR в разъеме TQFP
    • Бюджетное решение
    • Дополнения STK600
    • Поддерживает некоторые устройства MCU megaAVR
    • Требуется плата сокета и материнская плата STK600 для поддержки выбранного устройства

    Приложения

    Автоматизация и управление процессами, автомобильный, Автоматизация зданий, Коммуникации и сети, Бытовая электроника, промышленный, Осветительные приборы, Портативные устройства, Моторный привод и управление, Датчики и приборы

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

    IOP Conf.Серия: Материаловедение и инженерия 835 (2020) 012053

    [17] П. Багчи и др., «Интеллектуальная диагностика здоровья и система управления пациентами», в 2017 г. 8-я IEEE

    Ежегодная конференция по информационным технологиям, электронике и мобильной связи

    (ИЭМКОН), 2017, стр. 269–272.

    [18] А. Латиф, К. Шанкар и П. Т. Нгуен, «Движение робота-пожарного на ногах с использованием PID», J.

    Robot. Контроль, том. 1, нет. 1, стр. 15–19, 2020.

    [19] А.Наджмуррохман, Р. Рахим, К. Куснандар, Б. Вибово, Д. Е. Курниаван и Ю. Сумариат,

    «Проектирование и внедрение недорогого измерителя сердцебиения с использованием датчика вибрации, микроконтроллера ATmega

    16 и смартфона на базе Android», в 2018 г. Международная конференция по прикладной инженерии

    (ICAE), 2018 г., стр. 1–5.

    [20] Д. Мурали, Д. Р. Рао, С. Р. Рао и М. Ананда, «Пульсоксиметрия и IOT на основе интегрированной системы оповещения для мониторинга сердца

    », Международная конференция 2018 г. по достижениям в области

    вычислительной техники, связи и информатики ( ICACCI), 2018, с.2237–2243 гг.

    [21] Н. Ахтер, С. Таревал, Х. Гайт и К. В. Кале, «Измерение RR-интервала на основе микроконтроллера

    с использованием сигналов PPG для биометрического приложения на основе вариабельности сердечного ритма», в

    Международная конференция 2015 г. о достижениях в области вычислительной техники, связи и информатики

    (ICACCI), 2015 г., стр. 588–593.

    [22] Н. Х. Виджая, З. Октавихандани, К. Кунал, Э. Т. Хелми и П. Т. Нгуен, «Конструкция термометра Tympani

    с использованием пассивного инфракрасного датчика», J.Робот. Контроль, том. 1, нет. 1, стр. 27–

    30, 2020.

    [23] Р. Умега и М.А. Раджа, «Проектирование и внедрение системы мониторинга животноводческих помещений»,

    в 2017 г. Международная конференция по инновациям в зеленой энергетике и технологиях здравоохранения

    (ИГЭХТ), 2017, стр. 1–6.

    [24] С. С. Томас, А. Сарасват, А. Шашват и В. Бхарти, «Цифровое определение сердцебиения и температуры тела

    с использованием Arduino», Международная конференция по обработке сигналов, 2016 г.,

    Связь, питание и встроенные устройства Система (ОБЛАСТИ), 2016, с.1721–1724 гг.

    [25] З. Дзулфикри, Н. Нурьянти и Ю. Эрдани, «Проектирование и внедрение искусственных нейронных сетей

    для прогнозирования направления ветра при управлении рысканием прототипа ветровой турбины», J.

    Robot. Контроль, том. 1, нет. 1, стр. 20–26, 2020.

    [26] С. Савидин, Д. С. Понго и А. А. С. Рамши, «Проектирование системы управления умным домом

    на базе Android», Международная конференция по прикладным наукам и технологиям

    , 2018 г.

    (iCAST), 2018, стр.165–170.

    [27] В. Ахмед и С. А. Ладхейк, «Проектирование сверхдешевой встроенной системы на базе сотового телефона

    для ирригации», Международная конференция 2010 г. по машинному зрению и интерфейсу «человек-машина»

    , 2010 г., стр. 718– 721.

    [28] А. Шринивасан, В. К. Гнанавел, Гиридешрадж, П. Джайн и Г. Раджат, «Удаленный мониторинг

    опасных газов в промышленности (недорогое устройство)», в 2018 г. Международная

    конференция Internat2018 по вычислениям по мощности, энергии, информации и связи

    (ICCPEIC) иональная конференция по расчету мощности, энергии, информации и связи

    (ICCPEIC), 2018, стр.1–4.

    [29] I. Iswanto, K. Purwanto, W. Hastuti, A. Prabowo и M. Y. Mustar, «Умная зона для курения

    на основе нечеткого алгоритма дерева решений», Int. Дж. Адв. вычисл. науч. Заявл., том. 10, нет. 6, стр.

    500–504, 2019.

    [30] К. Пурванто, Ишванто, Т. К. Хариади и М. Ю. Мухтар, «РЧИД на основе микроконтроллера, GSM

    и GPS для системы безопасности мотоциклов», Int. Дж. Адв. вычисл. науч. Заявл., том. 10, нет. 3, 2019.

    [31] А.Чамим Н. Н., Фаузи М. Э., Исуанто И., Вияги Р. О., Сяхпутра Р. «Управление колесными роботами

    с помощью смартфонов на базе Bluetooth», Int. Дж. Недавние технологии. англ., вып. 8, нет.

    2, стр. 6244–6247, июль 2019 г.

    [32] ANN Chamim, M. Heru Gustaman, NM Raharja и I. Iswanto, «Источник бесперебойного питания

    на основе импульсного регулятора и модифицированной синусоиды, Интерн. Дж. Электр. вычисл. Eng.,

    vol. 7, нет. 3, с. 1161, июнь.2017.

    [33] А. Н. Н. Чамим, Д. Ахмади и Ишванто, «Внедрение Atmega16 как индикаторы минимальной платы разработки системы

    AVR ATMEGA16 ATmega32 + USB ISP USBas

    Минимальная системная плата AVR ATMEGA16 Плата разработки ATmega32 для интернет-провайдера Плата ATTiny 51

    Технические характеристики:

     

    1. 32 контакта ввода/вывода для всех выводов.

    2. Классическая минимальная система ATmega16, избавляющая от хлопот с пайкой.

    3. Кристалл: Сварка отверстия гнезда облегчает покупателю заменить кристалл, кристалл 8M.

    4. Поддержка чипов: ATmega16/ATmega32 и чип, совместимый по выводам.

    5. Источник питания: адаптер питания или внешний источник питания с расширительным штифтом (не поддерживает источник питания интерфейса загрузки ISP).

    6. Блок питания DC-005 (поддержка транспозона 5,5*2,1 мм).

    7. Расширьте внешние 4 канала VCC, GND.

    8. Сброс: сброс при включении питания и кнопка сброса.

    9. Светодиод питания (D1) и индикатор выполнения программы (D2).

    10. Стандартный интерфейс загрузки провайдера.

    11. Размер: 88 мм x 38 мм/3,47 «x 1,49» (дюйм) (приблизительно)

    Особенности:?

     

    1. Этот программатор основан на конструкции USBasp Томаса Фишла и подключается к порту USB вашего компьютера. Он не только довольно компактен, но и имеет очень элегантный дизайн. Интерфейс USB достигается за счет использования процессора atmega, а все остальное делается в прошивке.

    2. С самовосстанавливающимся предохранителем с защитой от перегрузки по току 500 мА и полной защитой дорогой материнской платы компьютера

    , предназначенной для ноутбуков, специальными двумя регуляторами 3,6 В, идеально подходящими по уровню, избавьтесь от нестабильности скрытого оборудования! Настройки перемычки режима питания целевой платы. ?

    3. Грамотно настроенная прошивка, уникальная адаптивная технология скорости, стабильность и получение наилучшего баланса скорости! Поддерживает неограниченное обновление прошивки.

    Схема: мега16

     ??

    Примечание:

    Эта минимальная плата для разработки системы без чипа AVR, вам необходимо приобрести чип дополнительно!!!!

      

    Список поддерживаемых микросхем:

     

    51 серия: AT89S51, AT89S52,, AT89S53, AT89S8252

    ?

    Серия AVR:

    ATTiny12 (L), ATTiny13 (V), ATTiny15 (L), ATTiny24 (V), ATTiny25 (V), ATTiny26 (L), ATTiny2313 (V), ATTiny44 (V), ATTiny45 (V) ), ATTiny84 (V), ATTiny85 (V), AT90S2313 (L), AT90S2323 (L), AT90S2343 (L), AT90S1200 (L), AT90S8515 (L), AT90S8535 (L), ATMEGA48 (V), ATMEGA8 (L ), ATMEGA88 (В), ATMEGA8515 (Л), ATMEGA8535 (Л), ATMEGA16 (Л), ATMEGA162 (В), ATMEGA163 (Л), ATMEGA164 (В), ATMEGA165 (В), ATMEGA168 (В), ATMEGA169 (В ), ATMEGA169P (В), ATMEGA32 (Л), ATMEGA324 (В), ATMEGA325 (В), ATMEGA3250 (В), ATMEGA329 (В), ATMEGA3290 (В), ATMEGA64 (Л), ATMEGA640 (В), ATMEGA644 (В ), ATMEGA645 (V), ATMEGA6450 (V), ATMEGA649 (V), ATMEGA6490 (V), ATMEGA128 (L), ATMEGA1280 (V), ATMEGA1281 (V), ATMEGA2560 (V), ATMEGA2561 (V), AT90CAN32, AT90CAN64 , AT90CAN128, AT90PWM2 (Б), AT90PWM3 (Б) и т. д.

    1 загрузчик USBASP USBISP AVR с кабелем для загрузки

    Я начал свое знакомство с микроконтроллерами (UC) с AVR, а затем решил разнообразить свою деятельность другими замечательными UC. Естественно, следующая остановка — знаменитый PIC от Microchip — контроллер периферийного интерфейса. Теперь, когда я говорю PIC, почти всегда подразумевается (особенно в Индии) серия PIC18F, в основном PIC18F4570 и т. д.Так получилось, что эти чипы имеют 8-битную архитектуру, как и AVR (они классические конкуренты).

    С этой серией PIC (18F) было сделано очень много, и я имею в виду, что практически любая схема, которую можно сделать, была сделана и размещена в Интернете. Итак, чтобы немного оживить ситуацию, я решил работать с относительно неизвестной серией PIC24F. Эта серия имеет 16-битную архитектуру с превосходными характеристиками (на мой взгляд, PPS — Peripheral Pin Select — самая замечательная) и производительностью по сравнению с 18F.В частности, я выбрал PIC24FJ64GA002, и самое лучшее для меня было то, что для этого микроконтроллера не так много готовых эталонных схем или программ.

    Что я сделал? Я повторил те же эксперименты, что и с AVR. Результат тот же, но добиться его было задачей, честное слово, гораздо более сложной. И поскольку результат тот же, может быть немного скучно смотреть видео аппаратной реализации, поэтому вместо этого я разместил записи экрана моделирования (используя Proteus).

    Так как описания экспериментов уже были написаны в моей статье AVR, я не хотел бы повторять их здесь. Итак, приступим к экспериментам.

    Простой ввод/вывод:

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

    В рамках программирования только вывода здесь находится матричный светодиодный дисплей, запрограммированный на отображение «hp07».Аппаратная часть для этого слишком прямолинейна, поэтому я остановился на симуляции.

    АЦП:

    Любопытно, что Proteus также может моделировать ЖК-дисплеи. При перемещении потенциометра из положения минимального сопротивления в положение максимального сопротивления напряжение изменяется от 0 до 5 В, и оно считывается микроконтроллером с помощью АЦП и отображается.

       

    ШИМ:

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

    Недавно я получил инструмент под названием логический анализатор, который также можно использовать для практической визуализации формы волны. У меня есть компьютерный интерфейс, и поэтому скриншот формы волны:

    УАПП:

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

    При нажатии кнопки передачи данные передаются через универсальный асинхронный приемник-передатчик (во время этой процедуры горит зеленый светодиод). Другой микроконтроллер принимает данные и отображает их с помощью ИС 7447 и 7-сегментного индикатора с общим анодом.

    Счетчик обнуляется после каждой передачи.

    И поэтому я закончил свои эксперименты с PIC. Да, я провел те же эксперименты, что и с микроконтроллерами AVR. Мне легко использовать термистор вместо потенциометра и разместить его как цифровой термометр в эксперименте с АЦП. Но все это технически тривиальные проявления основы, которой является модуль АЦП. Что имеет значение, так это программа и базовая схема, чтобы заставить ее работать, и я сделал это — поэтому миссия выполнена!

    Видео аппаратной реализации с использованием PIC есть на моем канале YouTube: https://www.youtube.com/user/harshaprabakaran07/videos

    Отладка кода AVR ATMEGA с помощью Atmel Studio и ICE

    Одним из наиболее сложных аспектов написания кода для микроконтроллеров является невозможность обильно разбросать ваш код операторами PRINT, чтобы показать состояние переменных и тому подобное в определенные моменты.

    Если вы работаете с устройствами типа Arduino, вы всегда можете запустить библиотеку Serial и распечатать данные таким образом — вернитесь по проводу к последовательному терминалу.Но это даже хуже, чем вставлять операторы PRINT, скажем, в код Python или Basic, когда дело доходит до уборки за собой. Потому что, когда код написан и работает идеально, вам нужно выбрать путь и избавиться от всего лишнего. (Или закомментируйте его, зная, что он понадобится вам снова для отладки, когда вы обнаружите, что код не так совершенен, как вы думали.)

    Но что, если вы не занимаетесь загрузчиком/последовательным портом Arduino? Вариант есть, и мощный.Вам просто нужны правильные инструменты.

    Я программирую для микроконтроллеров AVR ATMEGA с помощью Atmel Studio, работающей в Windows. Фактически, это основная причина, по которой на моем iMac работает виртуальная машина Windows 10. И я записываю код в чипы AVR с помощью программатора Atmel-ICE.

    Вы ​​можете кодировать чипы AVR с волосатой грудью и при этом сэкономить деньги. Я слышал, что «настоящие» программисты AVR делают все из командной строки Linux. И я уважаю этих людей, хотя у меня нет желания быть одним из них.Человечество — вид, использующий инструменты, и мне это нравится.

    Если вы еще не используете Atmel Studio и программатор ICE, но планируете это сделать, один небольшой совет: убедитесь, что вы полностью установили Studio до того, как подключат ICE к USB-порту. Причина в том, что Atmel предоставляет драйверы, необходимые для ICE. Если вы подключите ICE к компьютеру без установленной Studio, Windows попытается установить свои собственные драйверы, и ваша жизнь станет тяжелее, чем должна быть.

    Итак, вооружившись ICE и Atmel Studio, вы имеете почти смущающий набор инструментов для отладки.

    Войти в режим

    Для начала загрузите свой проект и откройте его свойства (щелкните правой кнопкой мыши имя проекта и выберите «Свойства»). Обычно, когда вы программируете свой чип, вы увидите что-то вроде этого:

    .

    Обратите внимание, что в разделе «Интерфейс» написано «ISP». Вам нужно изменить это на: debugWIRE.

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

    Затем перейдите в меню «Отладка» и выберите «Начать отладку и прерывание» (или нажмите Alt-F5).

    По всей вероятности, вы столкнетесь с всплывающим окном ошибки с заголовком «Ошибка запуска» и сообщением: Не удалось запустить сеанс отладки с помощью debugWIRE. Это может быть вызвано схемой линии сброса или отключенным интерфейсом debugWIRE. Прежде чем продолжить, убедитесь, что линия сброса свободна. Вы хотите использовать SPI для включения предохранителя DWEN?

    Конечно.Нажмите «Да».

    Следующее всплывающее окно — «Cycle Power» — более обнадеживающее. Должно быть написано: debugWIRE включен. Переключите целевую мощность, затем часы в порядке.

    Вы ​​должны делать именно то, что он говорит. Отключите питание вашей проектной доски. Затем снова включите его. (Большинство жизненных проблем решается таким образом.) Некоторые люди также рекомендуют одновременно включать и выключать питание Atmel-ICE. И это избавило меня от проблем с получением сообщений об ошибках, когда я уже был в режиме отладки (см. ниже о возможных проблемах).

    В этот момент вы перейдете в режим отладки, и программа, скорее всего, остановится в самом начале вашей функции main().

    На снимке экрана выше желтая стрелка показывает, до чего дошла программа. Красный круг — это точка останова, которую я установил. Их может быть сколько угодно, и они удобны, так что вы можете проверить состояние регистров и переменных в заданной точке программы.

    Нажатие кнопки «Продолжить» (зеленый треугольник) запускает код (как минимум до следующей точки останова, если она есть).Нажмите кнопку паузы, чтобы остановить.

    Вы ​​все еще можете работать над своим кодом в режиме отладки. Просто нажмите кнопку «Остановить отладку» (красный квадрат), внесите изменения, затем нажмите кнопку «Продолжить» (зеленая стрелка), чтобы загрузить и снова запустить код.

    Окна отладки

    Теперь вам доступно много информации. Некоторые из наиболее полезных доступны в строке меню «Отладка».

    Значок прямоугольника, содержащий «0X», вызывает список регистров и их текущее содержимое.

    Три значка справа (похожие на какой-то график) — это то, что я считаю наиболее полезным — окно ввода-вывода с массой информации о портах и ​​выводах, представленной в удобном графическом формате.

    В меню «Отладка» QuickWatch позволяет вводить имена переменных и отслеживать их значения, что может преподнести несколько сюрпризов.

    Вы ​​даже можете перетаскивать переменные из своего кода в это окно. Также есть отдельное окно для локальных переменных.

    И есть все обычные вещи, которые вы могли бы ожидать — возможность сделать один шаг, шагнуть внутрь, перешагнуть и многое, многое другое.

    Завершена отладка

    Когда вы закончите отладку, выберите Debug -> Disable debugWIRE и Close .

    (Это может быть недоступно, если вы использовали «остановить отладку». Попробуйте сначала «Присоединиться к цели», чтобы снова начать отладку.)

    Теперь ваш чип AVR вернется в нормальное состояние, в режиме ISP, с запущенной вами программой.

    Обычно говорят, что вы должны быть очень осторожны при выходе из сеанса программирования, не вернувшись в нормальный режим программирования (т.е. ISP).При работе в режиме отладки WIRE устанавливается предохранитель, который называется DWEN. И если вы просто выключитесь в режиме отладки WIRE и оставите этот предохранитель установленным, тогда ваш чип будет заблокирован до тех пор, пока вы не используете высоковольтный программатор (которого у вас нет) для его сброса.

    По крайней мере, так говорят. На самом деле ситуация не такая уж и безрадостная.

    Если вы все-таки выключили и выключили все без сброса в режим ISP, вы обычно можете восстановиться. Что вы делаете:

    • Запустите Atmel Studio
    • Подключите свой Atmel-ICE к сети.Если он уже подключен и включен, попробуйте отключить и снова подключить его, чтобы выключить питание.
    • Подключите плату к устройству Atmel-ICE.
    • Включите питание вашей доски.
    • В Atmel Studio перейдите по адресу: Отладка -> Присоединить к цели.

    И вы должны вернуться в режим отладки. Тем не менее, вы должны выработать привычку правильно завершать работу способом « Disable debugWIRE and Close », потому что кто хочет испытывать судьбу?

    Родственные

    .

    0 comments on “Atmega16 часы термометр: Опять часы на Atmega16

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

    Ваш адрес email не будет опубликован.

    Код товара B01MR23JHU
    Срок поставки