bash.im ithappens.me zadolba.li
5329

Между трёх огней

31 января 2011, 09:00

Ковыряю один не очень известный драйвер для восьми трёхцветных светодиодов, где яркость каждого цвета можно менять как тремя внешними резисторами, так и программно. Сам не так давно отказался от DIP-корпусов, почти всё использую SMD (в первую очередь резисторы).

Началось с того, что при пайке плату я повернул на 180 градусов (так было удобнее), а микру нет — но это полбеды. Всё припаял заново, даже смог управлять. Быстренько зашил в контроллер таблицу синусов, настроил таймеры, и по светодиодам весело побежала радуга. Радость была недолгой: красная составляющая резко стала явно преобладать над остальными. Не беда: поправил константу, и всё встало на свои места. Вскоре возникла та же проблема, но уже с синим цветом. Начал подозревать перегрев драйвера, однако палец почти не чувствовал тепла. Стал ковырять программу, пробовал вызывать функцию инициализации драйвера по несколько раз, уменьшил скорость передачи до 10 байт в секунду, пропаял все разъёмы — ничего. «Баланс белого» гулял, как ему вздумается.

От безысходности взял новую плату, другой контроллер и другой драйвер, перенёс все разъёмы, диоды, отпаял резисторы… Под каждым плата была тщательно смочена флюсом, который менял своё сопротивление в зависимости от температуры, давления, фазы луны и цен на картошку.

Разработчики и радиолюбители! Если уж используете активный флюс, так смывайте тщательно. Удачи в творении — и поменьше нервничайте.