Sisällysluettelo:
- Vaihe 1: Vaahtokortti, akku ja virtakytkin
- Vaihe 2: Mikro -ohjain ja piiri
- Vaihe 3: Kuituoptiset valot
- Vaihe 4: Ohjelmointi
- Vaihe 5: Lopputuote
Video: Kuituoptiset valot kankaalle: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tämä projekti lisää ainutlaatuisen spinin normaalille kankaalle. Ohjelmoin neljään eri valaistustilaan, mutta voit helposti lisätä lisää. Tila vaihtuu aina, kun kytket sen pois päältä ja uudelleen päälle sen sijaan, että sinulla olisi erillinen painike kehyksen vaurioitumisen minimoimiseksi. Paristojen pitäisi kestää yli 50 tuntia käyttöä - en ole aivan varma, mutta tein samanlaisen projektin ystävälleni ja se käytti 5 kertaa enemmän valoja ja on kestänyt yli 20 tuntia yhdellä paristosarjalla.
Materiaalit
- Kangaskuva, jossa on toimiva tila - tilasin omani osoitteesta https://www.easycanvasprints.com, koska niillä oli hyvät hinnat ja avoin selkä. Paksumpi 1,5 tuuman runko oli täydellinen ja antoi minulle paljon tilaa taivuttaa kuituoptisia säikeitä. Lisäksi haluat kuvan, joka antaa sinulle 3 x 8 tuumaa toimivaa tilaa akulle ja mikro- ja LED -nauhoille
- LED -nauhat - Käytin osoitettavia WS2812 LED -nauhoja. Älä pelkää, ne ovat todella helppokäyttöisiä FastLED- tai Neopixel -kirjastojen kanssa! Voit myös käyttää mitä tahansa tavallista LED -nauhaa, et vain voi ohjata jokaista valo -osaa erikseen ilman paljon enemmän johdotusta.
- Mikrokontrolleri - Käytin Arduino Unoa, mutta voit käyttää melkein mitä tahansa tähän projektiin.
- Akkupaketti - tilasin tämän eBaysta (Kiinasta) ja sen otsikko oli "6 x 1,5 V AA 2A CELL -paristopidike"
- Kuituoptiset säikeet - jälleen kerran tilattu Kiinasta eBaysta - "PMMA Plastic Fiber Optic Cable End Grow Led Light DIY Decor" tai "PMMA End Glow Fiber Optic Cable for Star Ceiling Light Kit". Käytin kokoja 1 mm ja 1,5 mm, suosittelen käyttämään sitä pienempiä.
- On/Off -kytkin - "SPDT On/On 2 -asentoiset pienoiskytkimet"
- Johdon järjestämispidikkeet - Nämä auttavat pitämään kuituoptiset säikeet kauniina ja siistinä.
- Vaahtolevy, kiinteä ydinliitinjohto, kutisteputki
Työkalut
- Dremel - käytetään virtakytkimen sijoittamiseen kuvakehykseen. Tämä voidaan ehkä saavuttaa poralla ja todella isolla bitillä, mutta en suosittele sitä.
- Juotosrauta - johtojen kiinnittäminen LED -nauhaan
- Kuuma liimapistooli - kirjaimellisesti tämän projektin jokaisessa vaiheessa
- Suuri ompeluneula - reikien lyömiseen kankaan ja valopöydän läpi
Vaihe 1: Vaahtokortti, akku ja virtakytkin
Ennen kaikkea muuta sinun on kiinnitettävä vaahtomuovilevy kangaskuvion takaosaan. Tämä antaa meille mukavan kiinteän pinnan kiinnittää kaikki muu ja auttaa pitämään kuituoptiset säikeet paikallaan. Käytä leikkuuveitsellä tai laatikkoleikkurilla vain leikataksesi vaahtomuovilevyn palan oikeaan kokoon ja liimalla se kuumalla liimalla moniin paikkoihin. Suosittelen mustan vaahtomuovilevyn käyttöä, jotta se ei päästä niin paljon valoa läpi.
Käytin dremel -terää, joka näyttää normaalilta poranterältä, mutta on todella hyvä materiaalin poistamiseen. Se on yksi palasista, jotka pitäisi tulla minkä tahansa dremelin mukana. Käytä paineilmapurkkia päästäksesi eroon dremelin sahanpurusta.
Kuuma liima kaikki paikalleen. Varmista, että akku on kiinnitetty hyvin, koska se vaatii hyvää voimaa akun asettamiseen/poistamiseen etkä halua, että akun pidike menee minnekään.
Vaihe 2: Mikro -ohjain ja piiri
Laitoin virtakytkimen Arduino UNO: n eteen, jotta kun kytket kytkimen, mikään ei käytä akkujen virtaa. Tämän pitäisi auttaa paristoja kestämään mahdollisimman pitkään, kun projektia ei ole kytketty päälle. Arduino -levyt ovat tunnetusti huonoja virranhallinnassa - ne käyttävät paljon virtaa, jos ne on kytketty päälle, vaikka ne eivät tee aktiivisesti mitään.
Liitä akun positiivinen pää mikro-ohjaimen VIN-jännitteeseen (jännitetulo) niin, että se käyttää ohjaimen sisäänrakennettua jännitesäädintä saadakseen tarvittavan 5 V: n jännitteen. Jos saisimme enemmän valoja käyttöön, meidän on ehkä käytettävä omaa jännitesäädintä, mutta UNO: n pitäisi pystyä käsittelemään 5 LEDiä.
Käytin datan ulostulon ja LED -nauhan välistä vastusta tasoittaaksesi signaalin - ilman vastusta saatat satunnaisesti välähtää pikseliä. Vastuksen koolla ei ole oikeastaan väliä, mitään 50Ω ja 400Ω välillä pitäisi toimia.
Vaihe 3: Kuituoptiset valot
Yrittämisen ja erehdyksen jälkeen löysin lopulta hyvän tavan saada kuituoptiset säikeet kankaalle.
- Käytä suurinta ompeluneulaa, jonka sinun on pistettävä reikä kankaan ja vaahtomuovilevyn eteen. Suosittelen työntämään jokaisen haluamasi reiän heti alussa, jotta voit kääntää sen ympäri ja nähdä, mihin voit/et voi laittaa kaapelijärjestelmän leikkeitä
- Ota pari neulakärkistä pihdit ja tartu kuituoptiseen säikeeseen alle senttimetrin päähän
- Työnnä valokuitulanka neulan avulla tekemäsi reiän läpi
- Vie lanka erilaisten muovikiinnittimien läpi sinne, missä se on hieman pidempi kuin on tarpeen - leikataan se myöhemmin
- Kun kuuma liimapistooli on alhaisella lämpötila -asetuksella (jos se on mahdollista), laita tippa kuumaa liimaa kuituoptiseen säikeeseen, jossa se työntyy vaahtolevyn läpi. Vaihtoehtoisesti voit käyttää sinistä tahmeaa tavaraa. Kuuma liima muuttaa muotoa hieman, mutta se ei näytä häiritsevän optisia ominaisuuksia liikaa
- Leikkaa lanka hiukan pois kankaasta lankaleikkureilla.
Prosessin nopeuttamiseksi voit työntää monet kuidut peräkkäin ennen kuumaliiman tekemistä. Niiden pitäisi yleensä pysyä paikallaan yksin.
Varo, ettet katkaise tai rypistä kuituoptisia säikeitä pöydällä - ne katkeavat ja jos se tekee säikeestä liian lyhyen, olet surullinen ja joudut tekemään sen uudelleen. Käytä akkua vastapainona, jotta kuvakehys on alle puolet pöydällä.
Koska käytin valkoista vaahtolevyä mustan sijasta, valoa loisti paljon, kun LEDit olivat päällä. Korjaukseksi teipasin alumiinifolion valojen ja kankaan väliin.
Käytä kutisteletkuja pitääksesi kaikki kuituoptiset säikeet yhdessä.
- Leikkaa nipun säikeet suunnilleen samanpituisiksi
- Vie osa lämpökutistusletkun läpi
- Käytä kutistamiseen lämpöpistoolia tai juotosrautaa. Jos käytät juotosrautaa, anna silitysraudan sivun koskettaa kevyesti letkua ja se kutistuu. Sen ei pitäisi sulattaa letkua, koska se on suunniteltu pienelle lämmölle.
Lopulta käytin kuumaliimaa kiinnittämään nipun pään jokaiseen LED -valoon. Käytin paljon kuumaa liimaa niin, että kuidut todella saivat valoa jokaisesta punaisesta/vihreästä/sinisestä diodista valossa - kun kuidut ovat todella lähellä valoa, "valkoinen" väri (joka on itse asiassa punainen ja vihreä ja sininen) sitten jotkut kuidut ovat vain punaisia ja jotkut ovat vihreitä sen sijaan, että kaikki olisivat valkoisia. Tätä voitaisiin parantaa käyttämällä paperia tai jotain muuta sen levittämiseen, mutta kuuma liima toimi minulle tarpeeksi hyvin.
Vaihe 4: Ohjelmointi
Tämän ohjelmoinnissa käytin kolminkertaisia kirjastoja
FastLED - loistava kirjasto WS2812 -LED -nauhojen (ja monien muiden osoitettavien LED -nauhojen) ohjaamiseen -
Arduino Low Power - En tiedä kuinka paljon virtaa tämä todella säästää, mutta se oli erittäin helppo toteuttaa ja sen pitäisi auttaa säästämään vähän virtaa toiminnossa, joka on vain valkoisia valoja ja viivästyttää sitten ikuisesti.
EEPROM - Käytetään projektin nykyisen tilan lukemiseen/tallentamiseen. Tämä antaa projektille mahdollisuuden lisätä väritilaa aina, kun kytket sen pois päältä ja takaisin päälle, mikä poistaa tarpeen käyttää erillistä painiketta tilan vaihtamiseksi. EEPROM -kirjasto asennetaan aina, kun asennat Arduino IDE: n.
Käytin myös luonnosta jonkun muun asettamien valojen välkkymiseen. Se sytyttää satunnaisesti pikselin perusväristä huippuväriksi ja sitten takaisin alas. https://gist.github.com/kriegsman/88954aae22b03a66… (se käyttää myös FastLED -kirjastoa)
Käytin myös Visual Studion vMicro -laajennusta - tämä on Arduino IDE: n vahvistettu versio. Siinä on paljon hyödyllisiä automaattisen täydennyksen toimintoja ja se korostaa koodisi ongelmia ilman, että sinun tarvitsee kääntää sitä. Se maksaa 15 dollaria, mutta on niin sen arvoista, jos aiot tehdä useamman kuin yhden Arduino -projektin, ja se pakottaa sinut oppimaan Visual Studiosta, joka on erittäin tehokas ohjelma.
(Liitän myös koodin.ino -tiedoston, koska Github Gistin opastettava isännöinti tuhoaa paljon tiedoston tyhjiä kohtia)
Arduino -koodi, joka käyttää 4 väritilaa Arduino UNO: ssa joillekin WS2812B -LED -nauhavaloille FastLED -kirjaston avulla
#sisältää |
#sisältää |
#sisältää |
// FastLED -asennus |
#defineNUM_LEDS4 |
#definePIN3 // LED -nauhan datatappi |
CRGB -ledit [NUM_LEDS]; |
// Twinkle -asetukset |
#defineBASE_COLORCRGB (2, 2, 2) // Perus taustaväri |
#definePEAK_COLORCRGB (255, 255, 255) // Huippuvärit tuikkivat |
// Määrä värin lisäämiseksi jokaisella silmukalla kirkkaammaksi: |
#defineDELTA_COLOR_UPCRGB (4, 4, 4) |
// Vähennä väriä kunkin silmukan mukaan, kun se himmenee: |
#defineDELTA_COLOR_DOWNCRGB (4, 4, 4) |
// Jokaisen pikselin mahdollisuus alkaa kirkastua. |
// 1 tai 2 = muutama kirkastuva pikseli kerrallaan. |
// 10 = paljon pikseliä kirkastuu kerrallaan. |
#defineCHANCE_OF_TWINKLE2 |
enum {SteadyDim, GettingBrighter, GettingDimmerAgain}; |
uint8_t PixelState [NUM_LEDS]; |
tavu runMode; |
tavu globalBright = 150; |
tavu globalDelay = 20; // Vilkkumisen viive |
tavuosoite = 35; // Käyntitilan tallennusosoite |
voidsetup () |
{ |
FastLED.addLeds (ledit, NUM_LEDS); |
FastLED.setCorrection (tyypillinenLEDStrip); |
//FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); |
FastLED.setBrightness (globalBright); |
// Hanki tila suoritettavaksi |
runMode = EEPROM.read (osoite); |
// Lisää käyntitilaa 1 |
EEPROM.write (osoite, runMode + 1); |
} |
voidloop () |
{ |
kytkin (runMode) |
{ |
// Tasainen valkoinen |
case1: fill_solid (ledit, NUM_LEDS, CRGB:: valkoinen); |
FastLED.show (); |
DelayForever (); |
tauko; |
// Vilkkuu aika hitaasti |
tapaus2: FastLED.setBrightness (255); |
globalDelay = 10; |
TwinkleMapPixels (); |
tauko; |
// Vilkkuu nopeasti |
tapaus3: FastLED.setBrightness (150); |
globalDelay = 2; |
TwinkleMapPixels (); |
tauko; |
//Sateenkaari |
tapaus 4: |
RunSateenkaari (); |
tauko; |
// Hakemisto alueen ulkopuolella, palauta se arvoon 2 ja suorita sitten tila 1. |
// Kun arduino käynnistyy uudelleen, se käyttää tilaa 2, mutta toistaiseksi tilaa 1 |
oletus: |
EEPROM.write (osoite, 2); |
runMode = 1; |
tauko; |
} |
} |
voidRunRainbow () |
{ |
tavu *c; |
uint16_t i, j; |
kun taas (totta) |
{ |
for (j = 0; j <256; j ++) {// 1 pyörän kaikkien värien sykli |
(i = 0; i <NUM_LEDS; i ++) { |
c = Pyörä ((((i * 256 / NUM_LEDS) + j) & 255); |
setPixel (i, *c, *(c + 1), *(c + 2)); |
} |
FastLED.show (); |
delay (globalDelay); |
} |
} |
} |
tavu * Pyörä (tavu WheelPos) { |
staattinen tavu c [3]; |
jos (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; |
} |
muu { |
WheelPos -= 170; |
c [0] = 0; |
c [1] = WheelPos * 3; |
c [2] = 255 - WheelPos * 3; |
} |
paluu c; |
} |
voidTwinkleMapPixels () |
{ |
InitPixelStates (); |
kun taas (totta) |
{ |
for (uint16_t i = 0; i <NUM_LEDS; i ++) { |
jos (PixelState == SteadyDim) { |
// tämä pikseli on tällä hetkellä: SteadyDim |
// joten harkitsemme satunnaisesti sen kirkastumista |
jos (satunnainen8 () <CHANCE_OF_TWINKLE) { |
PixelState = GettingBrighter; |
} |
} |
elseif (PixelState == GettingBrighter) { |
// tämä pikseli on tällä hetkellä: GettingBrighter |
// joten jos se on huippuvärissä, vaihda se himmentymään uudelleen |
jos (ledit > = PEAK_COLOR) { |
PixelState = GimmerDimmerAgain; |
} |
muu { |
// muuten kirkastaa vain: |
ledit += DELTA_COLOR_UP; |
} |
} |
muuten {// himmenee jälleen |
// tämä pikseli on tällä hetkellä: GettingDimmerAgain |
// joten jos se on jälleen perusväri, vaihda se tasaiseen himmeyteen |
jos (ledit <= BASE_COLOR) { |
ledit = BASE_COLOR; // palauta tarkka perusväri, jos ylitämme |
PixelState = VakaaDim; |
} |
muu { |
// muuten himmennä sitä vain: |
ledit -= DELTA_COLOR_DOWN; |
} |
} |
} |
FastLED.show (); |
FastLED.delay (globalDelay); |
} |
} |
voidInitPixelStates () |
{ |
memset (PixelState, sizeof (PixelState), SteadyDim); // alustaa kaikki pikselit SteadyDim -muotoon. |
fill_solid (ledit, NUM_LEDS, BASE_COLOR); |
} |
voidDelayForever () |
{ |
kun taas (totta) |
{ |
viive (100); |
LowPower.powerDown (SLEEP_FOREVER, ADC_OFF, BOD_OFF); |
} |
} |
voidshowStrip () { |
FastLED.show (); |
} |
voidsetPixel (int Pixel, tavu punainen, tavu vihreä, tavu sininen) { |
// FastLED |
ledit [Pixel].r = punainen; |
ledit [pikseli].g = vihreä; |
ledit [Pixel].b = sininen; |
} |
katso rawFiberOptic_ClemsonPic.ino, jota isännöi GitHub ❤ kanssa
Vaihe 5: Lopputuote
Ta-da! Toivon, että tämä Instructable innostaa jotakuta muuta tekemään samanlaisen projektin. Se ei todellakaan ollut vaikeaa tehdä, ja olin yllättynyt siitä, että kukaan ei ollut tehnyt sitä ja kirjoittanut siitä perusteellisen ohjeen vielä.
Suositeltava:
Disco -valot RGB: ltä Arduinon avulla TinkerCadissa: 3 vaihetta
Disco -valot RGB: ltä Arduinon käyttäminen TinkerCadissa: Kun olet kytkenyt RGB: n, RGB: n väriä on helppo hallita PWM- tai analogilähdön avulla, Arduinoa varten voit käyttää analogWrite () -napaa nastoissa 3, 5, 6 , 9, 10, 11, A0, A1, A2, A3, A4, A5 (klassisille Arduinolle, jotka käyttävät Atmega328 tai 1
Kuituoptiset laserpuhaltimet: 9 vaihetta (kuvilla)
Kuituoptiset laserpuhaltimet: Mikä on siistiä? Kuituoptiikka. Mikä on viileämpää? Laserit. Mikä on mahtavaa? Palo fanit. Tämä ohje on saanut osittain palotuulettimien ja osittain bionisen ballerinan innoituksen. Jokainen tuuletin on valmistettu viidestä kuituoptisesta sauvasta, jotka kallistustunnistimella valaisee punaiseksi tai keltaiseksi
Kuituoptiset siivet: 24 vaihetta (kuvilla)
Kuituoptiset siivet: Siitä on jo jonkin aikaa, kun olen ryhtynyt lihavaan projektiin, joten kun Joel Ants on a Melonista pyysi minua tekemään pukukappaleen uusien kuituoptisten tuotteidensa lanseerausta varten, hyväksyin sen mielelläni. Käytin hänen edellisen sukupolven taskulamppuaan kuituoptiseen
Mustesuihkutulostus kankaalle: 6 vaihetta (kuvilla)
Mustesuihkutulostus kankaalle: Unohda tulostus jollekin siirtopaperille ja silitä se sitten jonkin kankaan päälle. Pakastinpaperilla voit tulostaa suoraan kankaalle. Kuvaa ei tarvitse kääntää, ja se on nopeampi, halvempi ja tehokkaampi
LED -kuituoptiset Hotwheels -autot: 12 vaihetta
LED -kuituoptiset Hotwheels -autot: Ensimmäisen Instructable -ohjelman jälkeen päätin tehdä paristokäyttöisen LED -auton. Pää & takavalot ovat niin pieniä, että muovisen palo -optiikan käyttö oli ainoa tapa edetä, myös pieni määrä tilaa auton sisällä akkujen pitämiseksi