Innholdsfortegnelse:

Lys meg opp !: 20 trinn (med bilder)
Lys meg opp !: 20 trinn (med bilder)

Video: Lys meg opp !: 20 trinn (med bilder)

Video: Lys meg opp !: 20 trinn (med bilder)
Video: 3 РЕЦЕПТА из КУРИНОЙ ПЕЧЕНИ/ ПАШТЕТ!! ГОСТИ БУДУТ В ШОКЕ!! 2024, November
Anonim
Opplys meg!
Opplys meg!
Opplys meg!
Opplys meg!
Opplys meg!
Opplys meg!
Opplys meg!
Opplys meg!

medlemmer av prosjektgruppen

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Hva om du kunne røre og designe lyset? Hvordan ville det føles hvis du hadde et vakkert lysmønster som du designet selv med en interessant animasjon? Lys meg opp vil være en interessant skissebok som berører og designer selve lyset og lager interessante mønstre! Dette prosjektet har flere trekanter som danner en sekskantet form. Så du kan lage stereoskopiske mønstre i henhold til hvordan du designer lys! Bare trykk på hvert stykke og forskjellige farger vil bli gradert, og når fargen du vil ha kommer ut, trykker du bare på hånden du trykker på, og den vil fortsette å skinne vakkert med fargen du ønsket! Prosjektet brukte ca 312 trekanter, men det kunne skape et fint lys som fungerer godt med 6 trekanter. La meg nå vise deg hvordan du gjør det med seks trekanter. Følg trinnene, og du får ditt eget fantastiske verk!

Rekvisita

Maskinvare: Arduino (jeg brukte arduino mega 2560), akryl (klar, hvit), LED -stripe (NeoPixel), diffusorfilm, knapp, 4 -pinners kontakt, ledning, kretskort, strømforsyning

Verktøy: Laserstyrt skjæremaskin, 3D-skriver

Trinn 1: La oss klare det

La oss klare det!
La oss klare det!
La oss klare det!
La oss klare det!
La oss klare det!
La oss klare det!

La oss lage dette søte sekskantede stykket med meg!

Light Me Up er laget med 312 trekanter, men selv 6 trekanter kan designe fantastisk lys. Hvis du vil lage den i større skala, kan du lage den ved å referere til filen vedlagt nedenfor.

Trinn 2: Forberedelse av materiale

Materialforberedelse
Materialforberedelse

Trinn 3: Skjæring av akryl

Skjæring av akryl
Skjæring av akryl
Skjæring av akryl
Skjæring av akryl
Skjæring av akryl
Skjæring av akryl
Skjæring av akryl
Skjæring av akryl

Bruk en laserskjærer til å kutte forsiden og baksiden av hver del. Fargen på akryl på baksiden kan være hva du vil, men sørg for å bruke gjennomsiktig akryl fordi fronten må dempes! Hvis du bruker en annen akrylfarge enn transparent, vil du ikke se lyset godt.

Trinn 4: Lag sider med 3D -skrivere

Lag sider med 3D -skrivere
Lag sider med 3D -skrivere
Lag sider med 3D -skrivere
Lag sider med 3D -skrivere
Lag sider med 3D -skrivere
Lag sider med 3D -skrivere

Nå er det på tide å lage sidene på hvert stykke. La oss klare det! 3D -modelleringsfilene på siden er vedlagt nedenfor. Vi brukte PLA for å lage sider PLA er sterkere og mindre sammentrekninger enn ABS, så det anbefales å bruke filamenter for å bruke PLA.

Trinn 5: Filming

Filming
Filming
Filming
Filming
Filming
Filming

La oss nå sette en lett diffusjonsfilm på akryl på forsiden. Hvis du legger film på den, sprer den seg ut og lyser mye penere. Klipp først filmen i form av en trekant. (Det er bedre å klippe filmen større enn den kuttede akrylen) Det er enkelt å sette film på, som en beskyttelsesfilm på telefonen. Hvis du vil tipse her, kan du bruke et kort til å skyve det slik at det kan sitte pent!

Trinn 6: Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger

Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger

