En aquest article, considerarem alguns efectes molt útils per a l’interior que es poden crear mitjançant tires LED. També parlarem d'algorismes, sobre com els càlculs matemàtics permeten que els LED creïn la il·lusió de calor i confort, és a dir, una flama, una autèntica flama digital.
Tots els codis font que seran analitzats posteriorment poden baixar de la pàgina del projecte autor (AlexGyver).
Primer, tractem e component. A tu mateix fes-ho tu mateix fer tal bellesa a casa Els components següents són obligatoris:
- Controlador per cinta RGB;
- Cinta RGB;
- Alimentació 12V per cinta RGB;
- Arduin® Nano.
Qualsevol de vosaltres podeu descarregar i descarregar el firmware i obtenir la vostra llar digital. Controlarem les tires LED des del microcontrolador, en aquest exemple Arduino Nano.
Comencem per la dimensió més simple i zero: un punt (o tota una cinta de punts).
Es tracta de la tira LED RGB més corrent, que funciona amb 12V i té un control de tres canals per a cada color.
Mitjançant el senyal PWM (el tenim de 8 bits), podeu definir la brillantor de cada color, aconseguint així 16,7 milions de colors i tons. Però ens interessa el foc, o més aviat la seva imitació. Per simular una flama, es va decidir treballar a l’espai de color hsv (color, saturació, brillantor).
Aquests 3 paràmetres permeten obtenir 255 tons bàsics, a més de cada ombra per fer 255 gradacions de saturació, és a dir. barreja amb el color blanc. Bé, el tercer paràmetre és la brillantor, en un llenguatge senzill: una barreja d’ombra amb color negre.
Hi ha diversos algoritmes per convertir un espai hsv convenient a RGB, només cal utilitzar-ne un.
A continuació, heu d’especificar el comportament del foc. Suposem que la resistència a la flama és una quantitat determinada, que en el valor mínim proporciona als LED color vermell saturat i poca lluminositat, i en el màxim valor proporciona un color groc blanc i groc.
Per aconseguir l'efecte flama, hem de fer que aquest valor faci moviments oscilatoris aleatoris, els moviments han de ser aleatoris, però al mateix temps bastant suaus, és a dir, una cosa similar a una llum tremolosa. Després d'aquest valor, respectivament, canviaran el color i la brillantor de la flama al llarg del gradient.
L’autor proposa resoldre aquest problema de la manera següent: hi ha un algorisme de filtratge tan simple, una mitjana de funcionament, que converteix un canvi de valor net en un procés fluix, només un coeficient i un càlcul bastant simple.
La idea és la següent: és necessari, diguem-ne 5 vegades per segon, establir una nova posició aleatòria pel valor del foc, i en algun lloc al voltant de 50 vegades per segon per filtrar aquest valor, canviant-lo gradualment. Com a resultat, es forma un procés aleatori.
En un exemple de la vida real, tot funciona com es pretenia.
Ara hem de traduir el nostre valor al color de la flama segons la llei esmentada anteriorment, i obtenir un foc unidimensional.
La banda LED programada d'aquesta manera es pot amagar, per exemple, a la base de la base o per alguna protuberància. A més, tal cinta pot proporcionar una il·luminació de fons, sembla força interessant i inusual.
També, la cinta es pot enviar al terra des de curta distància, i aconseguir també un efecte força interessant.
I, per descomptat, es pot fer servir un tros de cinta per il·luminar una xemeneia o simular-la. I si traieu el color brillant del groc al taronja, obtindreu una imitació de carbons ardents.
Com que tenim cinta RGB, podem fer qualsevol color de foc per si mateix. Vostè vol verd mort, tan fàcilment!
Necessitem un foc màgicament blau, sense cap problema!
A continuació, instal·leu el programa i els controladors, tal com s’escriu a les instruccions de pàgina del projecte, descarregueu i executeu el firmware.
Al principi, hi ha tots els paràmetres necessaris. Amb la seva ajuda, podeu personalitzar el vostre foc completament, a saber: color, comportament i similars.
De fet, aquesta era la forma més fàcil de fer que la banda LED es “cremés”. Ara vegem exemples més interessants. Per a més treball, necessitareu tira de direcció d’adreces.
Aquesta cinta permet controlar individualment cadascun dels seus LED i inclouen una de 16,7 milions de tons de colors.
Tot està connectat de manera molt senzilla, segons aquest esquema:
No cal controladors, però es recomana una resistència. Podeu prescindir d'ella, però hi ha una possibilitat d'arrencar el primer LED i, si això succeeix, els propers no funcionen.
Amb una il·luminació directa, per exemple, des del sota del sofà, s’obté un excel·lent sofà infernal amb l’efecte de les brases.
També es pot introduir de forma normal una cinta adhesiva perfil lleuger i utilitzar com a element independent de l’interior.
Sembla força bé, d'acord, però encara intentem aconseguir flames individuals.
Deixarem l’algoritme igual. Dividim la cinta en zones d’amplades diferents, cada zona tindrà el seu propi procés aleatori. Per fer aquest procés encara més com una flama real, omplirem les zones des de les vores fins al centre, augmentant gradualment el nostre valor aleatori fins al seu valor actual. També en el procés de "crema", la mida de les zones també hauria de canviar aleatòriament.
Així es veu:
Mirem ara un altre procés aleatori interessant anomenat noise Perlin, que va iniciar Ken Perlin el 1983.
El soroll de Perlin permet crear una distribució aleatòria de la magnitud a qualsevol nombre de dimensions. El conegut filtre de núvol a Photoshop és un exemple de soroll Perlin bidimensional.
Però el soroll tridimensional de Perlin fa possible generar, per exemple, un paisatge muntanyós i generar-lo de forma molt aleatòria i interminable, i al mateix temps pràcticament sense crear càrrega en components de l’ordinador, ja que l’algoritme no és molt costós computacionalment.
El pla d’acció és el següent: primer creem una regió bidimensional de sorolls de Perlin i ens desplaçarem al llarg d’una altra manera, cercant la línia de píxels i sortint-la als LED.
L’algoritme com s’ha esmentat anteriorment no és gaire complicat i Arduino tractar amb tranquil·litat amb ell.El resultat és un efecte tan fresc, el més suau possible, aleatori i ja molt similar a la flama real amb la il·luminació final.
Amb il·luminació directa, es veu així:
Però tots aquests eren algorismes de foc per a una cinta. I què hi ha d’enganxar la cinta en un patró en zig-zag i intentar fer foc bidimensional a la matriu?
Aquestes matrius es poden comprar al xinès. Col·loquem un difusor i un vidre tintat amb pel·lícules automobilístiques per sobre de la matriu, és a dir, es tracta d’una pantalla de resolució ultra-baixa de molta resolució amolida.
Per cert, sembla força realista. Consulteu el vídeo original de l’autor per obtenir més detalls:
Tot això. Gràcies per la vostra atenció. Ens veiem aviat!