Как стать автором
Обновить

Комментарии 9

Это на самом деле, самое достойное и не костыльное решение. Плюс, однозначно.
Подбор таймингов RC-цепочками? Сделайте развидеть это мной.
Для DIY пойдёт, но всё-равно режет глаза.
Есть тысячи способов, как задать тайминги. RC — не самый плохой вариант из всех, и наверное, самый распространенный. Целые МК тактируют RC цепочками, когда допроцентная точность не важда. Про ШИМ-контроллеры даже не упоминаю. Главное достоинство — простота.
А какие варианты можно было бы применить в данной схеме, не добавляя большого числа доп. компонентов?
Какой смысл было городить такую конструкцию, если можно напрямую ноги МК подсоединить к SPI ленты? Работать в режиме open-drain. Т.к. SPI'ные ноги обычно 5V-tolerant, ничего им от +5В не будет!
Уровень логической единицы на ленте выше напряжения питания не прыгнет, т.к. будет сформирован подтягивающим резистором. Если этот резистор запихнуть в самом конце ленты, то и «автоматом» будет напряжение не выше VCC даже на первом светодиоде.
Можно было и open-drain сделать (на проводе в 1м фронты скорее всего потянутся, хотя десяток-другой нс не критично). Но вход-то у ленты не SPI, а широтно-модулированный. Задача как раз и стояла не делать программных задержек или многобитных посылок на каждый бит, а сделать аппаратную поддержку нормального человеческого SPI.
Целые МК тактируют RC цепочками, когда допроцентная точность не важда. Про ШИМ-контроллеры даже не упоминаю.

Не передёргивайте. Да их можно тактировать от RC-генератора и с хорошим результатом. Но это потому, что внутри всё синхронно и нет никаких RC-цепочек. А то-бы мы так и топтались на уровне 8031 с минимальной тактовой в районе 3.5 МГц.
А какие варианты можно было бы применить в данной схеме, не добавляя большого числа доп. компонентов?

Мне ШИМ больше по душе. В посте реализация протокола ws2812b на ATmega я было и думал дать такой комментарий. Но там это невыгодно по сравнению с «ногодрыгом» — при минимально достаточном разрешении ШИМ (3 бита) контроллеру надо отвлекаться каждые 8 тактов. Он будет на пролог с эпилогом (даже если на ассемблере) всё время тратить. АРМатура по-быстрее, тут это уже может иметь практический смысл.
Во, как раз эти светодиоды можно для цветомузыки использовать в такой штуке: habrahabr.ru/post/225653
То есть Вы сэкономили 24/2=12 байт памяти данных, заменив их 6 резисторами, 2 диодами, 2 конденсаторами и 3 корпусами.
Супер. Неужели сейчас память данных ТАК подорожала?
Ах да, я забыл еще про 200-300 байтов памяти программ для подпрограммы распаковки. Тогда да, конечно, экономия несомненна.
Замечание несомненно по делу. Но просто сделаю акцент еще раз на том, что, цель учебная, а не сдлеать промышленное решение и запустить в производство. Статься не преследует никаких бизнес целей. Хотя иногда стоимость 3х дополнительных копеечных корпусов может быть дешевле, чем МК из старшего семейства (который дороже в 2 раза). А предложенное решение универсально для любых МК, даже когда памяти нет совсем (а-ля 128 байт), а светодиодов много (скажем 1000), и зажигать их надо в реальном времени, с определенным FPS, при этом еще обрабатывая входные данные (АЦП например).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории