Satura rādītājs:
- 1. darbība: putu dēlis, akumulators un ieslēgšanas/izslēgšanas slēdzis
- 2. solis: mikrokontrolleris un ķēde
- 3. darbība: optiskās šķiedras gaismas
- 4. solis: programmēšana
- 5. solis: galaprodukts
Video: Optisko šķiedru gaismas kanvas drukā: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šis projekts standarta audekla drukai pievieno unikālu griezienu. Es programmēju 4 dažādus apgaismojuma režīmus, bet jūs varētu viegli pievienot vairāk. Režīms tiek mainīts katru reizi, kad to izslēdzat un ieslēdzat, nevis atsevišķa poga, lai samazinātu rāmja bojājumus. Baterijām vajadzētu kalpot vairāk nekā 50 stundas - es neesmu īsti pārliecināts, bet līdzīgu projektu uztaisīju draugam, un tas izmantoja 5 reizes vairāk gaismas un ir izturējis 20+ stundas ar vienu bateriju komplektu.
Materiāli
- Kanvas druka ar darbināmu vietu - es pasūtīju raktuves vietnē https://www.easycanvasprints.com, jo tām bija labas cenas un atvērta aizmugure. Biezāks 1,5 collu rāmis bija ideāls un deva man daudz vietas, lai saliektu optisko šķiedru pavedienus. Turklāt jūs vēlaties attēlu, kas dod jums 3 x 8 collas praktiskas vietas akumulatora blokam un mikrokontrolleram un LED sloksnēm
- LED sloksnes gaismas - es izmantoju adresējamas WS2812 LED sloksnes. Nebaidieties, tos patiešām ir viegli lietot kopā ar FastLED vai Neopixel bibliotēkām! Jūs varētu arī izmantot jebkuru standarta LED sloksni, jūs vienkārši nevarēsit kontrolēt katru gaismas sadaļu atsevišķi, bez daudz vairāk vadu.
- Mikrokontrolleris - Es izmantoju Arduino Uno, bet šim projektam varat izmantot gandrīz jebko.
- Akumulators - es pasūtīju šo no eBay (no Ķīnas), un tā nosaukums bija "6 x 1,5 V AA 2A CELL akumulatoru bateriju turētājs"
- Optiskās šķiedras pavedieni - atkal pasūtīti no Ķīnas eBay - "PMMA plastmasas šķiedru šķiedru kabeļa gala augšanas gaismas DIY dekors" vai "PMMA gala kvēlojošs šķiedru optikas kabelis zvaigžņu griestu gaismas komplektam". Es izmantoju 1 mm un 1,5 mm izmērus, es patiešām iesaku izmantot mazāku par to.
- Ieslēgšanas/izslēgšanas slēdzis - "SPDT ieslēgšanas/ieslēgšanas 2 pozīciju miniatūras pārslēgšanas slēdži"
- Stiepļu organizēšanas skavas - tie palīdz saglabāt optisko šķiedru pavedienus jaukus un sakoptus.
- Putu dēlis, cietā serdeņa savienotāja vads, termiski saraušanās caurule
Rīki
- Dremel - izmanto, lai ieslēgtu/izslēgtu slēdzi attēla rāmī. To varbūt varētu paveikt ar urbjmašīnu un patiešām lielu gabalu, bet es to neiesaku.
- Lodāmurs - vadu piestiprināšana pie LED sloksnes
- Karstās līmes pistole - burtiski katrs šī projekta solis
- Liela šūšanas adata - caurumu izurbšanai caur audeklu un putu dēli gaismekļiem
1. darbība: putu dēlis, akumulators un ieslēgšanas/izslēgšanas slēdzis
Pirms kaut kas cits, jums jāpiestiprina putuplasta plāksnes gabals audekla izdrukas aizmugurē. Tas dod mums jauku cietu virsmu, lai piestiprinātu visu pārējo, un palīdz noturēt optiskās šķiedras pavedienus. Vienkārši izmantojiet precīzo nazi vai kārbas griezēju, lai sagrieztu putu plātnes gabalu pareizajā izmērā un daudzās vietās to karsti pielīmētu. Es iesaku izmantot melnu putu dēli, lai tas neļautu izplūst tik daudz gaismas.
Es izmantoju dremel uzgali, kas izskatās kā parasts urbis, bet patiesībā ir lieliski piemērots materiāla noņemšanai. Tas ir viens no gabaliem, kas būtu jāpievieno jebkuram dremel. Izmantojiet saspiesta gaisa kannu, lai no dremel atbrīvotos no zāģu skaidām.
Karstā līme viss vietā. Pārliecinieties, vai akumulators ir pievienots ļoti labi, jo akumulatora ievietošanai/izņemšanai ir vajadzīgs neliels spēks, un jūs nevēlaties, lai akumulatora turētājs nekur nenokļūtu.
2. solis: mikrokontrolleris un ķēde
Es ievietoju barošanas slēdzi pirms Arduino UNO, lai, pārslēdzot slēdzi, nekas neizmantotu akumulatoru enerģiju. Tam vajadzētu palīdzēt baterijām ilgt pēc iespējas ilgāk, kad projekts nav ieslēgts. Arduino dēļi ir ļoti slikti enerģijas pārvaldībā - tie izmanto daudz strāvas, ja tie ir ieslēgti, pat ja tie neko nedara.
Pievienojiet akumulatora bloka pozitīvo galu mikrokontrollera VIN (sprieguma ievadei), lai tas izmantotu kontrollera iebūvēto sprieguma regulatoru, lai samazinātu spriegumu līdz vajadzīgajam 5 V. Ja mēs darbinātu vairāk gaismas, mums, iespējams, būs jāizmanto savs sprieguma regulators, bet UNO vajadzētu spēt apstrādāt 5 gaismas diodes.
Lai izlīdzinātu signālu, es izmantoju rezistoru starp datu izvadi un LED sloksni - bez rezistora jūs varētu nejauši mirgot pikseļos. Rezistora izmēram nav nozīmes, vajadzētu darboties visam starp 50Ω un 400Ω.
3. darbība: optiskās šķiedras gaismas
Pēc dažiem izmēģinājumiem un kļūdām es beidzot atradu labu veidu, kā caur audeklu iegūt optiskās šķiedras pavedienus.
- Izmantojiet lielāko šūšanas adatu, kas jums jāizdara caurums audekla un putuplasta dēļa priekšpusē. Es iesaku izbāzt katru vēlamo caurumu pašā sākumā, lai jūs varētu to apgriezt un redzēt, kur varat/nevarat ievietot kabeļa organizācijas klipus
- Paņemiet knaibles ar adatām un satveriet optiskās šķiedras pavedienu mazāk nekā centimetru no gala
- Ieduriet optisko šķiedru caurumu caur adatas izveidoto caurumu
- Novietojiet pavedienu caur dažādiem plastmasas skavām līdz vietai, kur tas ir nedaudz garāks nekā nepieciešams - mēs to sagriezīsim vēlāk
- Kad jūsu karstās līmes pistole ir iestatīta uz LOW temperatūras iestatījumu (ja ir tāda iespēja), uzpiliniet karstu līmi uz optiskās šķiedras šķiedras, kur tā izduras caur putuplasta plāksni. Alternatīvi jūs varētu izmantot šo zilo lipīgo lietu. Karstā līme nedaudz deformē šķiedru, taču šķiet, ka tā pārāk daudz netraucē optiskajām īpašībām
- Izgrieziet pavedienu nedaudz prom no audekla, izmantojot stiepļu griezējus.
Lai paātrinātu procesu, pirms karstās līmes pielīmēšanas varat izlaist daudzas šķiedras pēc kārtas. Viņiem parasti vajadzētu palikt patstāvīgi.
Esiet piesardzīgs, lai nesabojātu vai nesaspiestu optiskās šķiedras šķiedras uz galda - tās salūzīs un, ja tas padarīs šķiedru par īsu, jūs būsiet skumji un jums tas būs jādara no jauna. Izmantojiet akumulatoru kā pretsvaru, lai attēla rāmis būtu mazāk par pusi uz galda.
Tā kā melnās krāsas vietā es izmantoju baltu putu plāksni, kad gaismas diodes bija ieslēgtas, gaisma spīdēja daudz. Kā labojumu es ievietoju alumīnija foliju starp gaismām un audeklu.
Izmantojiet saraušanās caurules, lai katrs šķiedru šķiedru saišķis būtu kopā.
- Izgrieziet saišķa pavedienus aptuveni vienāda garuma
- Ielieciet sekciju caur termiski saraušanās cauruli
- Izmantojiet siltuma pistoli vai lodāmuru, lai to samazinātu. Ja izmantojat lodāmuru, vienkārši ļaujiet gludekļa pusei viegli pieskarties caurulei, un tā samazināsies. Tam nevajadzētu izkausēt caurules, jo tas ir paredzēts nelielam siltumam.
Galu galā es izmantoju karstu līmi, lai pievienotu saišķa galu katrai LED gaismai. Es izmantoju daudz karstu līmi, lai šķiedras patiesībā iegūtu gaismu no katras sarkanās/zaļās/zilās diodes gaismā - kad šķiedras patiešām ir tuvu gaismai, ir "balta" krāsa (kas patiesībā ir sarkana un zaļa un zila) tad dažas šķiedras būs tikai sarkanas, bet citas - zaļas, nevis visas būs baltas. To varētu uzlabot, izmantojot papīra gabalu vai ko citu, lai to izkliedētu, bet karstā līme man derēja pietiekami labi.
4. solis: programmēšana
Programmēšanā es izmantoju trīs bibliotēkas
FastLED - lieliska bibliotēka, lai kontrolētu WS2812 LED sloksnes (un daudzas citas adresējamas LED sloksnes) -
Arduino Low Power - Es nezinu, cik daudz enerģijas tas faktiski ietaupa, taču to bija ļoti viegli ieviest, un tam vajadzētu palīdzēt ietaupīt nelielu enerģijas daudzumu funkcijai, kas ir tikai baltas gaismas un pēc tam aizkavējas uz visiem laikiem.
EEPROM - izmanto, lai lasītu/saglabātu projekta pašreizējo režīmu. Tas ļauj projektam palielināt krāsu režīmu katru reizi, kad to izslēdzat un atkal ieslēdzat, kas novērš nepieciešamību pēc atsevišķas pogas, lai mainītu režīmu. EEPROM bibliotēka tiek instalēta ikreiz, kad instalējat Arduino IDE.
Es arī izmantoju skici, lai mirdzētu gaismas, ko kāds cits uzstādīja. Tas nejauši iedegas pikseļu no pamatkrāsas līdz maksimālajai krāsai un pēc tam atkāpjas. https://gist.github.com/kriegsman/88954aae22b03a66… (tā izmanto arī FastLED bibliotēku)
Es arī izmantoju vMicro spraudni Visual Studio - šī ir Arduino IDE pastiprināta versija. Tam ir daudz noderīgu automātiskās pabeigšanas funkciju, un tas izceļ jūsu koda problēmas, to neapkopojot. Tas maksā 15 USD, bet ir tā vērts, ja plānojat izveidot vairāk nekā vienu Arduino projektu, un tas liks jums uzzināt par Visual Studio, kas ir īpaši spēcīga programma.
(Es pievienoju arī kodu.ino failu, jo Github Gist mitināmā mitināšana iznīcina daudzas tukšās vietas failā)
Arduino kods darbojas ar 4 krāsu režīmiem Arduino UNO dažām WS2812B LED sloksņu gaismām, izmantojot FastLED bibliotēku
#iekļaut |
#iekļaut |
#iekļaut |
// FastLED iestatīšana |
#defineNUM_LEDS4 |
#definePIN3 // Datu tapa LED sloksnei |
CRGB gaismas diodes [NUM_LEDS]; |
// Twinkle iestatīšana |
#defineBASE_COLORCRGB (2, 2, 2) // Pamata fona krāsa |
#definePEAK_COLORCRGB (255, 255, 255) // Maksimālā krāsa līdz mirdzumam |
// Daudzums, lai palielinātu krāsu par katru cilpu, kad tā kļūst gaišāka: |
#defineDELTA_COLOR_UPCRGB (4, 4, 4) |
// Summa, lai samazinātu krāsu par katru cilpu, kad tā kļūst blāvāka: |
#defineDELTA_COLOR_DOWNCRGB (4, 4, 4) |
// Katra pikseļa iespēja kļūt gaišāka. |
// 1 vai 2 = daži spilgtāki pikseļi vienlaikus. |
// 10 = daudz pikseļu, kas izgaismojas vienlaikus. |
#defineCHANCE_OF_TWINKLE2 |
enum {SteadyDim, GettingBrighter, GettingDimmerAgain}; |
uint8_t PixelState [NUM_LEDS]; |
baits runMode; |
baits globalBright = 150; |
baits globalDelay = 20; // Aizkaves ātrums mirgošanai |
baitu adrese = 35; // Adrese, kurā saglabāt darbības režīmu |
voidsetup () |
{ |
FastLED.addLeds (gaismas diodes, NUM_LEDS); |
FastLED.setCorrection (tipiskaLEDStrip); |
//FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); |
FastLED.setBrightness (globalBright); |
// Iegūstiet izpildāmo režīmu |
runMode = EEPROM.read (adrese); |
// Palieliniet darbības režīmu par 1 |
EEPROM.write (adrese, runMode + 1); |
} |
voidloop () |
{ |
slēdzis (runMode) |
{ |
// Vienkrāsains balts |
1. gadījums: fill_solid (gaismas diodes, NUM_LEDS, CRGB:: balts); |
FastLED.show (); |
DelayForever (); |
pārtraukums; |
// Mirkšķiniet lēnām |
2. gadījums: FastLED.setBrightness (255); |
globalDelay = 10; |
TwinkleMapPixels (); |
pārtraukums; |
// Ātri mirgo |
3. gadījums: FastLED.setBrightness (150); |
globalDelay = 2; |
TwinkleMapPixels (); |
pārtraukums; |
// Varavīksne |
4. gadījums: |
RunRainbow (); |
pārtraukums; |
// Indekss ir ārpus diapazona, atiestatiet to uz 2 un pēc tam palaidiet 1. režīmu. |
// Kad arduino restartējas, tas darbosies 2. režīmā, bet pagaidām 1. režīmā |
noklusējums: |
EEPROM.write (adrese, 2); |
runMode = 1; |
pārtraukums; |
} |
} |
voidRunRainbow () |
{ |
baits *c; |
uint16_t i, j; |
kamēr (taisnība) |
{ |
par (j = 0; j <256; j ++) {// 1 visu riteņa krāsu cikls |
par (i = 0; i <NUM_LEDS; i ++) { |
c = ritenis ((((i * 256 / NUM_LEDS) + j) & 255); |
setPixel (i, *c, *(c + 1), *(c + 2)); |
} |
FastLED.show (); |
kavēšanās (globalDelay); |
} |
} |
} |
baits * ritenis (baits WheelPos) { |
statiskais baits c [3]; |
ja (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; |
} |
cits { |
WheelPos -= 170; |
c [0] = 0; |
c [1] = WheelPos * 3; |
c [2] = 255 - WheelPos * 3; |
} |
atgriešanās c; |
} |
voidTwinkleMapPixels () |
{ |
InitPixelStates (); |
kamēr (taisnība) |
{ |
par (uint16_t i = 0; i <NUM_LEDS; i ++) { |
ja (PixelState == SteadyDim) { |
// šie pikseļi pašlaik ir: SteadyDim |
// tāpēc mēs nejauši apsveram iespēju padarīt to gaišāku |
ja (random8 () <CHANCE_OF_TWINKLE) { |
PixelState = GettingBrighter; |
} |
} |
elseif (PixelState == GettingBrighter) { |
// šie pikseļi pašlaik ir: GettingBrighter |
// tātad, ja tā ir visaugstākajā krāsā, pārslēdziet to uz arvien blāvāku |
ja (gaismas diodes > = PEAK_COLOR) { |
PixelState = GettingDimmerAgain; |
} |
cits { |
// pretējā gadījumā turpiniet to padarīt gaišāku: |
gaismas diodes += DELTA_COLOR_UP; |
} |
} |
cits {// atkal kļūst blāvāks |
// šie pikseļi pašlaik ir: GettingDimmerAgain |
// Tātad, ja tā ir atgriezusies pamatkrāsā, pārslēdziet to uz vienmērīgu blāvumu |
ja (gaismas diodes <= BASE_COLOR) { |
gaismas diodes = BASE_COLOR; // atiestatīt uz precīzu pamatkrāsu, ja mēs pārspēsim |
PixelState = StabilsDim; |
} |
cits { |
// pretējā gadījumā turpiniet aptumšot: |
gaismas diodes -= DELTA_COLOR_DOWN; |
} |
} |
} |
FastLED.show (); |
FastLED.delay (globalDelay); |
} |
} |
voidInitPixelStates () |
{ |
memset (PixelState, sizeof (PixelState), SteadyDim); // inicializēt visus pikseļus uz SteadyDim. |
fill_solid (gaismas diodes, NUM_LEDS, BASE_COLOR); |
} |
voidDelayForever () |
{ |
kamēr (taisnība) |
{ |
kavēšanās (100); |
LowPower.powerDown (SLEEP_FOREVER, ADC_OFF, BOD_OFF); |
} |
} |
voidshowStrip () { |
FastLED.show (); |
} |
voidsetPixel (int Pixel, baits sarkans, baits zaļš, baits zils) { |
// FastLED |
gaismas diodes [Pixel].r = sarkans; |
gaismas diodes [pikseļi].g = zaļa; |
gaismas diodes [pikseļi].b = zils; |
} |
apskatīt rawFiberOptic_ClemsonPic.ino, kuru mitina GitHub ar ❤
5. solis: galaprodukts
Ta-da! Es ceru, ka šī pamācība iedvesmo kādu citu izveidot līdzīgu projektu. Tas tiešām nebija grūti izdarāms, un es biju pārsteigts, ka neviens to vēl nebija izdarījis un par to vēl nebija uzrakstījis pamatīgu pamācību.
Ieteicams:
3D drukāts robotu suns (robotika un 3D druka iesācējiem): 5 soļi
3D drukāts robotu suns (robotika un 3D druka iesācējiem): Robotika un 3D druka ir jaunas lietas, taču mēs tās varam izmantot! Šis projekts ir labs iesācēju projekts, ja jums ir nepieciešama skolas uzdevuma ideja vai vienkārši meklējat jautru projektu
Optisko šķiedru lāzera ventilatori: 9 soļi (ar attēliem)
Optisko šķiedru lāzera ventilatori: kas ir forši? Šķiedru optika. Kas ir vēsāks? Lāzeri. Kas ir lieliski? Ugunsgrēka ventilatori. Šo pamācību daļēji iedvesmoja uguns ventilatori un daļēji bioniskā balerīna. Katrs ventilators ir izgatavots no pieciem optisko šķiedru stieņiem, ko izgaismo slīpuma sensors, lai tie būtu sarkani vai dzelteni
Optisko šķiedru spārni: 24 soļi (ar attēliem)
Šķiedru optikas spārni: Ir pagājis kāds laiciņš, kopš es iedziļinājos gaļīgā projektā, tāpēc, kad Džoels no skudras uz melones lūdza man uztaisīt kostīmu viņa jauno šķiedru optikas izstrādājumu laišanai klajā, es ar prieku piekritu. Es izmantoju viņa iepriekšējās paaudzes lukturīti optiskajai šķiedrai
Optisko šķiedru medūzu svārki: 16 soļi (ar attēliem)
Optisko šķiedru medūzu svārki: Tā kā optiskās šķiedras efekts ir tik aizraujošs, es domāju par tērpa izgatavošanu ar optisko šķiedru un RGB gaismas diodēm. Pagāja kāds laiks, līdz es izdomāju dizainu un izdomāju, kā šķiedras piestiprināt pie LED sloksnes. Galu galā es esmu
Escher druka: 8 soļi (ar attēliem)
Ešera druka: izveidojiet fizisku Ešera izdruku, sagriežot dažādās tesselācijas daļas dažādos materiālos