RGB світильник або лампа настрою на ATtiny13
На носі Новий рік, святковий настрій, різнокольорові вогні... І звичайно потрібно задуматися про новорічні подарунки для своїх близьких. Ви вже придумали, що подарувати? Я довго розмірковував над цим і вирішив, що кращий подарунок - це подарунок, зроблений своїми руками. В результаті чого була задумана дана конструкція 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:
Список радіоелементів
Обозначення | Тип | Номінал | Кількість | Примітка | |
---|---|---|---|---|---|
IC1 | МК AVR 8-біт |
ATtiny13
|
1 | Потрібна прошивка | |
HL1 | RGB світлодіод | 1 | |||
R1-R3 | Резистор | 100 Ом | 3 | ||
R4 | Резистор | 10 кОм | 1 | ||
С1 | Конденсатор електролітичний | 10 мкФ | 1 | ||
С2 | Конденсатор керамічний | 0.1 мкФ | 1 | ||
Кнопка з фіксацією | 1 | ||||
Панель для м/с | DIP-8 | 1 | |||
- T13RGBLED.rar (118 Кб)