AB-Шаблоны

Эта страница — репозиторий шаблонов для создания проектов в Algorithm Builder.
Шаблоны облегчают создание программ, предоставляя готовый базовый функционал, такой как работа с кнопками, формирование ШИМ, управление пультом, работа с UART и тому подобное.

ab_m328_16_template.zip Ver.1 - АВ_Шаблон для ATmega328 (внешний кварц 16МГц) - можно использовать плату Arduino
Доступные модули:
— Wait — Модуль формирует задержки в программе
— PWM — Модуль формирует ШИМ-сигнал на произвольных ногах МК
— RND — Модуль формирует случайное число
— Math — Реализует математические операции (на данный момент не полностью закончен)
— EX_Key — Модуль обрабатывает произвольное количество кнопок на любых ногах МК.
— UART — Модуль выдает и принимает сообщения UART.
— STimer — Модуль реализует произвольное количество небольших и экономных независимых таймеров (от миллисекунд до пары секунд)
— LTimer — Модуль реализует произвольное количество независимых таймеров широких промежутков времени (от миллисекунд до суток)
— IR_Detect — Модуль принимает и обрабатывает ИК-посылки с любого бытового пульта посредством интегрального приемника TSOP4836
— LCD — Модуль позволяет подключить к проекту символьный дисплей на базе контроллера DH44780
— Nokia — Модуль позволяет подключить к проекту дисплей на базе контроллера PCD8544 (типа Nokia 5110 или 3310)
— Print — Модуль посредством которого можно выводить на произвольное отображающее устройство строки текста и числа
— Menu — Модуль реализует меню на произвольном устройстве отображения
— Menu_Struct — Пример построения структуры меню и небольшой манула по всем элементам структуры (для удобства создания своего меню)
— ADC — Модуль для автоматического опроса всех каналов АЦП (значения хранятся в массиве)
Демонстрация работы ADC
— Color — Изменение различных параметров цвета
Описание алгоритмов Color
Демонстрация работы Color

ab_t2313_8_template.zip Ver.2 - АВ_Шаблон для ATtiny2313 (внутренний задающий генератор 8МГц)
Доступные модули:
— Wait — Модуль формирует задержки в программе
— PWM — Модуль формирует ШИМ-сигнал на произвольных ногах МК
— RND — Модуль формирует случайное число
— Math — Реализует математические операции (на данный момент не полностью закончен)
— EX_Key — Модуль обрабатывает произвольное количество кнопок на любых ногах МК.
— UART — Модуль выдает и принимает сообщения UART.
— STimer — Модуль реализует произвольное количество небольших и экономных независимых таймеров (от миллисекунд до пары секунд)
— LTimer — Модуль реализует произвольное количество независимых таймеров широких промежутков времени (от миллисекунд до суток)
— IR_Detect — Модуль принимает и обрабатывает ИК-посылки с любого бытового пульта посредством интегрального приемника TSOP4836
— LCD — Модуль позволяет подключить к проекту символьный дисплей на базе контроллера DH44780
— Nokia — Модуль позволяет подключить к проекту дисплей на базе контроллера PCD8544 (типа Nokia 5110 или 3310)
— Print — Модуль посредством которого можно выводить на произвольное отображающее устройство строки текста и числа

В разработке:

ATtiny13 (внутренний задающий генератор  9.6МГц)

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

Архив шаблона содержит следующие материалы:
— readme.txt — описание шаблона
— modules.txt — описание модулей входящих в шаблон
— ab_project_source — папка с исходником шаблона
— fuse.png — картинка с фьюз-битами
— ab_project_scheme.spl7 — шаблон схемы в sPlan 7
— Файл Excel
(расширение xls) — помощник в создании программы. Файл содержит набор вкладок, таких как, вкладка для записи использования регистров общего назначения по модулям (очень удобно чтобы избежать коллизий при использовании регистров), вкладка с картинкой распиновки МК (чего очень не хватает в Билдере), вкладка расчета таймеров, вкладка расчета АЦП, вкладка с полезной информацией, …

Материалами для модулей служат следующие источники:
— мои разработки
— библиотеки подпрограмм и макросов с ресурса  Билдера
библиотека алгоритмов с форума
— любые Ваши идеи или готовые модули — можно оставить в специальном разделе форума

Участвуйте в создании модулей! Сделаем Билдер доступней!

