Лампа настрою - це світлодіодний RGB світильник, що плавно змінює колір світіння випадковим чином. У Мережі можна знайти безліч різних схем таких ламп, причому, як правило, на базі щодо потужних мікроконтролерів. Мені хотілося зробити лампу на основі самого примітивного AVR мікроконтролера ATTINY13.
Схема вийшла лампи тривіальна:
Алгоритм роботи наступний:
- випадковим чином генерується значення RGB колірної точки і інтервал часу, через яке цей колір буде досягнутий
- щоб кольори виходили "красивими" один з RGB компонент випадковим чином зануляют
- на перериванні таймера-лічильника висить обробник саморобного Шиман, а через кожен цикл ітерації Шиман обчислюються поточні кольору світіння світлодіодів
Проект написаний і скомпільований в AVRStudio 5.0. Помічений кумедний момент - скомпільована Debug-версія прошивки зайняла тисяча двадцять дві байта, а Release-версія - цілих 1 094 байта, що робить останню абсолютно непридатною для прошивки в кілобайтний контролер. Налаштування студії я не чіпав, все за замовчуванням.
Для запису прошивки використовував avrdude. програмування в ньому робиться командою:
Друкована плата лампи:
Потужний світлодіод встановлений на радіатор, зроблений з корпусу старого алюмінієвого електролітичного конденсатора:
В якості корпусу для лампи узятий оптоволоконний світильник на батарейках, "начинка" якого була повністю вилучена.
Схема і плата Eagle + PDF і SVG файли для Лутай
Прошивка і вихідні (AVR Studio 5)
скомпільована прошивка