Мне вообще, если можно, то покажите какими способами ещё можно. А так юарт пока не жалко. Интересуют все варианты для общего развития. Пробовал ещё с ацп, но там надо подстроечный резистор ещё подключать или датчик звуковой или световой. Уже с этими вещами поэксперементировал всё работает. Читал, что можно шимов наделать программно сколько угодно, но как не знаю. Но хотел бы узнать
space писал(а): шимов наделать программно сколько угодно, но как не знаю. Но хотел бы узнать
Это можно узнать в здача-упражнение 13 в курсе по AVR - http://avr123.nm.ru/z13.htm - програмный ШИМ на 8 каналов для управления 8 servo в примере, но можно сделать аналогично и больше PWM каналов.
Последний раз редактировалось avr123.nm.ru 02 окт 2009, 14:23, всего редактировалось 2 раз(а).
avr123.nm.ru писал(а):Это можно узнать в здача-упражнение 13 в курсе по AVR - http://avr123.nm.ru/z13.htm - програмный ШИМ на 8 каналов для управления 8 servo в примере, но можно сделать аналогично и больше PWM каналов.
Но есть один нюанс Такие шимы для светодиодов годятся плохо. Например как зажечь все светодиоды на 90%?
Я думаю для програмного ШИМ это не проблема. Ведь не обязательно последовательно их включать. Можно сгруппировать по времени выключеня в массив и включать все вместе а выключать "пачками".
imho включаем все сразу, 16 задержек - 16 уровней яркости между этими задержками и вставляем гашение отдельных leds повтор цикла
Вся беда что программные решения отъедают много ресурсов. Если в приведенном выше алгоритме еще что-нибудь делать, то задержки должны быть не просто delay(xxx), а эквивалентные по времени исполнения фрагменты кода основной программы.
не, в предложенном алгоритме гашение всех "лишних" leds одной командой, синхронное регулирование трудности не представляет. Дополнительное удобство - линейное регулирование яркости в диапазоне свечения, а не просто изменение свечения.