AB-Шаблоны: 10 комментариев

  1. admin Автор записи

    Добавил шаблон для ATmega328 (Arduino)
    Доступные модули:
    — Wait — Модуль формирует задержки в программе
    — PWM — Модуль формирует ШИМ-сигнал на произвольных ногах МК
    — RND — Модуль формирует случайное число
    — Math — Реализует математические операции (на данный момент не полностью закончен)
    — EX_Key — Модуль обрабатывает произвольное количество кнопок на любых ногах МК.
    — UART — Модуль выдает и принимает сообщения UART.
    — STimer — Модуль реализует произвольное количество небольших и экономных независимых таймеров (от миллисекунд до пары секунд)
    — LTimer — Модуль реализует произвольное количество независимых таймеров широких промежутков времени (от миллисекунд до суток)
    — IR_Detect — Модуль принимает и обрабатывает ИК-посылки с любого бытового пульта посредством интегрального приемника TSOP4836 (или подобного)
    — LCD — Модуль позволяет подключить к проекту символьный дисплей на базе контроллера DH44780
    — Nokia — Модуль позволяет подключить к проекту дисплей на базе контроллера PCD8544 (типа Nokia 5110 или 3310)
    — Print — Модуль посредством которого можно выводить на произвольное отображающее устройство строки текста и числа
    — Menu — Модуль реализует меню на произвольном устройстве отображения
    — Menu_Struct — Пример построения структуры меню и небольшой манула по всем элементам структуры (для удобства создания своего меню)

  2. admin Автор записи

    Обновил шаблон ab_t2313_8_template.zip до второй версии — добавились новые модули — переработались старые

  3. admin Автор записи

    Для шаблона мега328 добавил 2 модуля
    ADC — Модуль для автоматического опроса всех каналов АЦП (значения хранятся в массиве)
    Color — Изменение различных параметров цвета

  4. Mtv

    Подскажите как работает: 1 вопрос — IR_Detect модуль на мега 328 : 1)-удерживаешь кнопку нажатой на пульте нагрузка работает, отпускаешь кнопку нагрузка не работает ;или 2)нажал-отпустил кнопку нагрузка работает,- еще раз нажал эту кнопку нагрузка выключилась?
    2 вопрос — до какого MAX расстояния (м) принимает TSOP4836 ? а то я собрал, при нажатии люб кнопки мигает общ индикация как при обучении и на выходах тишина и дальше 2х метров не принимает сигнал от пультов. Использую ТСОП то ли 4836 то ли 38 не понятно, шаблоны без изменений кода

  5. admin Автор записи

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

    Пример как настраивается модуль — можно глянуть здесь http://www.getchip.net/posts/131-shablony-shim-vykhoda-knopki/ (только без ИК-модуля)

    По дальности, при условии, что TSOP выбран правильно по частоте пульта, — это 10-15 метров (если в условиях комнаты, то за счет переотражений мертвых зон не должно быть вообще).
    Если TSOP по частоте не подходит, то естественно, дальность падает (но точно не до 2х метров — это что-то совсем неправильно, может помехи большие?)

  6. Mtv

    Спасибо за ответ. А вот как построить логику в самой программе мне пока-что не понять, я пытаюсь освоить МК , давно уже хочу сам что-нибудь собрать типа ИК-управление несколькими нагрузками, чтобы оно при нажатии 1ой кнопки на пульте вкл 1ую нагрузку и только после повторного нажатия на эту же кнопку отл нагрузку и тд. ТСОП маркировку не разобрать корпус залит чем-то( на эпокситный клей похоже) достался от друга со словами что это на 36кГц. Про помехи точно не знаю… смотря какие бывают, включал у себя в квартире, ни движков — ни генераторов нет, по питанию МК — то от обычного китайского USB зарядника на 5в там конденсаторный фильтр по питанию должен быть я думаю. Скажу большое человеческое СПАСИБО если подскажете как примерно можно связать этот шаблон с описанным ИК- управлением.

  7. admin Автор записи

    Вот так просто не объяснишь сходу…
    В следующем году, когда дойдут руки до обновлений шаблонов, постараюсь наделать примеров простеньких.

  8. Mtv

    Уважаемый GetChiper сделайте простой пример ИК управления, самому сложно разобраться в коде шаблона прошу помощи

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