Простая стратегия состоит в том, чтобы объединить 4 светодиода на один вывод ШИМ.Это позволит независимо контролировать яркость каждого светодиода на ATTINY, используя всего 5 контактов.
Так, например, вы можете соединить все 4 катода вместе и подключить их к одному выводу ШИМ.Затем вы подключаете каждый из 4 анодов к другому выводу ввода-вывода.
В любой данный момент только один из анодов находится в режиме вывода - остальные остаются плавающими.Означает, что активен не более 1 одиночного светодиода, а его яркость регулируется рабочим циклом ШИМ.
Затем можно использовать функцию ISR переполнения для таймера ШИМ, чтобы активировать следующий светодиод в последовательности после каждого цикла ШИМ.,Вы также обновляете соответствие ШИМ, чтобы отразить яркость следующего светодиода.
Если вы поворачиваете светодиоды быстро (быстрее, чем, скажем, 60 раз в секунду), то визуально все они выглядят так, как будто они включены на нужной яркости.В конце концов, ШИМ просто слишком быстро мигает светодиодом, чтобы видеть его, поэтому мы просто добавляем к нему второе измерение.
Один недостаток: поскольку в любой момент горит только один светодиод, максимальное значениеЯркость теоретически будет 1/4 от того, что было бы, если бы вы включили все светодиоды независимо друг от друга.На практике это, вероятно, проблема, так как ATTINY ограничен тем, какой ток он может пропустить, несмотря на то, что все его контакты одновременно, если вы пытались зажечь все светодиоды одновременно.
Один совет: при настройке таймера ШИМ, сделайте так, чтобы светодиод выключался в начале цикла и включался в середине.Это даст ISR время для перехода к следующему светодиоду, пока все светодиоды выключены.Это лучше, потому что легко увидеть светодиод, который включен, когда он не должен быть, но не так легко увидеть светодиод, который выключен, когда он должен быть включен.
Одно предложение: я буду за это гореть, но при этом вы можете пропустить любые резисторы, ограничивающие ток, так как каждый светодиод включен только в течение не более 1/4 времени.Это даст вам больше яркости, а также сделает так, чтобы вы могли набирать рабочий цикл ШИМ, чтобы у вас было больше времени в начале каждого цикла, чтобы перейти к следующему индикатору.
Я успешно использовал эту технику много раз, и даже смог объединить 6 светодиодов RGB (по три канала каждый) в одну микросхему, и она прекрасно работает.
Обновите вопрос, если у вас есть какие-либо вопросы о деталях!