Përmbajtje:
- Hapi 1: Bordi i shkumës, Paketa e Baterisë dhe Çelësi i ndezjes/fikjes
- Hapi 2: Mikrokontrolluesi dhe Qarku
- Hapi 3: Dritat me fibër optike
- Hapi 4: Programimi
- Hapi 5: Produkti Përfundimtar
Video: Dritat me fibër optike në Canvas Print: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:17
Ky projekt shton një rrotullim unik në një printim standard të kanavacës. Unë programova në 4 mënyra të ndryshme ndriçimi, por ju lehtë mund të shtoni më shumë. Modaliteti ndryshon sa herë që e fikni dhe ndizni në vend që të keni një buton të veçantë për të minimizuar dëmtimin e kornizës. Bateritë duhet të zgjasin mbi 50 orë përdorim - nuk jam vërtet i sigurt, por kam bërë një projekt të ngjashëm për një mik dhe ka përdorur 5 herë më shumë drita dhe ka zgjatur 20+ orë në një grup të vetëm baterish.
Materiale
- Canvas print me hapësirë të punueshme - e porosita timen nga https://www.easycanvasprints.com sepse kishin çmime të mira dhe shpinë të hapur. Korniza më e trashë 1.5 "ishte e përsosur dhe më dha shumë hapësirë për të përkulur fijet e fibrave optike. Përveç kësaj ju dëshironi një fotografi që ju jep 3" me 8 "hapësirë të punës për paketën e baterisë dhe mikrokontrolluesin dhe shiritat LED
- Dritat e shiritit LED - kam përdorur shirita LED të adresueshëm WS2812. Mos u frikësoni, ato janë vërtet të lehta për t'u përdorur me bibliotekat FastLED ose Neopixel! Ju gjithashtu mund të përdorni çdo shirit standard LED, thjesht nuk do të jeni në gjendje të kontrolloni secilën pjesë të dritës individualisht pa shumë më shumë instalime elektrike.
- Mikrokontrolluesi - Kam përdorur një Arduino Uno, por ju mund të përdorni pothuajse gjithçka për këtë projekt.
- Paketa e baterive - e porosita këtë nga eBay (nga Kina) dhe titullohej "Mbajtës i baterive të baterisë 6 x 1.5V AA 2A CELL"
- Fijet e fibrave optike - edhe një herë, të porositura nga Kina në eBay - "PMMA Plastike Fiber Optic Cable End Grow Led Light DIY Decor" ose "PMMA End Glow Fiber Optic Cable for Star Ceiling Light Kit". Kam përdorur madhësi 1mm dhe 1.5mm, në të vërtetë rekomandoj përdorimin më të vogël se kaq.
- Çelësi i ndezjes/fikjes - "Çelësat SPDT të ndezur/aktivizuar 2 pozicione miniaturë"
- Kapëset e organizimit të telave - Këto ndihmojnë në mbajtjen e fijeve të fibrave optike të këndshme dhe të rregullta.
- Pllakë shkumë, tela lidhës të ngurta me bazë, tuba të tkurrjes së nxehtësisë
Mjetet
- Dremel - përdoret për të futur çelësin e ndezjes/fikjes në kornizën e figurës. Kjo ndoshta mund të arrihet me një stërvitje dhe një pjesë vërtet të madhe, por unë nuk e rekomandoj atë.
- Hekuri i saldimit - bashkimi i telave në shiritin LED
- Armë me zam të nxehtë - fjalë për fjalë çdo hap të këtij projekti
- Gjilpërë e madhe qepëse - për hapjen e vrimave nëpër kanavacë dhe dërrasë shkumë për dritat
Hapi 1: Bordi i shkumës, Paketa e Baterisë dhe Çelësi i ndezjes/fikjes
Para çdo gjëje tjetër ju duhet të bashkëngjitni një copë dërrasë shkumë në pjesën e prapme të printimit të kanavacës. Kjo na jep një sipërfaqe të fortë të fortë për të bashkangjitur gjithçka tjetër dhe ndihmon në mbajtjen e fijeve të fibrave optike në vend. Thjesht përdorni një thikë ose një prestar kuti për të prerë një copë dërrasë shkumë në madhësinë e duhur dhe ngjiteni atë në shumë vende. Unë rekomandoj përdorimin e pllakës së zezë të shkumës në mënyrë që të mos lejojë që të rrjedhë aq shumë dritë.
Kam përdorur pjesën e dremel që duket si një stërvitje normale, por në të vërtetë është e shkëlqyeshme për heqjen e materialit. Oneshtë një nga pjesët që duhet të vijë me çdo dremel. Përdorni një kanaçe me ajër të ngjeshur për të hequr qafe çdo tallash nga dremel.
Ngjiteni nxehtë gjithçka në vend. Sigurohuni që paketa e baterisë është e bashkangjitur shumë mirë sepse kërkon një forcë të mirë për të futur/hequr një bateri dhe nuk doni që mbajtësi i baterisë të shkojë askund.
Hapi 2: Mikrokontrolluesi dhe Qarku
E vendosa çelësin e energjisë para Arduino UNO në mënyrë që kur ta ndërroni çelësin atëherë asgjë nuk po përdor energji nga paketat e baterisë. Kjo duhet të ndihmojë që bateritë të zgjasin sa më gjatë që të jetë e mundur kur projekti nuk është ndezur. Bordet Arduino janë jashtëzakonisht të këqija në menaxhimin e energjisë - ato përdorin shumë rrymë nëse janë ndezur edhe nëse nuk po bëjnë asgjë në mënyrë aktive.
Lidheni skajin pozitiv të paketës së baterisë në VIN (hyrja e tensionit) të mikrokontrolluesit në mënyrë që të përdorë rregullatorin e tensionit të integruar të kontrolluesit për të ulur tensionin në 5V që i nevojitet. Nëse do të ndiznim më shumë drita, mund të na duhet të përdorim rregullatorin tonë të tensionit për to, por UNO duhet të jetë në gjendje të trajtojë 5 LED.
Kam përdorur një rezistencë midis daljes së të dhënave dhe shiritit LED për të zbutur sinjalin - pa rezistencën mund të merrni ndezje të rastësishme të pikselave. Madhësia e rezistencës nuk ka shumë rëndësi, çdo gjë midis 50Ω dhe 400Ω duhet të funksionojë.
Hapi 3: Dritat me fibër optike
Pas disa provave dhe gabimeve unë përfundimisht gjeta një mënyrë të mirë për të kaluar fijet e fibrave optike përmes kanavacës.
- Përdorni gjilpërën më të madhe të qepjes që keni për të hapur një vrimë në pjesën e përparme të kanavacës dhe tabelës së shkumës. Unë rekomandoj të hapni çdo vrimë që dëshironi në fillim, në mënyrë që ta përmbysni dhe të shihni se ku mund/nuk mund t'i vendosni kapëset e organizatës tuaj kabllore
- Merrni një palë pincë me hundë gjilpërë dhe kapni fijen e fibrës optike më pak se një centimetër nga fundi
- Hidhni fijen e fibrës optike përmes vrimës që keni bërë me një gjilpërë
- Kaloni fillesën përmes kapëseve të ndryshme plastike atje ku është pak më e gjatë seç duhet - do ta presim më vonë
- Me armën tuaj të zamit të nxehtë në cilësimin e LOW të temperaturës (nëse e ka atë mundësi) vendosni një pikë zam të nxehtë në fijen e fibrës optike ku futet në tabelën e shkumës. Përndryshe ju mund të përdorni ato gjëra ngjitëse blu. Ngjitësja e nxehtë deformon pak fijen, por nuk duket të ngatërrohet shumë me cilësitë optike
- Pritini fillesën pak larg nga kanavacë duke përdorur hapëse teli.
Për të përshpejtuar procesin, mund të futni shumë fibra me radhë para se të bëni ngjitësin e nxehtë. Ata në përgjithësi duhet të qëndrojnë në vend më vete.
Kini kujdes që të mos thyeni ose copëtoni fijet e fibrave optike në tryezë - ato do të prishen dhe nëse e bën fijen shumë të shkurtër, atëherë do të jeni të trishtuar dhe duhet ta ribërni. Përdorni paketën e baterisë si kundërpeshë në mënyrë që të keni kornizën e figurës më pak se gjysma në tavolinë.
Për shkak se kam përdorur tabelë të bardhë shkumë në vend të zezë, kishte shumë dritë që ndriçonte kur LED ishin ndezur. Si rregullim, ngjita disa fletë alumini midis dritave dhe kanavacës.
Përdorni tuba për tkurrjen e nxehtësisë për të mbajtur së bashku çdo pako fijesh optike.
- Pritini fillesat për paketën në afërsisht të njëjtën gjatësi
- Vendoseni pjesën përmes tubave të tkurrjes së nxehtësisë
- Përdorni një armë ngrohëse ose hekur bashkues për ta zvogëluar atë. Nëse jeni duke përdorur një hekur bashkues, thjesht lini që ana e hekurit të prekë lehtë tubin dhe ai do të tkurret. Nuk duhet të shkrijë tubin sepse është projektuar për pak nxehtësi.
Përfundimisht kam përdorur zam të nxehtë për të bashkuar skajin e paketës në secilën dritë LED. Kam përdorur shumë zam të nxehtë në mënyrë që fibrat të marrin dritë nga çdo diodë e kuqe/jeshile/blu në dritë - kur fibrat janë vërtet afër dritës, një ngjyrë "e bardhë" (e cila në të vërtetë është e kuqe dhe jeshile dhe blu) atëherë disa fibra thjesht do të jenë të kuqe dhe disa do të jenë jeshile, në vend që të gjitha të jenë të bardha. Kjo mund të përmirësohet duke përdorur një copë letër ose diçka tjetër për ta shpërndarë atë, por zamja e nxehtë funksionoi mjaft mirë për mua.
Hapi 4: Programimi
Në programimin e kësaj kam përdorur tre -bibliotekat
FastLED - një bibliotekë e shkëlqyeshme për kontrollin e shiritave LED WS2812 (dhe shumë shirita të tjerë të adresueshëm LED) -
Fuqia e ulët Arduino - Unë nuk e di se sa energji kursen kjo në të vërtetë, por ishte super e lehtë për tu zbatuar dhe duhet të ndihmojë në kursimin e një grimce të vogël të energjisë në funksionin që është vetëm dritat e bardha dhe pastaj të vonohet përgjithmonë.
EEPROM - Përdoret për të lexuar/ruajtur mënyrën aktuale të projektit. Kjo i lejon projektit të rrisë modalitetin e ngjyrave sa herë që e fikni dhe ndizni, gjë që eliminon nevojën e një butoni të veçantë për të ndryshuar modalitetin. Biblioteka EEPROM është e instaluar sa herë që instaloni Arduino IDE.
Kam përdorur gjithashtu një skicë për vezullimin e dritave që dikush tjetër ka vendosur. Ai ndriçon rastësisht një piksel nga një ngjyrë bazë në një ngjyrë kulmore dhe pastaj tërhiqet. https://gist.github.com/kriegsman/88954aae22b03a66… (përdor edhe bibliotekën FastLED)
Kam përdorur gjithashtu shtojcën vMicro për Visual Studio - ky është një version i amplifikuar i Arduino IDE. Ka një numër funksionesh ndihmuese të plotësimit automatik dhe nxjerr në pah problemet në kodin tuaj pa pasur nevojë ta përpiloni atë. Kushton 15 dollarë, por ia vlen nëse do të bëni më shumë se një projekt Arduino dhe do t’ju detyrojë të mësoni rreth Visual Studio i cili është një program super i fuqishëm.
(Unë jam duke i bashkangjitur skedarin.ino sepse kodimi i udhëzueshëm i një Github Gist shkatërron shumë hapësira të zbrazëta në skedar)
Kodi Arduino që ekzekuton 4 mënyra ngjyrash në një Arduino UNO për disa drita të shiritave LED WS2812B duke përdorur bibliotekën FastLED
#përfshi |
#përfshi |
#përfshi |
// Konfigurimi i FastLED |
#përcaktoNUM_LEDS4 |
#definePIN3 // Kodi i të dhënave për shiritin LED |
CRGB udhëheq [NUM_LEDS]; |
// Konfigurimi i vezullimit |
#defineBASE_COLORCRGB (2, 2, 2) // Ngjyra bazë e sfondit |
#definePEAK_COLORCRGB (255, 255, 255) // Ngjyra e pikut për të shkëlqyer deri në |
// Shuma për të rritur ngjyrën me çdo lak ndërsa bëhet më e ndritshme: |
#defineDELTA_COLOR_UPCRGB (4, 4, 4) |
// Shuma për të zvogëluar ngjyrën me çdo lak ndërsa bëhet më e zbehtë: |
#defineDELTA_COLOR_DOWNCRGB (4, 4, 4) |
// Mundësia që çdo piksel të fillojë të ndriçohet. |
// 1 ose 2 = disa piksele ndriçuese në të njëjtën kohë. |
// 10 = shumë piksele që shkëlqejnë në të njëjtën kohë. |
#përcakto CHANCE_OF_TWINKLE2 |
enum {SteadyDim, GettingBrighter, GettingDimmerAgain}; |
uint8_t PixelState [NUM_LEDS]; |
byte runMode; |
byte globalBright = 150; |
byte globalDelay = 20; // Shpejtësia e vonesës për vezullim |
adresa e bajtit = 35; // Adresa për të ruajtur modalitetin e ekzekutimit |
voidsetup () |
{ |
FastLED.addLeds (leds, NUM_LEDS); |
FastLED.setCorrect (TypicalLEDStrip); |
//FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); |
FastLED.setBrightness (globalBright); |
// Merrni modalitetin për të funksionuar |
runMode = EEPROM.read (adresa); |
// Rritni modalitetin e ekzekutimit me 1 |
EEPROM.write (adresa, runMode + 1); |
} |
voidloop () |
{ |
kaloni (runMode) |
{ |
// E bardhë e fortë |
case1: fill_solid (leds, NUM_LEDS, CRGB:: White); |
FastLED.shfaq (); |
DelayForever (); |
pushim; |
// Vezulloj disi ngadalë |
case2: FastLED.setBrightness (255); |
vonesa globale = 10; |
TwinkleMapPixels (); |
pushim; |
// Vezullo shpejt |
case3: FastLED.setBrightness (150); |
vonesa globale = 2; |
TwinkleMapPixels (); |
pushim; |
// Ylber |
rasti 4: |
RunRainbow (); |
pushim; |
// Indeksoni jashtë rrezes, rivendoseni atë në 2 dhe më pas ekzekutoni modalitetin 1. |
// Kur arduino rifillon do të ekzekutojë modalitetin 2, por tani për tani funksionon modalitetin 1 |
parazgjedhje: |
EEPROM.shkruaj (adresa, 2); |
runMode = 1; |
pushim; |
} |
} |
voidRunRainbow () |
{ |
bajt *c; |
uint16_t i, j; |
ndërsa (e vërtetë) |
{ |
për (j = 0; j <256; j ++) {// 1 cikël të të gjitha ngjyrave në timon |
për (i = 0; i <NUM_LEDS; i ++) { |
c = Rrota (((i * 256 / NUM_LEDS) + j) & 255); |
setPixel (i, *c, *(c + 1), *(c + 2)); |
} |
FastLED.shfaq (); |
vonesa (GlobalDelay); |
} |
} |
} |
byte * Rrota (byte WheelPos) { |
bajt statik c [3]; |
nëse (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; |
} |
tjeter { |
WheelPos -= 170; |
c [0] = 0; |
c [1] = WheelPos * 3; |
c [2] = 255 - WheelPos * 3; |
} |
kthimi c; |
} |
voidTwinkleMapPixels () |
{ |
InitPixelStates (); |
ndërsa (e vërtetë) |
{ |
për (uint16_t i = 0; i <NUM_LEDS; i ++) { |
nëse (PixelState == SteadyDim) { |
// këto piksele janë aktualisht: SteadyDim |
// kështu që ne rastësisht e konsiderojmë që të fillojë të bëhet më e ndritshme |
if (random8 () <CHANCE_OF_TWINKLE) { |
PixelState = GettingBrighter; |
} |
} |
elseif (PixelState == GettingBrighter) { |
// këto piksele janë aktualisht: GettingBrighter |
// kështu që nëse është në ngjyrën kulmore, kalojeni në errësim përsëri |
nëse (leds > = PEAK_COLOR) { |
PixelState = GettingDimmerAgain; |
} |
tjeter { |
// përndryshe, thjesht vazhdoni ta ndriçoni atë: |
leds += DELTA_COLOR_UP; |
} |
} |
else {// po errësohet përsëri |
// këto piksele janë aktualisht: GettingDimmerAgain |
// kështu që nëse kthehet në ngjyrën bazë, kalojeni në zbehje të qëndrueshme |
nëse (leds <= BASE_COLOR) { |
leds = BASE_COLOR; // rivendoseni në ngjyrën e saktë bazë, në rast se e tejkalojmë |
PixelState = SteadyDim; |
} |
tjeter { |
// përndryshe, thjesht vazhdoni ta zbehni atë: |
leds -= DELTA_COLOR_DOWN; |
} |
} |
} |
FastLED.shfaq (); |
FastLED.vonesa (vonesa globale); |
} |
} |
voidInitPixelStates () |
{ |
memset (PixelState, sizeof (PixelState), SteadyDim); // inicializoni të gjitha pikselët në SteadyDim. |
mbushur_solid (leds, NUM_LEDS, BASE_COLOR); |
} |
voidDelayForever () |
{ |
ndërsa (e vërtetë) |
{ |
vonesë (100); |
LowPower.powerDown (SLEEP_FOREVER, ADC_OFF, BOD_OFF); |
} |
} |
voidshowStrip () { |
FastLED.shfaq (); |
} |
voidsetPixel (int Pixel, byte e kuqe, byte jeshile, byte blu) { |
// FastLED |
leds [Pixel].r = e kuqe; |
leds [Pixel].g = jeshile; |
leds [Pixel].b = blu; |
} |
shikoni rawFiberOptic_ClemsonPic.ino të pritur me ❤ nga GitHub
Hapi 5: Produkti Përfundimtar
Ta-da! Shpresoj që ky Instructable të frymëzojë dikë tjetër të bëjë projektin e tij të ngjashëm. Me të vërtetë nuk ishte e vështirë për ta bërë dhe unë u befasova që askush nuk e kishte bërë atë dhe nuk kishte shkruar ende një udhëzues të plotë për këtë.
Recommended:
Instalimi i tavanit të yllit me fibër optike muzikore reaktive: 11 hapa (me fotografi)
Instalimi i tavanit të yllit me fibër optike reaktive të muzikës: Dëshironi një pjesë të galaktikës në shtëpinë tuaj? Gjeni se si është bërë më poshtë! Për vite ishte projekti im i ëndrrave dhe më në fund përfundoi. U desh mjaft kohë për të përfunduar, por rezultati përfundimtar ishte aq i kënaqshëm sa që jam i sigurt se ia vlente. Pak bi
Ora e parë e qirinjve me fibër optike në botë: 14 hapa (me fotografi)
Ora e parë e qirinjve me fibër optike në botë: Vendosa t'i bëja dhuratë gruas sime dhe doja të dilja me një ide origjinale. Më pëlqeu ideja e një skulpture lëvizëse dhe pas shumë mendimeve doli me konceptin e një ore mekanike e cila vezulloi dhe shkëlqeu duke përdorur kristale, qirinj dhe
Tifozët me lazer me fibër optike: 9 hapa (me fotografi)
Tifozët me Laser të Fibrës Optike: Çfarë është e lezetshme? Fibra optike. Çfarë është më e ftohtë? Lazer. Çfarë është e mrekullueshme? Tifozët e zjarrit. Ky udhëzues u frymëzua pjesërisht nga tifozët e zjarrit dhe pjesërisht nga balerina bionike. Çdo ventilator është i përbërë nga pesë shufra me fibra optike, të ndriçuara nga sensori i pjerrësisë për të qenë i kuq ose yello
Llambë Dekorimi me Fibër Optike: 11 Hapa
Llamba e Dekorimit me Fibra Optike: hii e bëri këtë llambë dekorative nga një fibër optike të cilën e bleva në ebay disa kohë më parë për projekte të mundshme në të ardhmen kështu që më në fund arrij të bëj diçka prej saj
Pëlhurë me fibër optike që ndryshon ngjyrën: 10 hapa (me fotografi)
Pëlhurë me fibër optike që ndryshon ngjyrën: Me rreth 150 dollarë për oborr dhe me shumë kufizime në prerje, pëlhura me fibra optike në treg nuk është materiali më i arritshëm. Por me filamentin tuaj fibër optik, tyl dhe LED, ju mund të krijoni tuajin në çdo formë për një pjesë të pri