Главная » Статьи |
Материалы сайта | Страницы: « 1 2 ... 8 9 10 11 » |
Таймеры помимо прерывания по переполнению, могут работать в режиме захвата значения, это означает что по пришествии импульса на ногу ICP значение счетчика копируется в регистр хранеия Input Capture, затем взяв это значение и проведя несложные манипуляции, можно узнать период изменяющегося сигнала или его частоту. Для примера использую atmega32 и выведу показания на ЖКИ дисплей. Вывод ICP в atmega32 находится на 20 ноге (PortD.6), туда и будет заводиться сигнал.
|
В продолжение к предыдущей статье о работе с дисплеем от Nokia3310 в Bascom-AVR выкладываю доработанную библиотеку с поддержкой кириллических символов. |
Когда телефоны были большими, а экранчики в них маленькие, протоколы общения между ними были очень просты. Учитывая цену на них сейчас, использовать такие дисплеи в своих проектах одно удовольствие. Например, дисплей от Nokia 3310 достался мне за 55 руб.
Это монохромный дисплей разрешением 48х84 пикселя и вместимостью 6 строк текста по 14 символов в каждой строке, работой заправляет контроллер PCD8544 поддерживающий последовательный интерфейс связи.
|
Попробовал собрать простенькое устройство отображения уровня аудиосигнала (VU-meter). В проекте задействованы ATMega32 и ЖКИ индикатор 16х2 подключенный по 4-х битной шине. Само устройство по большому счету выполняет роль двух канального вольтметра, только вывод информации организован не в линейной зависимости, а в логарифмической. Это связано с нашей анатомической особенностью восприятия звука. |
Для измерения температуры в бытовых целях хорошо подходят цифровые датчики DS18B20. Эти датчики способны измерять температуру в пределах от -55 до 125 °C, с заявленной точностью от производителя в 0,5 °C. Для большинства гражданских нужд такой диапазон и такая точность измерения вполне приемлема (какую-нибудь систему термоконтроля собрать или еще чего). Поэтому решил попрактиковаться с этим датчиком, обязательно пригодится. |
В проектах на микроконтроллерах для ввода какой-нибудь пользовательской информации чаще всего используются тактовые кнопки. Для оперативного изменения параметров, когда нужно быстро изменить значение например с 0 до 50, такое решение не самый лучший вариант. Давить на кнопку 50 раз или вводить в программу распознавание долгого нажатия кнопки не наш метод, поэтому обратим внимание на инкрементальный энкодер. Разговор пойдет о механическом энкодере, как самом распространенном типе. Оптоэлектрические энкодеры отличаются лишь тем что требуют дополнительного питания светодиода, в остальном принцип работы схож с механическими собратьями.
Механический энкодер внешне очень похож на переменый резистор, такой же трехногий и с крутилкой. Но в отличии от переменника, энкодер не имеет фиксаторов угла поворота, тоесть его можно крутить сколько угодно.
В качестве подопытного послужил механический энкодер выдернутый со старой мышки.
|
Аналогово-Цифровой Преобразователь служит для преобразования аналогового сигнала на входе в цифровую форму, понятную для МК. Практически во всех современных микроконтроллерах от AVR имеется 10 битный АЦП, позволяющий оцифровывать аналоговый сигнал с дискретностью 1024 значений. Этого достаточно чтобы, например, делать замеры напряжений (в разумных пределах), снимать показания с различных датчиков, таких как фотодиод и термопара, делать анализаторы спектра и многое другое. |
Когда нужно подключить большое количество светодиодов, а тратить драгоценные пины микроконтроллера совсем не хочется (или чаще всего такого количества ног просто напросто нет), на помощь могут придти микросхемы-дешифраторы. Например дешифратор 74HC154 (наш аналог ИД3), который выставляет определенный выход в активное состояние в зависимости от 4х битного числа на входе. |
Порой хочется в разрабатываемом устройстве организовать подсчет текущего времени/даты. Если возложить эту обязанность на МК могут возникнуть проблемы с точностью хода часов, потерей данных при пропадании питания или банальная нехватка места в памяти микроконтроллера. Поэтому задачу по счету времени лучше всего оставлять микросхемам, которые заточены под такое дело. Например, популярная микросхема DS1307, которая способна вести подсчет реального времени в секундах, минутах, часах, датах месяца, месяцах, днях недели и годах с учетом высокосности текущего года вплоть до 2100 г. А автономное питание, которое обеспечивается 3-х вольтовой батарейкой, способно прокормить микросхему в течении 10 лет.
|
Когда появляется необходимость вывести цифровую информацию из недр микроконтроллера, частым решением может оказаться использование семисегментных индикаторов. Сейчас речь пойдет о том, как организовать динамическую индикацию на четырехразрядный семисегментник в среде программирования Bascom-AVR.
|
Проекты [46] |
Как подключить [32] |
Инструменты [3] |
Полезная информация [18] |
Объявления [3] |