Архив рубрики: AVR. Учебный курс

Интерфейс — одна кнопка

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

Рубрика: AVR. Учебный курс | Комментарии (23)

FT2232D и AVR. Прошивка и отладка по JTAG

AVRdude Bitbang Поскольку я привык к связке avrdude+sinaprog то менять ее на что либо совершенно не хотелось. Поэтому в первую очередь я решил проверить, а можно ли юзать FT2232 в том же режиме, что и FT232RL. И пнул дудку в … Читать далее

Рубрика: AVR. Учебный курс, Готовые устройства | Метки: , , , | Комментарии (74)

AVR Studio 4.19 и AVR Toolchain

Обновился я тут недавно до AVR Studio 4.19 и спустя некоторое время обнаружил, что все проекты, что были на Си, отказываются компилироваться. Либо компилятся, но не отлаживаются. После недолгого выяснения и теребления народа из сообщества выяснилось, что WinAVR как самостоятельный … Читать далее

Рубрика: AVR. Учебный курс, Новости | Метки: , , | Комментарии (55)

Работа с графическим дисплеем WG12864 на базе контроллера KS0107

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

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (85)

Работа с резистивным сенсорным экраном

Хоть резистивный touchscreen и является устаревшим и активно вытесняется емкостными сенсорами, но тем не менее он еще не скоро канет в Лету. Во первых из-за простоты и дешевизны, а во вторых из-за элементарной работы с ним. Конструктив Итак, как он … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , , | Комментарии (40)

AVR. Учебный Курс. Асинхронный режим таймера

Иногда полезно иметь в системе часы отсчитывающие время в секундах, да еще с высокой точностью. Часто для этих целей применяют специальные микросехмы RTC (Real Time Clock) вроде PCF8583. Вот только это дополнительный корпус, да и стоит она порой как сам … Читать далее

Рубрика: AVR. Учебный курс | Метки: , | Комментарии (58)

Подключение клавиатуры к МК по трем проводам на сдвиговых регистрах. Часть 2. Буквенный ввод как на телефоне

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

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (28)

Подключение клавиатуры к МК по трем проводам на сдвиговых регистрах

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

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (107)

Управление множеством сервомашинок

При построении разных роботов порой приходится использовать несколько сервоприводов. А если это какой-нибудь шестиногий паук, то приводов там этих просто тьма. Как ими управлять? На форуме кое кто даже сокрушался, что ему бы для этих целей плисину применить. Хотя на … Читать далее

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , , | Комментарии (121)

Работа с портами ввода-вывода микроконтроллеров на Си++

При разработке программ для микроконтроллеров (МК) работа с внутренний и внешней периферией является очень важной частью (а иногда и единственной) программы. Это своего рода фундамент, на котором основывается более высокоуровневая логика программы. От эффективности взаимодействия с периферией напрямую зависит эффективность … Читать далее

Рубрика: AVR. Учебный курс | Комментарии (59)

Организация древовидного меню

Почти для всех проектов на микроконтроллере с экранчиком требуется система меню. Для каких-то проектов одноуровневое, для других — многоуровневое древовидное. Памяти, как обычно, мало, поэтому хочется запихнуть все во флэш. Попутно, из проекта в проект, развивалась своя псевдоОС — таймеры, … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (90)

Обработка множества инкрементальных энкодеров одновременно

Про инкрементальный энкодер и про обработку его сигналов с помощью МК уже была статья. Вроде-бы ничего сложного — два бита текущего состояния, два бита предыдущего — автомат с 16 состояниями. Рассмотрим эту задачу ещё раз с позиции максимально эффективной (по … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (17)

AVR. Учебный Курс. Инкрементальный энкодер.

Энкодер это всего лишь цифровой датчик угла поворота, не более того. Энкодеры бывают абсолютные — сразу выдающие двоичный код угла и инкрементальные, дающие лишь указание на направление и частоту вращения, а контроллер, посчитав импульсы и зная число импульсов на оборот, … Читать далее

Рубрика: AVR. Учебный курс | Метки: , | Комментарии (91)

Создание Bootloader’a

Введение На написание данной статьи меня сподвигло практически полное отсутствие какой либо вменяемой информации по теме бутлоадеров на русском языке, и конкретно для чипов основанных на архитектуре AVR. В общем то DI как то писал о вкусностях этих тулз для … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (35)

AVR. Учебный Курс. Кусочно-линейная аппроксимация

Часто бывает так, что приходится обрабатывать жутко нелинейные величины, задаваемые каким-нибудь извращенным законом. Простейший пример — датчики расстояния SHARP GP2D12. Только поглядите на его характеристику: Сам черт ногу сломит, а ведь нам бы неплохо иметь выход в человеческих величинах, ну … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (48)

AVR. Учебный Курс. Использование AVR TWI для работы с шиной IIC (i2c)

Про шину IIC я писал уже неоднократно. Вначале было описание протокола, потом пример работы в лоб, а недавно камрад Ultrin выложил пример работы с i2c на базе блока USI. Да и в интернете полно статей по использованию этой шины в … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (108)

Использование интерфейса USI в режиме мастера TWI

Возникла необходимость использовать EEPROM совместно с контроллером ATTiny44. Соответственно выбор пал на AT24C64, работающую по интерфейсу I2C (TWI по атмеловской терминологии). Порыл в документации и в инете — с виду вроде все просто, но при реализации алгоритма несколько раз возникали … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (32)

Пример виртуальной машины

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

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , | Комментарии (47)

Виртуальная машина и байт код

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

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , | Комментарии (85)

AVR. Учебный Курс. Работа на прерываниях

Одним из серьезных достоинств контроллеров AVR является дикое количество прерываний. Фактически, каждое периферийное устройство имеет по вектору, а то и не по одному. Так что на прерываних можно замутить кучу параллельных процессов. Работа на прерываниях является одним из способов сделать … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (73)