RGB світильник або лампа настрою на ATtiny13

На носі Новий рік, святковий настрій, різнокольорові вогні... І звичайно потрібно задуматися про новорічні подарунки для своїх близьких. Ви вже придумали, що подарувати? Я довго розмірковував над цим і вирішив, що кращий подарунок - це подарунок, зроблений своїми руками. В результаті чого була задумана дана конструкція RGB світильника. Його можна використовувати скрізь і як завгодно, він інтуїтивно зрозумілий та простий, а значить, сподобається будь-якій людині. Функція світильника дуже проста: освітлювати навколишній інтер'єр різними змінюваними кольорами. Для цієї нехитрої задачі підійде практично будь-який мікроконтролер, але я зупинився на AVR мікроконтролері Attiny13, оскільки він достатньо поширений, дешевий і у мене його багато. В якості світлодіода я використав матовий RGB світлодіод з чотирма виводами, з загальним катодом.

Принципова схема 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
Додати всі

Прикріплені файли:
Top