Sisukord:
- Samm: vahtplaat, aku ja sisse/välja lüliti
- Samm: mikrokontroller ja vooluring
- 3. samm: fiiberoptilised tuled
- 4. samm: programmeerimine
- Samm: lõpptoode
Video: Kiudoptilised tuled lõuenditrükis: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
See projekt lisab ainulaadse keerutuse tavalisele lõuendiprindile. Programmeerisin neljas erinevas valgustusrežiimis, kuid saate hõlpsalt lisada rohkem. Režiimi muudetakse iga kord, kui selle välja ja uuesti sisse lülitate, selle asemel, et kasutada raami kahjustuste minimeerimiseks eraldi nuppu. Patareid peaksid vastu pidama 50+ tundi - ma pole päris kindel, aga tegin sarnase projekti sõbrale ja see kasutas 5 korda rohkem tulesid ning on ühe patareikomplektiga vastu pidanud 20+ tundi.
Materjalid
- Lõuenditrükk toimiva ruumiga - tellisin oma saidilt https://www.easycanvasprints.com, kuna neil olid head hinnad ja avatud tagakülg. Paksem 1,5 -tolline raam oli täiuslik ja andis mulle palju ruumi kiudoptiliste kiudude painutamiseks. Lisaks soovite pilti, mis annab teile 3 x 8 tolli tööpinda aku ja mikrokontrolleri ning LED -ribade jaoks
- LED -riba tuled - kasutasin adresseeritavaid WS2812 LED -ribasid. Ärge laske end hirmutada, neid on FastLED või Neopixel raamatukogudega tõesti lihtne kasutada! Võite kasutada ka mis tahes tavalist LED -riba, lihtsalt ei saa iga valgusjagu eraldi juhtida ilma palju rohkem juhtmeid.
- Mikrokontroller - kasutasin Arduino Unot, kuid selle projekti jaoks saate kasutada peaaegu kõike.
- Aku - tellisin selle eBayst (Hiinast) ja selle pealkiri oli "6 x 1,5 V AA 2A CELL aku patareide hoidja"
- Kiudoptilised kiud - taaskord Hiinast eBayst tellitud - "PMMA plastkiudoptilise kaabli otsakasv Led Light DIY Decor" või "PMMA End Glow Fiber Optic Cable for Star Ceiling Light Kit". Kasutasin suurusi 1mm ja 1,5mm, tegelikult soovitan kasutada väiksemaid.
- Sisse/välja lüliti - "SPDT sisse/sisse lülitatud 2 positsiooni miniatuursed lülitid"
- Traadi korraldusklambrid - need aitavad hoida kiudoptilisi kiude kenad ja korras.
- Vahtplaat, tahke südamikuga pistikutraat, termokahanevad torud
Tööriistad
- Dremel - kasutatakse pildiraami sisse/välja lülitamiseks. Seda oleks ehk puuri ja tõeliselt suure puuriga võimalik saavutada, aga ma ei soovita seda.
- Jootekolb - juhtmete kinnitamine LED -ribale
- Kuum liimipüstol - sõna otseses mõttes selle projekti iga samm
- Suur õmblusnõel - aukude läbistamiseks läbi lõuendi ja tulede vahtplaadi
Samm: vahtplaat, aku ja sisse/välja lüliti
Enne kõike muud peate lõuendiprindi tagaküljele kinnitama vahtplaadi. See annab meile kena kindla pinna, et kinnitada kõik muu ja aitab hoida kiudoptilisi kiude paigal. Lihtsalt kasutage täppisnuga või karbilõikurit, et lõigata vahtplaadi tükk õige suurusega ja liimida see paljudes kohtades kuumaks. Soovitan kasutada musta vahtplaati, et see ei laseks nii palju valgust läbi voolata.
Kasutasin dremeli otsikut, mis näeb välja nagu tavaline puur, kuid sobib materjali eemaldamiseks suurepäraselt. See on üks bittidest, mis peaks iga dremeliga kaasas olema. Dremeli saepurust vabanemiseks kasutage purk suruõhku.
Kuum liim kõik oma kohale. Veenduge, et aku oleks väga hästi kinnitatud, kuna see nõuab aku sisestamiseks/eemaldamiseks palju jõudu ja te ei soovi, et akuhoidik kuhugi läheks.
Samm: mikrokontroller ja vooluring
Panin toitelüliti Arduino UNO ette, nii et kui lülitit sisse lülitate, ei kasuta miski akude energiat. See peaks aitama akudel võimalikult kaua vastu pidada, kui projekt pole sisse lülitatud. Arduino tahvlid on energiahalduses kurikuulsalt halvad - nad kasutavad palju voolu, kui need on sisse lülitatud, isegi kui nad midagi aktiivselt ei tee.
Ühendage aku positiivne ots mikrokontrolleri VIN-i (pingesisendisse) nii, et see kasutaks kontrolleri sisseehitatud pingeregulaatorit vajaliku 5 V pinge alandamiseks. Kui toitaksime rohkem tulesid, peaksime nende jaoks kasutama oma pingeregulaatorit, kuid UNO peaks suutma hakkama saada viie valgusdioodiga.
Kasutasin signaali silumiseks takistit andmesignaali ja LED -riba vahel - ilma takistuseta võite piksleid juhuslikult vilkuda. Takisti suurus pole tegelikult oluline, kõik, mis jääb vahemikku 50Ω ja 400Ω, peaks töötama.
3. samm: fiiberoptilised tuled
Pärast mõningaid katseid ja vigu leidsin lõpuks hea viisi, kuidas kiudoptilised kiud lõuendilt läbi viia.
- Kasutage suurimat õmblusnõela, mille peate lõuendi ja vahtplaadi esiosa sisse torgama. Soovitan kohe alguses kõik soovitud augud sisse lüüa, et saaksite selle ümber pöörata ja näha, kuhu saate/ei saa oma kaabliorganisatsiooni klippe panna
- Võtke paar nõelaninaga tangid ja haarake kiudoptilisest kiust otsast vähem kui sentimeetri kaugusel
- Torgake kiudoptiline kiud läbi nõelaga tehtud augu
- Suunake kiud läbi erinevate plastklambrite sinna, kus see on pisut pikem kui vaja - lõikame selle hiljem
- Kui kuumliimipüstol on madalal temperatuuril (kui see võimalus on olemas), pange tilk kuuma liimi kiudoptilisele kihile, kus see torkab läbi vahtplaadi. Teise võimalusena võite kasutada seda sinist kleepuvat kraami. Kuum liim deformeerib kiudu veidi, kuid tundub, et see ei sega liiga palju optilisi omadusi
- Lõigake niit traatlõikurite abil lõuendist veidi eemale.
Protsessi kiirendamiseks võite enne kuuma liimi tegemist mitu kiudu järjest läbi torgata. Need peaksid üldjuhul oma kohale jääma.
Olge ettevaatlik, et mitte katkestada ega pigistada laual olevaid kiudoptilisi kiude - need lähevad katki ja kui see muudab kiud liiga lühikeseks, olete kurb ja peate selle uuesti tegema. Kasutage akut vastukaaluna, et pildiraam oleks laual vähem kui pool.
Kuna ma kasutasin musta asemel valget vahtplaati, paistis valgusdioodide sisselülitamisel palju valgust. Paranduseks teipisin tulede ja lõuendi vahele alumiiniumfooliumi.
Kasutage termokahanevaid torusid, et hoida iga kiudoptiliste kiudude kimp koos.
- Lõika kimbu jaoks mõeldud kiud umbes sama pikkuseks
- Pange sektsioon läbi termokahaneva toru
- Selle kokkutõmbamiseks kasutage kuumutuspüstolit või jootekolvi. Kui kasutate jootekolvi, laske triikraua küljel kergelt torusid puudutada ja see kahaneb. See ei tohiks torusid sulatada, sest see on mõeldud väikese kuumuse jaoks.
Lõpuks kasutasin kuuma liimi abil kimbu otsa kinnitamiseks iga LED -tule külge. Ma kasutasin palju kuuma liimi, nii et kiud said tegelikult valguse kätte igast punasest/rohelisest/sinisest dioodist - kui kiud on tõepoolest valguse lähedal, siis "valge" värv (mis on tegelikult punane ja roheline ja sinine) siis on mõned kiud lihtsalt punased ja mõned rohelised, selle asemel, et kõik oleksid valged. Seda saaks parandada, kui kasutada selle levitamiseks paberitükki või midagi muud, kuid kuum liim töötas minu jaoks piisavalt hästi.
4. samm: programmeerimine
Selle programmeerimisel kasutasin kolmikraamatuid
FastLED - suurepärane raamatukogu WS2812 LED -ribade (ja paljude teiste adresseeritavate LED -ribade) juhtimiseks -
Arduino Low Power - ma ei tea, kui palju energiat see tegelikult säästab, kuid seda oli ülilihtne rakendada ja see peaks aitama säästa pisikest energiat selle funktsiooni puhul, mis on lihtsalt valged tuled ja viivitab siis igavesti.
EEPROM - kasutatakse projekti praeguse režiimi lugemiseks/salvestamiseks. See võimaldab projektil värvirežiimi suurendada iga kord, kui selle välja ja uuesti sisse lülitate, mis välistab vajaduse režiimi muutmiseks eraldi nupu järele. EEPROMi teek installitakse alati, kui installite Arduino IDE.
Kasutasin ka visandit tulede vilkumiseks, mille keegi teine seadis. See süttib juhuslikult piksli põhivärvist tippvärvini ja seejärel tagasi. https://gist.github.com/kriegsman/88954aae22b03a66… (see kasutab ka FastLED -i kogu)
Kasutasin ka Visual Studio jaoks vMicro pistikprogrammi - see on Arduino IDE võimendatud versioon. Sellel on palju kasulikke automaatse täitmise funktsioone ja see toob esile teie koodi probleemid ilma seda kompileerimata. See maksab 15 dollarit, kuid on seda väärt, kui kavatsete teha rohkem kui ühe Arduino projekti, ja see sunnib teid tundma õppima Visual Studio kohta, mis on ülivõimas programm.
(Lisan ka koodi.ino faili, sest Githubi Gisti juhitav hostimine hävitab palju faili tühje kohti)
Arduino kood, mis töötab Arduino UNO -s 4 värvirežiimi mõnede WS2812B LED -ribatulede jaoks, kasutades FastLED -i teeki
#kaasake |
#kaasake |
#kaasake |
// FastLED -i seadistamine |
#defineNUM_LEDS4 |
#definePIN3 // Andmepulk LED -riba jaoks |
CRGB LED -id [NUM_LEDS]; |
// Twinkle seadistus |
#defineBASE_COLORCRGB (2, 2, 2) // Põhitausta värv |
#definePEAK_COLORCRGB (255, 255, 255) // Värvi tippvärv kuni |
// Summa värvi suurendamiseks iga silmuse võrra heledamaks muutudes: |
#defineDELTA_COLOR_UPCRGB (4, 4, 4) |
// Summa värvi vähendamiseks iga silmuse võrra, kui see muutub hämaraks: |
#defineDELTA_COLOR_DOWNCRGB (4, 4, 4) |
// Võimalus, et iga piksel hakkab heledamaks muutuma. |
// 1 või 2 = paar helendavat pikslit korraga. |
// 10 = palju piksleid heledamaks korraga. |
#defineCHANCE_OF_TWINKLE2 |
enum {SteadyDim, GettingBrighter, GettingDimmerAgain}; |
uint8_t PixelState [NUM_LEDS]; |
bait runMode; |
bait globalBright = 150; |
bait globalDelay = 20; // Viivituskiirus vilkumise jaoks |
baidi aadress = 35; // Käitusrežiimi salvestamise aadress |
voidsetup () |
{ |
FastLED.addLeds (ledid, NUM_LEDS); |
FastLED.setCorrection (tüüpilineLEDStrip); |
//FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); |
FastLED.setBrightness (globalBright); |
// Hangi režiim käivitamiseks |
runMode = EEPROM.read (aadress); |
// Suurendage töörežiimi 1 võrra |
EEPROM.write (aadress, runMode + 1); |
} |
tühjus () |
{ |
lüliti (runMode) |
{ |
// Tahke valge |
case1: fill_solid (ledid, NUM_LEDS, CRGB:: valge); |
FastLED.show (); |
DelayForever (); |
murda; |
// Vilgub aeglaselt |
juhtum2: FastLED.setBrightness (255); |
globalDelay = 10; |
TwinkleMapPixels (); |
murda; |
// Kiirelt särama |
juhtum3: FastLED.setBrightness (150); |
globalDelay = 2; |
TwinkleMapPixels (); |
murda; |
// Vikerkaar |
juhtum 4: |
RunRainbow (); |
murda; |
// Indeks vahemikust väljas, lähtestage see 2 -le ja seejärel käivitage režiim 1. |
// Kui arduino taaskäivitub, käivitab see režiimi 2, kuid praegu käivitage režiimi 1 |
vaikimisi: |
EEPROM.write (aadress, 2); |
runMode = 1; |
murda; |
} |
} |
voidRunRainbow () |
{ |
bait *c; |
uint16_t i, j; |
samas (tõsi) |
{ |
(j = 0; j <256; j ++) {// 1 ratta kõigi värvide tsükkel |
jaoks (i = 0; i <NUM_LEDS; i ++) { |
c = Ratas ((((i * 256 / NUM_LEDS) + j) & 255); |
setPixel (i, *c, *(c + 1), *(c + 2)); |
} |
FastLED.show (); |
viivitus (globalDelay); |
} |
} |
} |
bait * ratas (bait WheelPos) { |
staatiline bait c [3]; |
kui (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; |
} |
tagasitulek c; |
} |
voidTwinkleMapPixels () |
{ |
InitPixelStates (); |
samas (tõsi) |
{ |
jaoks (uint16_t i = 0; i <NUM_LEDS; i ++) { |
kui (PixelState == SteadyDim) { |
// see piksel on praegu: SteadyDim |
// seega kaalume juhuslikult heledamaks muutmist |
kui (juhuslik8 () <CHANCE_OF_TWINKLE) { |
PixelState = GettingBrighter; |
} |
} |
elseif (PixelState == GettingBrighter) { |
// need pikslid on praegu: GettingBrighter |
// nii et kui see on tippvärviga, lülitage see uuesti hämaramaks |
kui (ledid > = PEAK_COLOR) { |
PixelState = GimDimmerAgain; |
} |
muu { |
// muidu heledamaks muudkui: |
ledid += DELTA_COLOR_UP; |
} |
} |
muidu {// läheb jälle tuhmimaks |
// need pikslid on praegu: GettingDimmerAgain |
// nii et kui see on tagasi põhivärvi, lülitage see püsivalt hämaraks |
kui (ledid <= BASE_COLOR) { |
ledid = BASE_COLOR; // lähtestamine täpsele põhivärvile, juhuks, kui pildistame üle |
PixelState = PüsivDim; |
} |
muu { |
// muidu hämardage seda lihtsalt: |
ledid -= DELTA_COLOR_DOWN; |
} |
} |
} |
FastLED.show (); |
FastLED.delay (globalDelay); |
} |
} |
voidInitPixelStates () |
{ |
memset (PixelState, sizeof (PixelState), SteadyDim); // initsialiseeri kõik pikslid SteadyDim -i. |
fill_solid (ledid, NUM_LEDS, BASE_COLOR); |
} |
voidDelayForever () |
{ |
samas (tõsi) |
{ |
viivitus (100); |
LowPower.powerDown (SLEEP_FOREVER, ADC_OFF, BOD_OFF); |
} |
} |
voidshowStrip () { |
FastLED.show (); |
} |
voidsetPixel (int piksel, bait punane, bait roheline, bait sinine) { |
// FastLED |
ledid [Pixel].r = punane; |
LEDid [Pixel].g = roheline; |
ledid [Pixel].b = sinine; |
} |
vaata rawFiberOptic_ClemsonPic.ino, mille hostiks on GitHub ❤
Samm: lõpptoode
Ta-da! Loodan, et see juhendatav inspireerib kedagi teist oma sarnast projekti tegema. Seda polnud tõesti raske teha ja olin üllatunud, et keegi pole seda teinud ja selle kohta veel põhjaliku juhendi kirjutanud.
Soovitan:
Disko tuled RGB -st Arduino kasutamine TinkerCadis: 3 sammu
Disco tuled RGB -lt Arduino kasutamine TinkerCadis: Kui olete RGB -ga ühendatud, on RGB värvi lihtne juhtida, kasutades PWM -väljundit või analoogväljundit, Arduino jaoks saate kasutada nippe 3, 5, 6 analogWrite () , 9, 10, 11, A0, A1, A2, A3, A4, A5 (klassikaliste Arduinode puhul, mis kasutavad Atmega328 või 1
Kiudoptilised laserventilaatorid: 9 sammu (piltidega)
Kiudoptilised laserventilaatorid: mis on lahe? Kiudoptika. Mis on lahedam? Laserid. Mis on vinge? Tule fännid. See juhend oli inspireeritud osaliselt tulefännidest ja osaliselt bioonilisest baleriinist. Iga ventilaator on valmistatud viiest kiudoptilisest vardast, mida kallutusandur valgustab punaseks või kollaseks
Kiudoptilised tiivad: 24 sammu (piltidega)
Kiudoptilised tiivad: juba mõnda aega olen süvenenud lihaprojekti, nii et kui Joel filmist Ants on a Melon palus mul teha oma uute kiudoptiliste toodete turuletoomiseks kostüümitükk, võtsin selle rõõmuga vastu. Kasutasin oma kiudoptilise seadme jaoks tema eelmise põlvkonna taskulampi
Kiudoptilised ja LED -aiavalgustid: 10 sammu (piltidega)
Kiudoptilised ja LED -aiavalgustid: selles projektis kasutatakse valgusdioode ja kiudoptikaid, et valgustada pisike aed, mis on täis lilli, lehti ja rohtu. Karp on valmistatud akrüülplekist, see töötab 9 -voldise akuga ja selle allosas on lükanduks, mis võimaldab hõlpsat juurdepääsu akule. Olen kogunud
LED -kiudoptilised kiirrattad: 12 sammu
LED -kiudoptilised kiirrattad: Pärast esimest juhendamist otsustasin teha patareitoitega LED -auto. Pea & tagatuled on nii väikesed, et ainsaks võimaluseks oli plastikust tuleoptika kasutamine, samuti väike ruum autos akude hoidmiseks