Hvis du har vært så flink til å lodde LED -stripen, er det på tide å sette LED -stripen på baksiden. Fest først en limpistol eller tosidig tape på baksiden av LED-stripen. Og fjern først ledningene fra begge sider av loddetråden gjennom hullene på begge sider. Fest til slutt LED -stripen på baksiden av akryl, og det er over!

Det er loddetid! klargjør LED-strips, 4-pinners kontakter (kontakt eller ledninger) og det du trenger for lodding. Jeg brukte lysdioder i tre enheter. Du kan bruke en eller to lysdioder hvis du vil, men jeg anbefaler å bruke tre. Når alle materialene er klare, loddes ledningene i både datalinjer, 5v -linjer og jordlinjer på LED -stripen.

Trinn 7: Loddetakt -bryter med ledninger

Loddetakt -bryter med ledninger
Loddetakt -bryter med ledninger
Loddetakt -bryter med ledninger
Loddetakt -bryter med ledninger

Trinn 8: Montering -Sett inn bolt på siden = ①

Montering -Sett bolt på siden = ①
Montering -Sett bolt på siden = ①
Montering -Sett bolt på siden = ①
Montering -Sett bolt på siden = ①

Nå er det en veldig enkel del! Plasser en bolt på hver av de tre 3D -trykte sidene. Grunnen til at du kan bruke boltknappen som å bruke strukturelle bolter og muttere. Når brikken er ferdig, legger jeg brikken i etuiet og avslutter den med en mutter.

Trinn 9: Fest Ⓛⓣ til Ⓒ = ②

Fest Ⓛⓣ til Ⓒ = ②
Fest Ⓛⓣ til Ⓒ = ②
Fest Ⓛⓣ til Ⓒ = ②
Fest Ⓛⓣ til Ⓒ = ②

Trinn 10: Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③

Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③

Trinn 11: Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④

Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④

Hvis du setter en bolt på siden, legger vi den på siden og fronten. Fronten er akryl, så du må ta den på med en dedikert akrylbinding. Hvis du fester akryl til en vanlig lim, vil det sette et merke.

Trinn 12: Fest Ⓢ til Ⓓ = ⑤

Fest Ⓢ til Ⓓ = ⑤
Fest Ⓢ til Ⓓ = ⑤
Fest Ⓢ til Ⓓ = ⑤
Fest Ⓢ til Ⓓ = ⑤

Trinn 13: Montering -Kombiner ④ og ⑤ Bruke Ⓦ og Ⓝ = ⑥

Montering -Kombiner ④ og ⑤ Bruker Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Bruker Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Bruker Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Bruker Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Bruker Ⓦ og Ⓝ = ⑥
Montering -Kombiner ④ og ⑤ Bruker Ⓦ og Ⓝ = ⑥

Trinn 14: Komplett stykkemontering

Komplett stykke montering
Komplett stykke montering
Komplett stykke montering
Komplett stykke montering
Komplett stykke montering
Komplett stykke montering

Trinn 15: Arbeidsutseendet til et prosjekt

Image
Image

Trinn 16: NeoPixel, kobling av koblinger

NeoPixel, kontaktledninger
NeoPixel, kontaktledninger
NeoPixel, kontaktledninger
NeoPixel, kontaktledninger
NeoPixel, kontaktledninger
NeoPixel, kontaktledninger

Trinn 17: NeoPixel og Arduino ledninger

NeoPixel og Arduino ledninger
NeoPixel og Arduino ledninger

Trinn 18: Programmer Arduino

ekstern flyktig usignert lang timer0_millis;

#inkludere

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

ugyldig oppsett () {

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); }}}}

Trinn 19:

ekstern flyktig usignert lang timer0_millis;

#inkludere

#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 farger [num] [3]; int hue [num]; int sat [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; usignert lang preMillis1; usignert lang preM; int ani_mode = 0; int ani2_Counter = 0; int teller = 0; ////////////////////////////////////////////////// begynne (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (ReceiveEvent); 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; satt = 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 (); gå i stykker; sak 1: ani1 (); ani_mode = 0; ani2_Counter = 0; gå i stykker; case 2: ani2_Counter = 1; ani_mode = 0; gå i stykker; sak 3: ani3 (); ani_mode = 0; ani2_Counter = 0; gå i stykker; standard: readyState (); gå i stykker; } hvis (ani2_Counter == 1) {ani2 (); } setPixels (num); }

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

void ReceiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("mottatt 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); }/////////////////ugyldig forespørselEvent () {

hvis (btnMode == true) {

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

}

ugyldig ani0 () {

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

ugyldig ani1 () {

// Serial.println ("1"); hvis (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; for (int a = 0; a <2; a ++) {fargetone [a1 [a] = 100; satt [a1 [a] = 95; lys [a1 [a] = 100; } for (int b = 0; b <2; b ++) {hue [b1 = 200; satt [b1 = 95; lys [b1 = 100; } for (int c = 0; c <2; c ++) {hue [c1 [c] = 300; satt [c1 [c] = 95; lys [c1 [c] = 100; } // Serial.println ("0"); } annet hvis (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 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 ++) {fargetone [a2 [a] = 26; satt [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"); } annet hvis (pNumber == 2) {// gigantisk terningsmønster for (int i = 0; i <num; i ++) {bright = 0; gValue = 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; }} annet hvis (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // gul for (int a = 0; a <6; a ++) {hue [a3 [a] = 53; satt [a3 [a] = 95; lys [a3 [a] = 100; }} annet hvis (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a4 = {34, 35}; // gul int b4 = {47}; // blå int c4 = {48}; // lilla

for (int a = 0; a <2; a ++) {fargetone [a4 [a] = 53; satt [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; satt [c4 [c] = 95; lys [c4 [c] = 100; }} annet hvis (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a5 = {34, 35, 46, 47, 48, 49};

for (int a = 0; a <6; a ++) {fargetone [a5 [a] = 100; sat [a5 [a] = 95; lys [a5 [a] = 100; }} annet hvis (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // gul for (int a = 0; a <6; a ++) {hue [a6 [a] = 53; satt [a6 [a] = 95; lys [a6 [a] = 100; }} annet hvis (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c7 [c] = 307; satt [c7 [c] = 95; lys [c7 [c] = 100; }} annet hvis (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c8 [c] = 307; satt [c8 [c] = 95; lys [c8 [c] = 100; }} annet hvis (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c9 [c] = 307; satt [c9 [c] = 95; lys [c9 [c] = 100; }} annet hvis (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 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; }} annet hvis (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c11 [c] = 307; satt [c11 [c] = 95; lys [c11 [c] = 100; }} annet hvis (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c12 [c] = 307; satt [c12 [c] = 95; lys [c12 [c] = 100; }} annet hvis (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a13 = {34, 35}; // gul int b13 = {47}; // blue int c13 = {48}; // lilla for (int a = 0; a <2; a ++) {fargetone [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; satt [c13 [c] = 95; lys [c13 [c] = 100; }} pNumber = pNummer + 1;

hvis (pNumber == 14) {

pNummer = 0; }}

void ani2 () {

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

hvis (curM - preM> = 10) {

preM = curM; for (int i = 0; i <num; i ++) {if (fargetone = 360) {gValue = -1; } fargetone = fargetone + gValue ; } teller ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (teller); // Serial.println (curM); teller = 0; ani2_Counter = 0; }}}

void ani3 () {

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

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

if (curMillis1 - preMillis1> b_intervall) {

preMillis1 = curMillis1; for (int i = 0; i = 360) {hueV = -1; } annet hvis (fargetone <= 0) {hueV = 1; } fargetone = fargetone + hueV ; lys = 100; }}}} /////////////////////////////////////////////////////// void setPixels (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (fargetone , lør , lyse , farger ); int num1 = i * 3; strip.setPixelColor (num1, farger [0], farger [1], farger [2]); strip.setPixelColor (num1 + 1, farger [0], farger [1], farger [2]); strip.setPixelColor (num1 + 2, farger [0], farger [1], farger [2]); } strip.show (); }

Trinn 20: Mønstre

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

Dette prosjektet har flere trekanter som danner en sekskantet form. Så du kan lage stereoskopiske mønstre i henhold til hvordan du designer lys! Bare trykk på hvert stykke og forskjellige farger vil bli gradert, og når fargen du vil ha kommer ut, er det bare å trykke på hånden du trykket på, så vil den fortsette å skinne vakkert med fargen du ønsket!

Anbefalt: