На носі Новий рік, святковий настрій, різнокольорові вогні. І звичайно потрібно задуматися про новорічні подарунки для своїх близьких. Ви вже придумали що подарувати? Я довго розмірковував над цим і вирішив що кращий подарунок, це подарунок зроблений своїми руками. В результаті чого була затіяна ця конструкція RGB світильника. Її можна використовувати всюди і як завгодно, вона інтуїтивно зрозуміла і проста, а значить сподобається будь-якій людині. Функція світильника дуже проста: висвітлювати навколишній інтер'єр різними мінливими квітами. Для цієї нехитрої завдання піде практично будь-який мікроконтролер, але я зупинився на AVR мікроконтролері Attiny13, так як він досить поширений, дешевий і у мене його багато. Як світлодіода я використовував матовий RGB світлодіод з чотирма висновками, із загальним катодом.
Принципова схема RGB світильника:
На схемі вказано підключення RGB світлодіоди із загальним анодом.
Але під час розробки я натрапив на одну неприємність, у мікроконтролера Attiny13 всього лише два апаратних ШІМ виходу на таймері 0 і на цьому все. Ох, а треба ж три Шиман, на три кольори. І засідка, таймер в МК один. Тому я вирішив поізвращаться і реалізував три програмних Шиман на таймері 0, вийшло дуже навіть добре, але, даний метод поганий тим що частота цього Шиман виходить низька. І щоб не було видно мерехтіння світлодіода довелося запускати мікроконтролер на частоті 9,6 МГц. Прошивку я писав в середовищі BASCOM-AVR. Головне що все працює!
Харчування RGB світильника здійснюється від двох мізинчикових батарейок AA типу по 1.5 вольт кожна. У сумі виходить 3 вольта, то що потрібно пристрою. Для зручної експлуатації світильника батарейки вставляються в спеціальний для них відсік, який я придбав в радіо магазині. Світлодіод потрібно використовувати RGB з чотирма висновками, загальним висновком може бути як анод так і катод, від цього зміниться тільки підключення світлодіода за схемою, плата і прошивка. Мікроконтролер Attiny13 можна використовувати з будь-якими літерними індексами, в будь-якому корпусі (бажано в DIP щоб підходив на плату). Для установки мікроконтролера використовуйте панель DIP-8, це дозволить швидко і зручно отримати мікроконтролер з плати в разі заміни або прошивки.
Прототип RGB світильника на макетної платі з механічними контактами:
Сам світильник я реалізував на круглій друкованій платі діаметром 5 см. Плата зроблена по ЛУТ технології на стеклотекстолите, щоб плату зробити абсолютно круглої я спочатку її висвердлив і обробив напилком по контуру окружності. Для найкращої якості я рекомендую, перш за все, перевести малюнок на квадратний шматок текстоліту, протравити його в розчині хлорного заліза або мідного купоросу і лише потім, по контуру окружності малюнка, висвердлюють і підганяти, круглу плату. Малюнок друкованої плати я робив в програмі Sprint Layout 4.0. вихідні файли плати ви можете знайти нижче.
T13RGBA.LAY - Файл друкованої плати світильника під світлодіод із загальним анодом
T13RGBK.LAY - Файл друкованої плати світильника під світлодіод із загальним катодом
В якості корпусу всього світильника я вирішив використовувати маленький круглий квітковий горщик, власне під нього і робилася друкована плата.
RGB світильник без корпусу (плата і відсік для батарейок):
Для роботи світильника потрібно прошити мікроконтролер відповідної прошивкою, для цього вам буде потрібно програматор AVR мікроконтролерів. Програматор можна використовувати практично будь-який, головне щоб він підтримував ISP режим і мікроконтролер Attiny13. Я написав дві версії прошивки, одна для світлодіода із загальним анодом, інша для світлодіода із загальним катодом. Файли прошивки і вихідні в середовищі BASCOM-AVR ви можете знайти нижче.
FWT13RGBA.HEX - Файл прошивки світильника під світлодіод із загальним анодом
FWT13RGBK.HEX - Файл прошивки світильника під світлодіод із загальним катодом
Не залежно від файлу, після прошивки потрібно прошити відповідні фьюз-біти зазначені нижче.
Фьюз-біти для програми PonyProg:
Фьюз-біти для програми SinaProg: