Indholdsfortegnelse:

Lys mig op !: 20 trin (med billeder)
Lys mig op !: 20 trin (med billeder)

Video: Lys mig op !: 20 trin (med billeder)

Video: Lys mig op !: 20 trin (med billeder)
Video: Пора уходить! Как сварить верстак полуавтоматом HAMER MIG-250 Synergic или обустройство новой студии 2024, November
Anonim
Lys mig op!
Lys mig op!
Lys mig op!
Lys mig op!
Lys mig op!
Lys mig op!
Lys mig op!
Lys mig op!

medlemmer af projektgruppen

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Hvad hvis du kunne røre og designe lyset? Hvordan ville det føles, hvis du havde et smukt lysmønster, som du selv har designet med en interessant animation? Lys mig op vil være en interessant skitsebog, der rører og designer selve lyset og laver interessante mønstre! Dette projekt har flere trekanter, der danner en sekskantet form. Så du kan oprette stereoskopiske mønstre efter, hvordan du designer lys! Bare tryk på hvert stykke, og forskellige farver vil blive gradueret, og når den farve, du ønsker, kommer frem, skal du bare trykke på den hånd, du trykker på, og den vil fortsat skinne smukt med den farve, du ønskede! Projektet brugte omkring 312 trekanter, men det kunne skabe et flot lys, der fungerer godt med 6 trekanter. Lad mig nu vise dig, hvordan du gør det med seks trekanter. Følg trinene, og du får dit eget vidunderlige arbejde!

Forbrugsvarer

Hardware: Arduino (jeg brugte arduino mega 2560), akryl (klar, hvid), LED Strip (NeoPixel), diffusorfilm, knap, 4 -polet stik, Wire, printkort, strømforsyning

Værktøjer: Laserstyret skæremaskine, 3D-printer

Trin 1: Lad os klare det

Lad os klare det!
Lad os klare det!
Lad os klare det!
Lad os klare det!
Lad os klare det!
Lad os klare det!

Lad os lave dette søde sekskantede stykke med mig!

Light Me Up er lavet med 312 trekanter, men selv 6 trekanter kan designe vidunderligt lys. Hvis du vil lave det i større målestok, kan du lave det ved at henvise til filen vedhæftet nedenfor.

Trin 2: Forberedelse af materiale

Forberedelse af materiale
Forberedelse af materiale

Trin 3: Skæring af akryl

Skæring i akryl
Skæring i akryl
Skæring i akryl
Skæring i akryl
Skæring i akryl
Skæring i akryl
Skæring i akryl
Skæring i akryl

Brug en laserskærer til at skære forsiden og bagsiden af hver del. Farven på akrylen på bagsiden kan være hvad du vil, men sørg for at bruge gennemsigtig akryl, fordi fronten skal dæmpes! Hvis du bruger en anden akrylfarve end gennemsigtig, kan du ikke se lyset godt.

Trin 4: Lav sider med 3D -printere

Lav sider med 3D -printere
Lav sider med 3D -printere
Lav sider med 3D -printere
Lav sider med 3D -printere
Lav sider med 3D -printere
Lav sider med 3D -printere

Nu er det tid til at lave siderne af hvert stykke. Lad os klare det! 3D -modelleringsfilerne på siden er vedhæftet nedenfor. Vi brugte PLA til at lave sider PLA er stærkere og mindre sammentrækninger end ABS, så filamenter anbefales at bruge PLA.

Trin 5: Optagelse

Optagelse
Optagelse
Optagelse
Optagelse
Optagelse
Optagelse

Lad os nu lægge en let diffusionsfilm på akryl på forsiden. Hvis du lægger film på den, breder den sig ud og lyser meget flottere. Klip først filmen i form af en trekant. (Du må hellere klippe filmen større end den udskårne akryl) Det er let at lægge film på, som en beskyttelsesfilm på din telefon. Hvis du vil tippe her, kan du bruge et kort til at skubbe det, så det kan sidde pænt fast!

Trin 6: Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger

Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger
Fastgør LED Strip + Lodning LED Strip (NeoPixel) med ledninger

Hvis du har været så god til at lodde LED -strimlen, er det tid til at sætte LED -strimlen på bagsiden. Først skal du fastgøre en limpistol eller tosidet tape på bagsiden af LED-strimlen. Og fjern først ledningerne fra begge sider af loddetråden gennem hullerne på begge sider. Til sidst, fastgør LED -strimlen til bagsiden af akryl, og det er slut!

Det er loddetid! forbered LED-strimler, 4-bens stik (stik eller ledninger) og hvad du har brug for til lodning. Jeg brugte lysdioder i tre enheder. Du kan bruge en eller to lysdioder, hvis du vil, men jeg anbefaler at bruge tre. Når alle materialer er klar, loddes ledningerne i både datalinjer, 5v -linjer og jordlinjer i LED -strimlen.

Trin 7: Lodningstaktkontakt med ledninger

Loddetaktkontakt med ledninger
Loddetaktkontakt med ledninger
Loddetaktkontakt med ledninger
Loddetaktkontakt med ledninger

Trin 8: Montering -Sæt bolt på siden = ①

Montering -Sæt bolt på siden = ①
Montering -Sæt bolt på siden = ①
Montering -Sæt bolt på siden = ①
Montering -Sæt bolt på siden = ①

Nu er det en rigtig let del! Placer en bolt på hver af de tre 3D -trykte sider. Grunden til at bruge boltknappen som at bruge en strukturel bolte og møtrikker vil være i stand til at gøre. Når stykket er færdigt, lægger jeg stykket i sagen og afslutter det med en møtrik.

Trin 9: Sæt Ⓛⓣ på Ⓒ = ②

Sæt Ⓛⓣ på Ⓒ = ②
Sæt Ⓛⓣ på Ⓒ = ②
Sæt Ⓛⓣ på Ⓒ = ②
Sæt Ⓛⓣ på Ⓒ = ②

Trin 10: Montering -Brug Ⓦ og Ⓝ til at kombinere ① og ② = ③

Montering -Brug a og Ⓝ til at kombinere ① og ② = ③
Montering -Brug a og Ⓝ til at kombinere ① og ② = ③
Montering -Brug a og Ⓝ til at kombinere ① og ② = ③
Montering -Brug a og Ⓝ til at kombinere ① og ② = ③
Montering -Brug a og Ⓝ til at kombinere ① og ② = ③
Montering -Brug a og Ⓝ til at kombinere ① og ② = ③

Trin 11: Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④

Montering -Monter Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Monter Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④
Montering -Anbring Ⓐⓔ og ③ Brug af en akrylbinding = ④

Hvis du sætter en bolt på siden, sætter vi den på siden og fronten. Fronten er akryl, så du skal tage den på med en dedikeret akrylbinding. Hvis du vedhæfter akryl til en almindelig binding, efterlader det et mærke.

Trin 12: Vedhæft Ⓢ til Ⓓ = ⑤

Vedhæft Ⓢ til Ⓓ = ⑤
Vedhæft Ⓢ til Ⓓ = ⑤
Vedhæft Ⓢ til Ⓓ = ⑤
Vedhæft Ⓢ til Ⓓ = ⑤

Trin 13: Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥

Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Brug af Ⓦ og Ⓝ = ⑥

Trin 14: Komplet stykke samling

Komplet stykke samling
Komplet stykke samling
Komplet stykke samling
Komplet stykke samling
Komplet stykke samling
Komplet stykke samling

Trin 15: Arbejdets udseende af et projekt

Image
Image

Trin 16: NeoPixel, forbindelsesledninger

NeoPixel, stikforbindelser
NeoPixel, stikforbindelser
NeoPixel, stikforbindelser
NeoPixel, stikforbindelser
NeoPixel, stikforbindelser
NeoPixel, stikforbindelser

Trin 17: NeoPixel og Arduino ledninger

NeoPixel og Arduino ledninger
NeoPixel og Arduino ledninger

Trin 18: Programmer Arduino

ekstern flygtig usigneret lang timer0_millis;

#omfatte

#define MODEBTNNUM 3 int ani_mode = 0; usigneret lang preM1, preM2, preM3;

ugyldig opsætning () {

Wire.begin (); for (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Serial.begin(9600); }

void loop () {

for (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } for (int i = 0; i <6; i ++) {Wire.requestFrom (i+1, 1); mens (Wire.available ()) {int x = Wire.read (); // Serial.println (x); hvis (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} //////////////////////////////////////////////////// /////// hvis (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; for (int i = 1; i 5000) {preM2 = current2; for (int i = 1; i 3000) {preM3 = current3; // timer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("timer reset"); for (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}

Trin 19:

ekstern flygtig usigneret lang timer0_millis;

#omfatte

#include #define PIN 12 #define NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int num = NUMPIXELS / 3; const int slaveNum = 1; int farver [num] [3]; int nuance [num]; int sad [num]; int lyst [num]; int pNumber = 0; int gValue [num] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; const int btnPin [num] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 54, 55, 56, 57, 58, 59}; int btnState [num]; boolsk btnMode; int hueV [num] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; #include #define BTNNUM 1 int f_v = 1; usigneret lang preMillis1; usigneret lang præM; int ani_mode = 0; int ani2_Counter = 0; int tæller = 0; //////////////////////////////////////////////////// ugyldig opsætning () {Wire. begin (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (modtageevent); for (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); } /////////////////////////////////////////////////

void loop () {

hvis (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; sat = 95; lys = 100; } f_v = 0; } ////////////////////////////////////////////////// falsk; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ////////////////////////////////////////////// switch (ani_mode) {case 0: ani0 (); pause; sag 1: ani1 (); ani_mode = 0; ani2_Counter = 0; pause; case 2: ani2_Counter = 1; ani_mode = 0; pause; sag 3: ani3 (); ani_mode = 0; ani2_Counter = 0; pause; standard: readyState (); pause; } hvis (ani2_Counter == 1) {ani2 (); } setPixels (num); }

///////////////////////////////////////////

void modtageevent (int howMany) {int x = Wire.read (); hvis (x == 5) {// Serial.println ("modtaget 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } ///////////////////////////////////////////

hvis (btnMode == true) {

Wire.write (5); // Serial.println ("5 보냄"); } andet {Wire.write (0); }

}

void ani0 () {

// Serial.println ("0"); }

void ani1 () {

// Serial.println ("1"); hvis (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; for (int a = 0; a <2; a ++) {nuance [a1 [a] = 100; sat [a1 [a] = 95; lys [a1 [a] = 100; } for (int b = 0; b <2; b ++) {hue [b1 = 200; sat [b1 = 95; lys [b1 = 100; } for (int c = 0; c <2; c ++) {hue [c1 [c] = 300; sat [c1 [c] = 95; lys [c1 [c] = 100; } // Serial.println ("0"); } ellers hvis (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; for (int a = 0; a <8; a ++) {hue [a2 [a] = 26; sat [a2 [a] = 95; lys [a2 [a] = 100; } for (int d = 0; d <4; d ++) {hue [d2 [d] = 63; sat [d2 [d] = 95; lys [d2 [d] = 100; } // Serial.println ("1"); } ellers hvis (pNumber == 2) {// kæmpe terningmønster for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // gul 06 for (int a = 0; a <6; a ++) {hue [a14 [a] = 35; sat [a14 [a] = 95; lys [a14 [a] = 100; }} ellers hvis (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // gul for (int a = 0; a <6; a ++) {hue [a3 [a] = 53; sat [a3 [a] = 95; lys [a3 [a] = 100; }} ellers hvis (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a4 = {34, 35}; // gul int b4 = {47}; // blå int c4 = {48}; // lilla

for (int a = 0; a <2; a ++) {hue [a4 [a] = 53; sat [a4 [a] = 95; lys [a4 [a] = 100; }

for (int b = 0; b <1; b ++) {hue [b4 = 210; sat [b4 = 95; lys [b4 = 100; } for (int c = 0; c <1; c ++) {hue [c4 [c] = 307; sat [c4 [c] = 95; lys [c4 [c] = 100; }} ellers hvis (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a5 = {34, 35, 46, 47, 48, 49};

for (int a = 0; a <6; a ++) {hue [a5 [a] = 100; sat [a5 [a] = 95; lys [a5 [a] = 100; }} ellers hvis (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // gul for (int a = 0; a <6; a ++) {hue [a6 [a] = 53; sat [a6 [a] = 95; lys [a6 [a] = 100; }} ellers hvis (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c7 [c] = 307; sat [c7 [c] = 95; lys [c7 [c] = 100; }} ellers hvis (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c8 [c] = 307; sat [c8 [c] = 95; lys [c8 [c] = 100; }} ellers hvis (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c9 [c] = 307; sat [c9 [c] = 95; lys [c9 [c] = 100; }} ellers hvis (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c10 [c] = 307; sat [c10 [c] = 95; lys [c10 [c] = 100; }} ellers hvis (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c11 [c] = 307; sat [c11 [c] = 95; lys [c11 [c] = 100; }} ellers hvis (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c12 [c] = 307; sat [c12 [c] = 95; lys [c12 [c] = 100; }} ellers hvis (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gVærdi = 1; } int a13 = {34, 35}; // gul int b13 = {47}; // blå int c13 = {48}; // lilla for (int a = 0; a <2; a ++) {hue [a13 [a] = 53; sat [a13 [a] = 95; lys [a13 [a] = 100; } for (int b = 0; b <1; b ++) {hue [b13 = 210; sat [b13 = 95; lys [b13 = 100; } for (int c = 0; c <1; c ++) {hue [c13 [c] = 307; sat [c13 [c] = 95; lys [c13 [c] = 100; }} pNummer = pNummer + 1;

hvis (pNumber == 14) {

pNummer = 0; }}

void ani2 () {

// Serial.println ("2"); usigneret lang curM = millis ();

hvis (curM - preM> = 10) {

preM = curM; for (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } farvetone = farvetone + gVærdi ; } tæller ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (tæller); // Serial.println (curM); tæller = 0; ani2_Counter = 0; }}}

void ani3 () {

// Serial.println ("3"); } /////////////////////////////////////////////////////// void ReadyState () / Serial.println ("klar"); } /////////////////////////////////// {usigneret lang curMillis1 = millis ();

for (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }

hvis (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; for (int i = 0; i = 360) {hueV = -1; } ellers hvis (hue <= 0) {hueV = 1; } hue = hue + hueV ; lys = 100; }}}} ///////////////////////////////////////////////////// void setPixels (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (nuance , sat , lyse , farver ); int num1 = i * 3; strip.setPixelColor (num1, farver [0], farver [1], farver [2]); strip.setPixelColor (num1 + 1, farver [0], farver [1], farver [2]); strip.setPixelColor (num1 + 2, farver [0], farver [1], farver [2]); } strip.show (); }

Trin 20: Mønstre

Mønstre!
Mønstre!
Mønstre!
Mønstre!

Dette projekt har flere trekanter, der danner en sekskantet form. Så du kan oprette stereoskopiske mønstre efter, hvordan du designer lys! Bare tryk på hvert stykke, og forskellige farver vil blive gradueret, og når den farve, du ønsker, kommer frem, skal du bare trykke på den hånd, du har trykket på, og den vil fortsætte med at skinne smukt med den farve, du ønskede!

Anbefalede: