http://www.forum.getchip.net/

Управление любым IR-пультом на ATtiny2313 (ATmega88)
http://www.forum.getchip.net/viewtopic.php?f=8&t=314
Страница 9 из 13

Автор:  SVN [ 19 мар 2013, 12:32 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

Универсальный алгоритм подразумевает серьёзный подход (проанализировать вагон вариантов), что ведёт к затрате большого количества времени. Это естественное явление для подобных устройств. Так, что не торопитесь, чтобы не повлияло на конечный продукт. :-) Отличный девайс потом всё компенсирует. :OK:

Автор:  ZiB [ 19 мар 2013, 14:10 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

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

Автор:  mcmega [ 19 мар 2013, 17:55 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

Жду с нетерпенеем, очень охота попробовать уже!!! :D

Автор:  Grizzluka [ 21 мар 2013, 20:02 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

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

Автор:  ZiB [ 22 мар 2013, 07:05 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

Да, в разумных пределах можно будет все :)

Пока Евгений "думает", я вчера начал портировать свой код с СТМ8 на атмегу88п, точнее пока только часть кода: программный ШИМ, декодер посылок от ИК-пульта и UART с FIFO буфером.
Скажу я вам, что давно не работал с АВР и как оказывается там все "устарело" в сравнении с СТМ8.
Особенно расстраивает отсутствие вложенных прерываний на "автомате" и возможность задать приоритеты.

Автор:  Grizzluka [ 23 мар 2013, 10:46 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

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

Автор:  GetChiper [ 23 мар 2013, 12:32 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

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

Автор:  GetChiper [ 04 апр 2013, 00:33 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

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

Попробую накидать небольшой обзор - дабы был виден прогресс.

Раз мы определились с сетью начну с нее, а потом опустимся к самому устройству.
1 Итак, обмен данными в сети реализован посредством UART по топологии кольцо, то есть выход (TxD) первого устройства соединяется со входом (RxD) второго, выход второго со входом третьего и т. д. выход последнего устройства в сети соединяется со входом первого устройства.
2 При настройке устройств (или даже одного) компьютер должен входить в сеть (посредством преобразователя USB-UART)

*Для настройки не обязательно его подключать к компьютеру в программе настройщике будет предусмотрена возможность сохранять в прошивку для EEPROM.
3 Настроенное устройство (или сеть устройств) не нуждается в компьютере (он просто выкидывается из кольца).

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

Теперь давайте рассмотрим само устройство. Я наверное повторюсь, выше уже про это писалось, но для полноты картинки напишу еще.
Условно устройство можно разделить на несколько функциональных частей:
1 Главная часть устройства (так сказать ее изюминка :) ) - это, как мы их назвали, "точки доступа". Точки доступа являются связующими (опорными) точками, через которые осуществляется связь различных частей устройства между собой, с модулями формирующими выходные сигналы, модулями получающими данные из вне, с сетью, компьютером - короче любое взаимодействие происходит только через точки доступа и никак иначе. В сети устройство "видится" тоже точками тоступа

Каждое устройство может иметь до 126 точек доступа (зависит от конкретного устройства и его назначения). Физически точка доступа - это ячейка памяти (переменная) в которой хранится информация от (или для) какого-то модуля устройства.
Для большей понятности несколько примеров. Если устройство принимает посылки ИК-пульта, то модуль приема ИК-посылок после принятия очередной посылки - просто сохраняет номер нажатой кнопки на пульте в своей точке доступа. Если устройство формирует, например, ШИМ- сигнал на конкретной ножке, внутренние модули оставляют в точке доступа для ШИМ значения нужного уровня, а модуль вывода уже формирует сигнал на ножке.
2 Следующая часть устройства - это модули формирующие данные для точек доступа или формирующие выходные сигналы в соответствии с данными в точках доступа. Это целый набор возможных модулей на все случаи жизни который будет постоянно пополнятся и расширятся. Примеры - ИК приемник, цифровые входные и выходные линии, АЦП, ШИМ, всевозможные датчики, клавиатуры, индикаторы и т.д.
3 И последняя часть - это "микропрограммы". Микропрограммы - это своего рода правила реакции (алгоритмы поведения) устройства на различные воздействия. Микропрограммы в качестве аргументов (входных воздействий) берут одну или несколько точек доступа анализируют их и выдают в качестве результата значение для другой (или других) точек доступа.
Пример. Микропрограмма берет точку доступа клавиатуры и по значению в ней (например нажатие определенной клавиши) изменяет другую точку доступа, например, подключенную к модулю формирования ШИМ. Нажата клавиша - ШИМ увеличивает скважность, нажата другая клавиша - ШИМ уменьшает скважность.
Микропрограмм будет определенный набор, который, опять таки, будет расширятся по конкретным нуждам. Настройка микропрограмм производится Вами под конкретные условия и с использованием любых точек доступа - Вы сами задаете что делать и как.


Вот кратенько :) и отписался.
На сладкое выдаю в очередной раз переделанную программку настройки устройств. Она уже умеет находить все устройства в сети и работать с настройщиками.
Так как физической сети сделать не получится - предусмотрел добавление устройств в ручном режиме - смотрите демонстрационный ролик как это сделать.
Это сама программка Комментарий к файлу: Программа настройщик
LC_Tuner Demo.zip [110.11 КБ]
Скачиваний: 599
а это демонстрашка Комментарий к файлу: демонстрация
demo.zip [1.35 МБ]
Скачиваний: 672

Автор:  SVN [ 04 апр 2013, 16:49 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

Я ещё даже не дочитав до конца, уже от изумления потерял дар речи. :D У меня даже нет слов, чтобы выразить свой восторг. Перед этим проектом, все проекты которые я, когда либо встречал, выглядят детской вознёй. :-) Сказать, что я поражён, это ничего не сказать, нет просто слов. :OK: :OK: :OK:

Автор:  GetChiper [ 04 апр 2013, 19:06 ]
Заголовок сообщения:  Re: Управление любым IR-пультом на ATtiny2313 (ATmega88)

Одно плохо - из-за наших с Денисом изысков получился конкретный долгострой... но зато все получается как нам нужно.

Страница 9 из 13 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/