Понедельник, 12 августа 2013 19:34

Сенсорная кнопка на микроконтроллере ATtiny

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

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

- предназначен для микроконтроллеров AVR,
- легко интегрируется в готовый проект, 
- может использоваться с компиляторами IAR, GCC, CodeVision,
- поддерживает подключение индикаторов через сдвиговые регистры,
- поддерживает подключение индикаторов через различные буферы,
- поддерживает индикаторы с общим катодом и с общим анодом,
- предоставляет возможность посегментной или поразрядной развертки,
- позволяет выводить на один индикатор несколько переменных,
- при стандартном подключении позволяет работать с 8-ю разрядами,
- при подключении через сдвиговые регистры - с 16 разрядами.

   Теперь вы имеете общее представление о последовательном периферийном интерфейсе и можно перейти к рассмотрению SPI модуля. 
   SPI модуль микроконтроллера AVR atmega16 использует для своей работы 4 вывода - MOSI, MISO, SCK и SS. Когда модуль не задействован, эти выводы являются линиями портов ввода/вывода общего назначения. Когда модуль включен, режим работы этих выводов переопределяются.

Написал программный модуль для опроса матричной клавиатуры.

Особенности модуля:

- простая интеграция с готовым проектом
- поддержка всех микроконтроллеров семейства mega
- возможность использования с любым из трех компиляторов IAR, GCC, CodeVision,
- поддержка клавиатур 4х4 и 3х4
- поддержка работы на общей шине
- возможность подключения к одному или двумя портами мк
- программная антидребезговая защита
- возможность установки произвольных кодов кнопок
   Даже монохромные графические дисплеи, не говоря уже о цветных, обладают на порядок большими возможностями по выводу информации, по сравнению со  знакосинтезирующими. Графические дисплеи позволяют выводить изображения и текстовую информацию, используя произвольный шрифт. Кроме того изображение можно выводить в любой точке дисплея, а не только в отведенных знакоместах. 
   За преимущества графических дисплеев приходиться платить деньгами и ресурсами микроконтроллера. Как правило графические дисплеи дороже знакосинтезирующих и у них нет знакогенератора и встроенных функций рисования. Поэтому вся работу по выводу текста и рисованию графики приходится выполнять микроконтроллеру. 
   В этой статье мы рассмотрим подключение и работу с графическим дисплеем МТ12232-А. Он выпускается отечественной фирмой МЭЛТ, прост в управлении и является одним из самых доступных по цене. 

   Написал программный модуль, позволяющий добавить функцию воспроизведения мелодий или последовательностей звуков практически в любой проект на микроконтроллере AVR. 
 
Особенности модуля:
 
- простая интеграция с готовым проектом 
- задействован только 8-ми разрядный таймер т2, при этом остается возможность использовать его для опроса или формирования временных интервалов
- модуль настраивается практически на любую частоту тактового генератора
- высота нот задается в виде символических констант (С0, А2 и т.д) или в Герцах 
- длительности задаются в стандартном виде (четверти, восьмые и т.д.) или в миллисекундах
- имеется возможность задавать темп воспроизведения мелодии и количество ее повторений
- в процессе воспроизведения мелодия может быть поставлена на паузу