GP1 писал(а):ну что, господа теоретики, на сегдняшний день в аврстудии, ессно в железе пока не пробовал, работают 20 каналов программного ШИМа, придумаю как обрабатывать кнопки тогда представлю весь код, пока не решил делать 20 кнопок или 40.
Доделал, выкладываю схему (в реальности там на каждый светодиод отдельное сопротивление на 100ом) и само собой код. Тини работает от встроенного генератора на 9,6МГц без делителей.
Схема содержит 12 светодиодов , управление яркостью двумя кнопками. Кнопки +- меняют яркость выбранного светодиода, если их нажать и удерживать одновременно то происходит выбор диода, это соотв будет видно по индикации (как и в режиме регулировки)
OBIVAN писал(а):Хорошая работа а главное оперативно.Если не затруднит вкратце алгоритм.
В таймерном прерывании, которое происходит на частоте ~38к формируется шим и выводятся данные на светодиоды по 3 за одно прерывание. В основном цикле сделан антидребезг ну и регулировки. Задание шима поначалу было 8 бит но я решил что 255 значений довольно долго щелкать плюс яркость меняется нелинейно в силу особенностей человеческого зрения, поэтому сделал таблицу перевода на 16 значений, соотв для задания яркости используется только 4 младших бита, сами данные по всем 12 каналам хранятся в первых 12 байтах озу.
ARV писал(а):P.S. судя по всему программку вполне можно на Си сделать может рискнете?
Не рискну ибо не влезет ни по памяти (которой в тини всего килобайт) , ни по ресурсам
Да не особо то и прожорливый компилятор должен быть. ) Не надо так категорично. Если библиотеки не пользовать, а самому все нужное описать - то влезет все.
Neekeetos писал(а):Не рискну ибо не влезет ни по памяти (которой в тини всего килобайт) , ни по ресурсам
Да не особо то и прожорливый компилятор должен быть. ) Не надо так категорично. Если библиотеки не пользовать, а самому все нужное описать - то влезет все.
Ну вот то что я написал на асме занимает 382 байта из 1024, это 37% всей памяти. Исходник я выложил, там ничего фантастического нету, попробуй напиши тоже самое на С без библиотек, можно будет сравнить размер
ARV писал(а):Да какие там библиотеки? разве что задержки от дребезга кнопок - но их вряд ли напишешь вручную лучше, чем компилятор
Скажем так, нулевая программа на винавр занимает порядка 100 байт, только потому что он инитит память и делает прочую ненужную чепуху, я поверю что функция обработки кнопок в винавр около-идеальна но она тянет за собой кучу барахла
в шпротеусе не работаю
в железе еще не пробовал.
а у тебя eeprom подгужается? а то там переменные начальной инициализации хранятся.
в железе думаю завтра погонять.
GP1 писал(а):в шпротеусе не работаю
в железе еще не пробовал.
а у тебя eeprom подгужается? а то там переменные начальной инициализации хранятся.
в железе думаю завтра погонять.
Да, в проте епром не загрузился, он оказывается не умеет работать с интел/хекс. Будешь делать сразу поставь резисторы отдельно на каждый светодиод, те которые групповые даже на 12 светиках дают просадку тк от них питается не один светодиод а целая группа
Neekeetos писал(а): Будешь делать сразу поставь резисторы отдельно на каждый светодиод, те которые групповые даже на 12 светиках дают просадку тк от них питается не один светодиод а целая группа
попробую
зы: я тут прикинул в железе наверное слишком быстро яркость меняться будет, по расчетам от 0 до мах примерно за 0.6 сек.
чтобы замедлить надо подобрать вот эту константу:
глюканул.
время изменения значения ШИМ на 1 примерно 56 мс, следовательно от 0 до мах будет тикать примерно 5600 мс или 5,6 сек.
значит надо уменьшать константу.
зы: начальная яркость по каналам от 5% до 100% с шагом 5%.
GP1 писал(а):зы: начальная яркость по каналам от 5% до 100% с шагом 5%.
Как успехи? Мне тут АРВ подсказал что на сайте присутствует конструкция со свойствами аналогичными моей , забавно. Вот ссылка кстати http://radiokot.ru/circuit/audio/other/14/, думаю имеет смысл ее также рассматривать как вариант решения, правда исходников нету
как выяснилось у мняу нехватает резюко на 100 ом, а доехать до барыг времени нет.
но макетку уже напаял, осталось только делитель допаять.
пока не проверю не успокоюсь
GP1 писал(а):как выяснилось у мняу нехватает резюко на 100 ом, а доехать до барыг времени нет.
но макетку уже напаял, осталось только делитель допаять.
пока не проверю не успокоюсь
Яж проверял твою конструкцию правда с 12ю светиками, может тебе аналогично сделать, подключить первые несколько ?, тем более все известно что работает