Pe nas este Anul Nou, starea de spirit festiv, lumini colorate. Și, desigur, trebuie să vă gândiți la darurile de Anul Nou pentru cei dragi. Te-ai gândit deja la ce să dai? M-am gândit mult timp și am hotărât că cel mai bun cadou a fost un dar făcut de mine. Ca rezultat, a fost demarată această construcție a corpului de iluminat RGB. Poate fi folosit oriunde și oricum, este intuitiv și simplu, ceea ce înseamnă că oricine o va place. Funcția lămpii este foarte simplă: pentru a ilumina interiorul înconjurător cu diferite culori în schimbare. Pentru această sarcină simplă va merge aproape orice microcontroler, dar m-am oprit pe microcontroler AVR Attiny13, pentru că este destul de comun, ieftin și am o mulțime de ea. Ca LED, am folosit un LED mat RGB cu patru fire, cu un catod comun.
Schema schematică a lămpii RGB:
Diagrama arată conectarea unui LED RGB cu un anod comun.
Dar în timpul dezvoltării am întâmpinat o problemă, microcontrolerul Attiny13 are doar două ieșiri hardware PWM pe timerul 0 și asta este. Oh, dar ai nevoie de trei PWM-uri, trei culori. Și o ambuscadă, un timer în MC este unul. Așa că am decis să mă întorc și să pun în aplicare trei PWM-uri software pe timer 0, sa dovedit foarte bine, dar această metodă este rău, deoarece frecvența acestui PWM este scăzută. Și pentru a evita să apară pâlpâirea LED-urilor, era necesar să rulați microcontrolerul la o frecvență de 9,6 MHz. Am scris firmware-ul în mediul BASCOM-AVR. Principalul lucru pe care funcționează totul!
Dispozitivul de iluminat Power RGB este fabricat din două baterii mici AA fiecare tip de 1,5 volți fiecare. În total, veți obține 3 volți, apoi ceea ce aveți nevoie de dispozitiv. Pentru o funcționare convenabilă a corpului de iluminat, bateriile sunt introduse într-un compartiment pentru ele, pe care am cumpărat-o la magazinul de radio. LED-ul ar trebui să utilizeze RGB cu patru terminale, terminalul comun poate fi atât anod cât și catod, de aici numai conexiunea LED conform schemei, bord și firmware-ul se va schimba. Microcontrolerul Attiny13 poate fi utilizat cu orice index alfabetic, în orice incintă (preferabil în DIP pentru a se potrivi plăcii). Pentru a instala microcontrolerul, utilizați panoul DIP-8 pentru a scoate rapid și convenabil microcontrolerul de la placă în cazul înlocuirii sau firmware-ului.
Prototipul corpului de iluminat RGB pe panoul de lucru cu contacte mecanice:
Foarte luminos, am realizat pe o placă circulară de circuit imprimat cu un diametru de 5 cm. Placa este fabricat din tehnologia fibrei de sticlă în LUT, pentru a taxa pentru a face perfect rotund l-am forat și prelucrat cu un fișier de pe cercul de contur primul. Pentru cea mai bună calitate, recomand, în primul rând, pentru a transfera model pe o bucată pătrat de PCB, etch l într-o soluție de clorură ferică sau sulfat de cupru, și numai atunci, conturul figurii cercului, drill-and-meci, placa rotund. Am făcut desenul PCB în Sprint Layout 4.0. Puteți găsi fișierele sursă ale plăcii de mai jos.
T13RGBA.LAY - Fișier PCB lămpi pentru LED cu anod comun
T13RGBK.LAY - Fișier PCB lampă pentru LED cu catod comun
Ca corp al întregului corp de iluminat, am decis să folosesc un mic vas de flori rotunde, PCB-ul în sine a fost făcut sub el.
Un corp de iluminat RGB fără carcasă (compartiment de bord și baterie):
Pentru a lucra cu lampa, trebuie să bliți microcontrolerul cu firmware-ul corespunzător, pentru asta aveți nevoie de programatorul microcontrolerului AVR. Programatorul poate fi utilizat aproape orice, principalul lucru fiind că suportă modul ISP și microcontrolerul Attiny13. Am scris două versiuni ale firmware-ului, una pentru un LED cu un anod comun, cealaltă pentru un LED cu un catod comun. Fișierele și sursele de fișiere firmware din mediul BASCOM-AVR pot fi găsite mai jos.
FWT13RGBA.HEX - Fișier de firmware pentru lampă LED cu anod comun
FWT13RGBK.HEX - Fișier lămpi pentru LED-uri sub LED-uri catodice comune
Indiferent de fișier, după firmware trebuie să bligeți biții de fuziune corespunzători specificați mai jos.
Fii de fuziune pentru PonyProg:
Fii de fuziune pentru SinaProg: