Cuprins:

Animated Mood Light și Night Light: 6 pași (cu imagini)
Animated Mood Light și Night Light: 6 pași (cu imagini)

Video: Animated Mood Light și Night Light: 6 pași (cu imagini)

Video: Animated Mood Light și Night Light: 6 pași (cu imagini)
Video: Neon Lights Love Heart Tunnel Particles Background 10 hours | HD Vj loop Disco Pink and Purple 2024, Iulie
Anonim
Image
Image
Animated Mood Light & Night Light
Animated Mood Light & Night Light
Animated Mood Light & Night Light
Animated Mood Light & Night Light
Animated Mood Light & Night Light
Animated Mood Light & Night Light

Având o fascinație care limitează obsesia cu lumina, am decis să creez o selecție de mici PCB modulare care ar putea fi utilizate pentru a crea afișaje de lumină RGB de orice dimensiune. După ce am realizat PCB-ul modular, m-am împiedicat de ideea de a le aranja într-un hexagon pentru a crea un afișaj 3D care ar putea fi folosit pentru a crea orice, de la o simplă lumină de noapte din dormitor la o lumină de dispoziție care nu ar fi prea deplasată așezată pe o masă într-un restaurant de lux.

Desigur, ar putea fi create și alte forme folosind aceleași principii.

Iată câteva dintre animațiile care rulează în prezent pe lumină.

  • Foc
  • Ploaie
  • Șarpe (Retro)
  • Jocul vieții
  • Oscilații de formă de undă
  • Far
  • Modele de filare (Frizerie)

Lumina este creată în prezent în două dimensiuni - Mici (96 LED-uri) și Mari (384 LED-uri), dar aceasta poate fi mărită la nevoie.

Provizii

LED-uri WS2812B - AliExpress

PCB - ALLPCB

Plastic negru de 3 mm tăiat cu laser - Furnizor de foi de plastic

Filament de imprimare 3D alb - Amazon

Componente electronice - Farnell / Newark

Șuruburi M3 și distanțieri filetate - Amazon

Ciocan de lipit

Cuptor pentru prăjitor de pâine - Ansamblu de componente de montare pe suprafață

Pasul 1: Panouri PCB

Panouri PCB
Panouri PCB
Panouri PCB
Panouri PCB
Panouri PCB
Panouri PCB

Începând călătoria, am dorit o serie de PCB-uri mici care să poată găzdui un număr de pixeli LED și să fie unite într-un mod foarte simplu, fără a fi nevoie de fire sau conectori suplimentari. Am venit cu un design foarte simplu, care permitea conectarea LED-urilor WS2812B și apoi trecerea lanțului către următorul PCB.

Am creat trei PCB-uri cu următoarele dimensiuni de pixeli.

  • 1 x 8 - 9mm x 72mm
  • 4 x 4 - 36mm x 36mm
  • 8 x 8 - 72mm x 72mm

Pentru acest proiect, numai plăcile 4x4 și 8x8 sunt utilizate pentru a crea luminile.

LED-urile sunt aranjate într-o rețea de 9 mm atât în dimensiunile X, cât și Y, care este destul de strâns, dar oferă suficient spațiu pentru a lucra atunci când se iau în considerare conectorii de margine PCB. PCB-urile sunt create astfel încât, atunci când sunt îmbinate, rețeaua LED de 9 mm să fie menținută. PCB-urile sunt pur și simplu conectate între ele prin lipire care curge de la o placă la alta.

Fiecare LED are propriul condensator 100nF pentru decuplarea electrică și pentru a ajuta la furnizarea curentului la cerere.

Afișat este schema pentru placa de 4x4 pixeli completată cu straturile superioare de cupru și de cupru inferior pentru a ilustra atât aspectul LED-ului, cât și aspectul conectorului de margine. Marcajele au fost adăugate pe ecranul de mătase pentru a face evidentă direcția transferului de date între conectori.

Plăcile au, de asemenea, găuri de montare M3 pe un pas de 18 mm cu 18 mm pentru a simplifica montarea și pentru a consolida conexiunile între plăci.

Adăugarea unei foi de acrilic de 3 mm, tăiată cu laser, alb ca laptele, așa cum se arată, oferă un efect difuz frumos LED-urilor.

Plăcile au fost fabricate prin aplicarea pastei de lipit pe plăcile inferioare de montare de suprafață din cupru folosind un șablon. Apoi am așezat componentele pe tablă verificând orientarea corectă înainte de a coace în cuptorul meu pentru a curge lipirea. Am acoperit acest tip de fabricație de PCB cu cost redus DIY în câteva dintre celelalte versiuni ale mele Instructables.

Avertisment - NU UTILIZAȚI niciun cuptor care este folosit pentru a găti PCB-uri, deoarece acest lucru poate duce la alimente contaminate. Mi-am luat cuptorul cu prăjitor de pâine pentru 10 GBP (15 USD) pe eBay.

Pasul 2: Controlați PCB-ul

Control PCB
Control PCB
Control PCB
Control PCB
Control PCB
Control PCB

Cu LED-urile terminate, am dorit apoi capacitatea de a controla LED-urile de la un microcontroler. Am început să folosesc un nano Arduino și acest lucru a funcționat excelent, dar am vrut să adaug ceva mai multă funcționalitate luminii și acest lucru a devenit din ce în ce mai incomod pentru a hack pe placa Arduino. Prin urmare, am decis să creez un alt PCB personalizat pentru a conduce lumina.

Iată câteva dintre caracteristicile pe care le-am adăugat la placa controlerului meu.

  • Microcontroler cu viteză mai mare, cu mai multe ROM și RAM.
  • Nivel logic FET pentru a-mi permite să pornesc și să sting LED-urile la nivel global - util la pornire și pentru o funcționare cu putere redusă.
  • Tampon de mare viteză pentru a converti semnalul 3V3 de la microcontroler în 5V pentru a conduce LED-urile.
  • Comutați pentru a permite utilizatorului să controleze lumina.
  • Photo Transistor - pentru a scala luminozitatea LED-urilor pentru a se potrivi cu nivelurile de lumină ambientală.
  • Monitorizarea sursei de alimentare - pentru a ne asigura că nu am încercat să tragem mai mult curent decât poate furniza sursa de alimentare.
  • Conector Bluetooth - HC05 / HC06.
  • Conector WIFI - ESP8266.
  • Conector I2C.
  • Conector de expansiune viitor.

Este prezentată schema pentru tablă, precum și straturile superioare și inferioare de cupru. Documentul atașat BillOfMaterials listează componentele pe care le-am montat pe placa de control.

Un senzor de lumină este destul de important pentru design, deoarece luminozitatea LED-urilor WS2812B poate obține foarte repede prea mult de privit și chiar dureroasă la luminozitate maximă. Având un senzor de lumină, luminozitatea LED-ului poate scădea automat, ceea ce înseamnă că afișajul este întotdeauna plăcut. Viu într-o cameră luminoasă luminată de soare și totuși încă confortabil de privit ca o lumină de noapte într-o cameră întunecată.

Din nou pentru a construi placa, pasta de lipit a fost aplicată folosind un șablon, componente plasate manual cu pensete și apoi coapte în cuptorul meu de pâine prăjit.

PCB-ul este alimentat printr-o sursă de curent continuu de 5V, acesta poate proveni fie direct de la o sursă de alimentare de tip rețea, fie printr-o priză de încărcare USB 2A.

De asemenea, este prezentată încercarea mea anterioară de a folosi un Arduino.

Pasul 3: schelet 3D imprimat

Schelet imprimat 3D
Schelet imprimat 3D
Schelet imprimat 3D
Schelet imprimat 3D
Schelet imprimat 3D
Schelet imprimat 3D

Am jucat inițial folosind foi de plastic tăiate cu laser ca difuzoare, dar acest lucru a lăsat un spațiu destul de urât între fiecare dintre panouri. Am sfârșit prin imprimarea 3D a difuzorului înconjurător, deoarece acest lucru mi-a permis să creez o învelitoare fără sudură frumoasă pentru cele șase PCB-uri LED. De asemenea, mi-a permis să scad considerabil grosimea difuzorului, ceea ce oferă un afișaj general mult mai clar.

În interior, cele șase PCB-uri LED sunt ținute împreună folosind un schelet imprimat 3D. Acest schelet intră în diferitele găuri M3 de pe PCB-urile afișajului, ținându-le într-un model hexagonal frumos.

Scheletul imprimat 3D prezintă, de asemenea, găuri pentru a permite montarea PCB-ului de control aproape de panoul superior tăiat cu laser, permițând accesul comutatorului și senzorului de lumină pentru a obține o citire bună a nivelului de lumină ambientală.

Cu plăcile în poziție între schelet și difuzor, pot apoi să lipesc ușor plăcile împreună prin sudarea curentă între plăcile de conectare PCB. Încep prin a adăuga lipire la cel mai îndepărtat tampon și apoi rotesc lumina de pe marginea acestuia pentru a permite gravitației să ajute cu actul de a curge lipirea pe tamponul adiacent. Repetați pentru cele trei conexiuni și apoi treceți la următoarea placă pentru conexiunea la placă. La a șasea îmbinare între PCB-uri atașez numai șinele de alimentare și de masă, lăsând conexiunea de date neconectată. Aceasta oferă două căi circulare de curent pentru fiecare placă pentru a-și colecta puterea, similar cu modul în care funcționează un inel principal pentru cablarea rețelei interne a casei.

De asemenea, folosind imprimanta 3D sunt unele distanțieri pentru a permite menținerea frumosă a panourilor tăiate cu laser în partea superioară și inferioară.

Fișierele imprimantei 3D au fost proiectate folosind Sketchup și sursa este atașată.

Pasul 4: Decupare laser sus și jos

Piesele tăiate cu laser sunt forme hexagonale foarte simple, cu găuri în locul potrivit pentru șuruburile de montare.

Panoul superior are o gaură mică pentru senzorul de lumină și o altă gaură mai mare pentru comutatorul de apăsare. În timp ce panoul de jos are o gaură pentru cablul de alimentare USB, precum și două găuri mici pentru a permite utilizarea unei benzi de legare pentru a oferi o ușurare a cablului.

Desenele pentru aceste părți sunt incluse în fișierul Sketchup la pasul anterior.

Pasul 5: Firmware

Firmware
Firmware
Firmware
Firmware

Am ales dispozitivul PIC24FJ256GA702 ca microcontroler principal, deoarece funcționează destul de repede la 32MHz folosind oscilatorul său intern și are tone de memorie de program și RAM disponibile pentru a crea animații frumoase.

Pentru a dezvolta firmware-ul am folosit Flowcode, deoarece mi-a permis să simulez și să depanez codul pe măsură ce mergeam, ceea ce a contribuit la producerea unui cod eficient și frumos, care rulează la viteză mare. Flowcode este disponibil gratuit deblocat complet timp de 30 de zile și după aceea puteți alege să cumpărați sau pur și simplu să vă înscrieți din nou la încercare. De asemenea, are o comunitate online drăguță, care este dispusă să participe și să ajute în cazul în care lovesc orice zid pe parcurs. Spunând acest lucru, tot software-ul ar putea fi realizat folosind Arduino IDE sau similar, ați pierde abilitatea de a simula.

Am folosit un PICkit 3 pentru a programa PIC-ul de pe placa mea de control. Acesta poate fi integrat în Flowcode, astfel încât să compileze și să programeze prin PICkit cu un singur clic de mouse, similar cu butonul de descărcare din Arduino.

Microcontrolerul pe care l-am ales nu avea EEPROM la bord, ceea ce inițial era o problemă, deoarece am vrut să salvez modul de animație selectat în prezent. Cu toate acestea, avea memorie flash programabilă de utilizator și așa că am reușit să realizez această funcționalitate într-un mod giratoriu.

Programul Flowcode pe care l-am creat este atașat. Fereastra de proprietăți vă permite să selectați dimensiunea plăcii de afișare utilizate. adică 4x4 sau 8x8 și acest lucru stabilește o încărcătură de parametri, cum ar fi numărul de LED-uri etc., care apoi conduc diversele animații, astfel încât un program să poată fi utilizat pe ambele dimensiuni de afișare.

Interfața cu utilizatorul pentru lumină este destul de simplă. Apăsați comutatorul mai puțin de trei secunde și lumina trece la modul următor. Înainte ca fiecare mod să înceapă, indicele de mod este afișat pe fiecare panou cu LED-uri. Apăsați comutatorul mai mult de trei secunde și lumina se stinge. O altă apăsare a comutatorului va readuce lumina înapoi și în modul selectat anterior. O pierdere de energie a luminii va duce la reluarea funcționării curente a luminii la restabilirea alimentării, inclusiv la starea de pornire / oprire.

Iată diferitele moduri de animație pe care lumina le poate face în prezent cu firmware-ul actual.

  1. Frotiu de culoare - Culori amestecate în inele
  2. Jocul vieții - Simulare bazată pe formă de viață
  3. Modele de filare - Modele animate de 2, 3 sau 4 culori
  4. Generator de unde - unde sinusoidale colorate
  5. Culoare fixă - Șase panouri individuale de culoare rotitoare
  6. Umbra - Culori animate ale panoului Toate / Individual
  7. Far - Panou unic rotativ
  8. Inele - Inele orizontale animate
  9. Foc - Efect de foc animat
  10. Ploaie - Efect de ploaie colorat animat
  11. Focuri de artificii - Efect de foc de artificii colorat animat
  12. Shifting - Efect de derulare animat
  13. Șarpe - Lupte de șarpe retro animate
  14. Șerpi - Șerpi rotativi animați
  15. Aleator - Moduri 1-14 cu tranziție lentă (aproximativ 60 de secunde)
  16. Aleator - Modurile 1-14 cu tranziție rapidă (aproximativ 30 de secunde)

Fiecare mod are unul sau mai multe elemente randomizate, inclusiv viteza animației și alți parametri. Unele moduri prezintă, de asemenea, elemente randomizate care pot deriva sau varia în timp, permițând animații mai dinamice. De exemplu, focul are o cantitate aleatorie de combustibil care se adaugă la fiecare ciclu, această cantitate are limite superioare și inferioare fixe. În timp, aceste limite pot crește sau scădea, permițând intensității focului să umple afișajul sau să se scufunde doar la câțiva pixeli de jos.

Pasul 6: Conectivitate

Conectivitate
Conectivitate
Conectivitate
Conectivitate

Placa de control este conectată la sursa de alimentare utilizând un cablu USB A sau un cablu de priză DC, ambele putând fi cumpărate la prețuri foarte mici de pe site-uri precum eBay.

Placa de control este conectată la mufa IN neconectată a plăcii de afișare utilizând un conector de margine accesibil și un cablu servo cu bandă servo cu 3 căi.

Plăcile tăiate cu laser de sus și de jos sunt menținute apoi în poziție folosind șuruburi M3 și capul filetat M3.

Actualizări viitoare

Având opțiunea de a adăuga Bluetooth și WIFI la placa mea de control permite actualizări viitoare, cum ar fi actualizări de animație și integrare inteligentă cu lucruri precum Amazon Alexa, prin servicii online, cum ar fi ITTT. Este un lucru pe care îl cercetez în prezent.

Ar fi frumos să puteți seta culoarea lămpii, modul animație sau chiar să afișați un mesaj text doar vorbind cu asistentul dvs. inteligent.

Vă mulțumesc că m-ați uitat la versiunea mea și sper că v-am inspirat să urmați urmele mele sau să creați ceva similar.

Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire

Locul doi în concursul Make it Glow

Recomandat: