Taula de continguts:
- Pas 1: placa d'escuma, bateria i interruptor d'encès / apagat
- Pas 2: Microcontrolador i circuit
- Pas 3: llums de fibra òptica
- Pas 4: Programació
- Pas 5: producte final
Vídeo: Llums de fibra òptica en tela: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Aquest projecte afegeix un gir únic sobre una impressió de tela estàndard. He programat en 4 modes d’il·luminació diferents, però podeu afegir-ne més fàcilment. El mode es canvia cada vegada que l’apagueu i el torneu a activar en lloc de tenir un botó separat per minimitzar el dany al quadre. Les bateries haurien de durar més de 50 hores d’ús; no estic segur, però vaig fer un projecte similar per a un amic, que feia servir cinc vegades més llums i ha durat més de 20 hores en un sol conjunt de bateries.
Materials
- Impressió de llenços amb espai viable: he demanat el meu a https://www.easycanvasprints.com perquè tenien bons preus i una esquena oberta. El marc de 1,5 "més gruixut era perfecte i em donava molt d'espai per doblegar els fils de fibra òptica. A més, voleu una imatge que us doni 3" per 8 "d'espai viable per a la bateria, el microcontrolador i les tires LED
- Llums de tires LED: he utilitzat tires LED WS2812 adreçables. No us deixeu intimidar, són molt fàcils d’utilitzar amb les biblioteques FastLED o Neopixel. També podeu utilitzar qualsevol tira LED estàndard, ja que no podreu controlar cada secció de llum individualment sense molt més cablejat.
- Microcontrolador: he utilitzat un Arduino Uno, però es pot utilitzar gairebé qualsevol cosa per a aquest projecte.
- Paquet de bateries: el vaig demanar a eBay (de la Xina) i es titulava "Suport de bateries de bateria de 6 x 1,5 V AA 2A CELL"
- Cadenes de fibra òptica (una vegada més, encarregades a la Xina a eBay): "Cable de fibra òptica de plàstic PMMA, decoració de bricolatge amb llum LED" o "Kit de cable de fibra òptica PMMA End Glow per a llum de sostre estrella". He utilitzat mides d’1 mm i 1,5 mm, en realitat recomano utilitzar-ne més petites.
- Interruptor d'encès / apagat - "Interruptors alternadors en miniatura SPDT On / On 2 posicions"
- Clips d'organització de cables: ajuden a mantenir els fils de fibra òptica agradables i ordenats.
- Tauler d'escuma, filferro de connector de nucli sòlid, tubs termoretràctils
Eines
- Dremel: s’utilitza per posar l’interruptor d’encès / apagat al marc de la imatge. Potser això es podria aconseguir amb un trepant i una mica molt gran, però no ho recomano.
- Soldador: fixació de cables a la tira LED
- Pistola de cola calenta: literalment, cada pas d’aquest projecte
- Agulla de cosir gran: per obrir forats a través del llenç i un tauler d'escuma per als llums
Pas 1: placa d'escuma, bateria i interruptor d'encès / apagat
Abans de qualsevol altra cosa, heu d’adjuntar un tros de tauler d’escuma a la part posterior de la tela. Això ens proporciona una superfície sòlida agradable per fixar tota la resta i ajuda a mantenir els fils de fibra òptica al seu lloc. Només cal que utilitzeu un ganivet o un tallador de caixes exacto per tallar un tros de tauler d’escuma de la mida adequada i enganxar-lo en calent a molts llocs. Recomano utilitzar taulers d'escuma negre perquè no permeti que sàpiga tanta llum.
He utilitzat la broca dremel que sembla una broca normal, però en realitat és ideal per treure material. És un dels bits que hauria de venir amb qualsevol dremel. Utilitzeu una llauna d’aire comprimit per desfer-vos de les serradures del dremel.
Pega calenta tot al seu lloc. Assegureu-vos que el paquet de bateries estigui ben connectat perquè requereix una bona força per inserir / treure una bateria i no voleu que el suport de la bateria vagi enlloc.
Pas 2: Microcontrolador i circuit
Vaig posar l’interruptor d’alimentació davant l’Arduino UNO de manera que quan canvieu l’interruptor, res no fa servir l’alimentació de les bateries. Això hauria d’ajudar les bateries a durar el màxim possible quan el projecte no estigui engegat. Les plaques Arduino són notòriament dolentes en la gestió d’energia: utilitzen molta intensitat si estan activades encara que no facin res activament.
Connecteu l'extrem positiu del paquet de bateries al VIN (entrada de tensió) del microcontrolador de manera que utilitzi el regulador de voltatge integrat del controlador per reduir el voltatge fins als 5V que necessita. Si alimentéssim més llums, potser hauríem d’utilitzar el nostre propi regulador de voltatge, però l’ONU hauria de poder manejar 5 LED.
He utilitzat una resistència entre la sortida de dades i la tira LED per suavitzar el senyal, sense la resistència es pot obtenir un parpelleig aleatori de píxels. La mida de la resistència realment no importa, qualsevol cosa entre 50Ω i 400Ω hauria de funcionar.
Pas 3: llums de fibra òptica
Després d'algunes proves i errors, finalment vaig trobar una bona manera de fer passar els fils de fibra òptica a través del llenç.
- Utilitzeu l’agulla de cosir més gran que tingueu per obrir un forat a la part frontal del llenç i del tauler d’escuma. Us recomano ficar tots els forats que vulgueu des del principi perquè pugueu capgirar-lo i veure on podeu o no posar els clips d'organització del cable
- Agafeu un parell d’alicates de nas d’agulla i agafeu la cadena de fibra òptica a menys d’un centímetre de l’extrem
- Introduïu el fil de fibra òptica pel forat que heu fet amb una agulla
- Encaminar el fil a través de diversos clips de plàstic fins on sigui una mica més llarg del necessari; el tallarem més endavant
- Amb la pistola de cola calenta en el paràmetre de BAIXA temperatura (si té aquesta opció), poseu una gota de cola calenta a la cadena de fibra òptica per on es cola a través del tauler d’escuma. Alternativament, podríeu utilitzar aquestes coses de color blau. La cola calenta deforma una mica el fil, però no sembla que s’emboliqui massa amb les qualitats òptiques
- Talleu una mica el fil de la tela amb talladors de filferro.
Per accelerar el procés, podeu ficar moltes fibres seguides abans de fer la cola calenta. En general, haurien de romandre al lloc sols.
Aneu amb compte de no trencar ni aixafar els fils de fibra òptica que hi ha a la taula: es trencaran i, si fa que el fil sigui massa curt, estareu tristos i haureu de refer-lo. Utilitzeu el paquet de bateries com a contrapès perquè pugueu tenir el marc de la imatge a menys de la meitat a l’escriptori.
Com que feia servir taulers d'escuma blanca en lloc de negre, hi havia molta llum que brillava quan els LED estaven engegats. Com a solució, vaig gravar un paper d'alumini entre els llums i el llenç.
Utilitzeu tubs termoretràctils per mantenir junts cada paquet de fils de fibra òptica.
- Talleu els fils del paquet aproximadament de la mateixa longitud
- Col·loqueu la secció a través dels tubs termorretractables
- Utilitzeu una pistola de calor o soldador per reduir-la. Si utilitzeu un soldador, deixeu que el costat del ferro toqui lleugerament el tub i es reduirà. No ha de fondre el tub perquè està dissenyat per a una mica de calor.
Finalment, vaig utilitzar cola calenta per fixar l'extrem del paquet a cada llum LED. Vaig utilitzar molta cola calenta perquè les fibres rebessin llum de cada díode vermell / verd / blau de la llum, quan les fibres estan molt a prop de la llum i tenen un color "blanc" (que en realitat és vermell i verd i blau) llavors algunes fibres només seran vermelles i altres seran verdes, en lloc de ser blanques. Això es podria millorar utilitzant un tros de paper o una altra cosa per difondre-ho, però la cola calenta em va funcionar prou bé.
Pas 4: Programació
En la programació d’això he utilitzat tres biblioteques
FastLED: una gran biblioteca per controlar tires LED WS2812 (i moltes altres tires LED dirigibles) -
Arduino Low Power: no sé quanta energia estalvia en realitat, però va ser molt fàcil d’implementar i hauria d’ajudar a estalviar una mica de potència en la funció que són només llums blanques i que es retarden per sempre.
EEPROM: s’utilitza per llegir / emmagatzemar el mode actual del projecte. Això permet al projecte incrementar el mode de color cada vegada que l’apagueu i el torneu a activar, cosa que elimina la necessitat d’un botó separat per canviar el mode. La biblioteca EEPROM s’instal·la sempre que instal·leu l’Arduino IDE.
També vaig fer servir un esbós per parpellejar els llums que algú va instal·lar. Il·lumina a l’atzar un píxel d’un color base a un color màxim i després torna cap avall. https://gist.github.com/kriegsman/88954aae22b03a66… (també utilitza la biblioteca FastLED)
També he utilitzat el connector vMicro per a Visual Studio: es tracta d’una versió ampliada de l’IDE Arduino. Té un munt de funcions útils d’autocompletar i ressalta problemes al vostre codi sense haver de compilar-lo. Costa 15 dòlars, però val la pena si feu més d’un projecte Arduino i us obligarà a conèixer Visual Studio, que és un programa súper potent.
(També adjunto el fitxer de codi.ino perquè l'allotjament instructiu d'un Github Gist destrueix molts espais en blanc del fitxer)
El codi Arduino que executa 4 modes de color en un Arduino UNO per a algunes llums de tires LED WS2812B mitjançant la biblioteca FastLED
#incloure |
#incloure |
#incloure |
// Configuració FastLED |
# defineNUM_LEDS4 |
# definePIN3 // Pin de dades per a tira LED |
Leds CRGB [NUM_LEDS]; |
// Configuració de Twinkle |
#defineBASE_COLORCRGB (2, 2, 2) // Color de fons base |
#definePEAK_COLORCRGB (255, 255, 255) // Color màxim fins a parpellejar |
// Quantitat per incrementar el color per cada bucle a mesura que es fa més brillant: |
#defineDELTA_COLOR_UPCRGB (4, 4, 4) |
// Quantitat per disminuir el color de cada bucle a mesura que es fa més feble: |
#defineDELTA_COLOR_DOWNCRGB (4, 4, 4) |
// La possibilitat que cada píxel comenci a brillar. |
// 1 o 2 = alguns píxels més brillants alhora. |
// 10 = molts píxels brillant alhora. |
# defineCHANCE_OF_TWINKLE2 |
enum {SteadyDim, GettingBrighter, GettingDimmerAgain}; |
uint8_t PixelState [NUM_LEDS]; |
byte runMode; |
byte globalBright = 150; |
byte globalDelay = 20; // Retardar la velocitat de centelleig |
adreça de byte = 35; // Adreça per emmagatzemar el mode d'execució |
voidsetup () |
{ |
FastLED.addLeds (leds, NUM_LEDS); |
FastLED.setCorrection (TipicLEDStrip); |
//FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); |
FastLED.setBrightness (globalBright); |
// Feu funcionar el mode |
runMode = EEPROM.read (adreça); |
// Incrementeu el mode d'execució en 1 |
EEPROM.write (adreça, runMode + 1); |
} |
voidloop () |
{ |
commutador (runMode) |
{ |
// Blanc sòlid |
cas1: fill_solid (leds, NUM_LEDS, CRGB:: blanc); |
FastLED.show (); |
DelayForever (); |
trencar; |
// Brilla una mica lentament |
cas2: FastLED.setBrightness (255); |
retard global = 10; |
TwinkleMapPixels (); |
trencar; |
// Parpelleja ràpidament |
cas 3: FastLED.setBrightness (150); |
retard global = 2; |
TwinkleMapPixels (); |
trencar; |
// Arc de Sant Martí |
cas 4: |
RunRainbow (); |
trencar; |
// Índex fora de l'abast, restableix-lo a 2 i, a continuació, executa el mode 1. |
// Quan es reiniciï l'arduino, s'executarà el mode 2, però de moment s'executa el mode 1 |
per defecte: |
EEPROM.write (adreça, 2); |
runMode = 1; |
trencar; |
} |
} |
voidRunRainbow () |
{ |
byte * c; |
uint16_t i, j; |
mentre que (cert) |
{ |
for (j = 0; j <256; j ++) {// 1 cicle de tots els colors de la roda |
per a (i = 0; i <NUM_LEDS; i ++) { |
c = Roda (((i * 256 / NUM_LEDS) + j) & 255); |
setPixel (i, * c, * (c + 1), * (c + 2)); |
} |
FastLED.show (); |
endarreriment (retard global); |
} |
} |
} |
byte * Wheel (byte WheelPos) { |
byte estàtic c [3]; |
if (WheelPos <85) { |
c [0] = WheelPos * 3; |
c [1] = 255 - WheelPos * 3; |
c [2] = 0; |
} |
elseif (WheelPos <170) { |
WheelPos - = 85; |
c [0] = 255 - WheelPos * 3; |
c [1] = 0; |
c [2] = WheelPos * 3; |
} |
més { |
WheelPos - = 170; |
c [0] = 0; |
c [1] = WheelPos * 3; |
c [2] = 255 - WheelPos * 3; |
} |
retorn c; |
} |
voidTwinkleMapPixels () |
{ |
InitPixelStates (); |
mentre que (cert) |
{ |
per a (uint16_t i = 0; i <NUM_LEDS; i ++) { |
if (PixelState == SteadyDim) { |
// actualment aquest píxel és: SteadyDim |
// per tant, considerem a l’atzar que comenci a ser més brillant |
if (random8 () <CHANCE_OF_TWINKLE) { |
PixelState = GettingBrighter; |
} |
} |
elseif (PixelState == GettingBrighter) { |
// actualment aquest píxel és: GettingBrighter |
// per tant, si té un color màxim, canvieu-lo per tornar a ser més atenuat |
if (leds > = PEAK_COLOR) { |
PixelState = GettingDimmerAgain; |
} |
més { |
// en cas contrari, seguiu il·luminant-lo: |
leds + = DELTA_COLOR_UP; |
} |
} |
else {// tornar-se a enfosquir |
// actualment aquest píxel és: GettingDimmerAgain |
// Per tant, si torna al color base, canvieu-lo a una tonalitat estable |
if (leds <= BASE_COLOR) { |
leds = BASE_COLOR; // restableix al color base exacte, en cas que superem |
PixelState = SteadyDim; |
} |
més { |
// en cas contrari, continueu reduint-lo: |
leds - = DELTA_COLOR_DOWN; |
} |
} |
} |
FastLED.show (); |
FastLED.delay (globalDelay); |
} |
} |
voidInitPixelStates () |
{ |
memset (PixelState, sizeof (PixelState), SteadyDim); // inicialitza tots els píxels a SteadyDim. |
fill_solid (leds, NUM_LEDS, BASE_COLOR); |
} |
voidDelayForever () |
{ |
mentre que (cert) |
{ |
retard (100); |
LowPower.powerDown (SLEEP_FOREVER, ADC_OFF, BOD_OFF); |
} |
} |
voidshowStrip () { |
FastLED.show (); |
} |
voidsetPixel (int Pixel, byte vermell, byte verd, byte blau) { |
// FastLED |
leds [Pixel].r = vermell; |
leds [Pixel].g = verd; |
leds [Pixel].b = blau; |
} |
visualitza rawFiberOptic_ClemsonPic.ino allotjat amb ❤ per GitHub
Pas 5: producte final
Ta-da! Espero que aquest instructiu inspiri a algú altre a fer el seu propi projecte similar. Realment no va ser difícil de fer i em va sorprendre que ningú ho hagués fet i hagués escrit un detallable documentació al respecte encara.
Recomanat:
Llums de pub anglès per flexió de fibra òptica, il·luminats amb un LED: 4 passos
Llums de pub anglès per flexió de fibra òptica, il·luminats amb un LED: doncs, diguem que voleu que una fibra s’adapti a la forma d’una casa per posar-hi llums de Nadal. O potser voleu pujar per una paret exterior i tenir un angle recte cap a la fibra. Doncs ho podeu fer molt fàcilment
Instal·lació de sostre de fibra òptica reactiva de música: 11 passos (amb imatges)
Instal·lació de sostre de fibra òptica reactiva de música: voleu un tros de galàxia a casa vostra? Esbrineu com es fa a continuació. Durant anys va ser el meu projecte de somni i finalment va acabar. Va trigar força temps a completar-se, però el resultat final va ser tan satisfactori que estic segur que va valer la pena. Una mica de bi
El primer rellotge de vela de fibra òptica del món: 14 passos (amb imatges)
El primer rellotge de vela de fibra òptica del món: vaig decidir fer un regal a la meva dona i volia tenir una idea original. M'ha agradat la idea d'una escultura en moviment i després de moltes deliberacions se'm va ocórrer el concepte d'un rellotge mecànic que brillava i parpellejava amb cristalls, espelmes i
Matriu LED "fibra òptica": 9 passos (amb imatges)
Matriu LED "fibra òptica": en aquest projecte, he creat una "fibra òptica" Matriu de LED que utilitza tires de LED i cintes WS2801. Les pantalles de llum tenen un aspecte diferent dels cubs LED similars i presenten alguns avantatges. En primer lloc, no es poden veure els LED reals a la pantalla perquè
Tela de fibra òptica que canvia el color: 10 passos (amb imatges)
Teixit de fibra òptica que canvia el color: a uns 150 dòlars per jardí i amb moltes limitacions de tall, el teixit de fibra òptica del mercat no és el material més accessible. Però amb el vostre propi filament de fibra òptica, tul i LED, podeu crear el vostre propi en qualsevol forma per a una fracció del primer