INHOUDSOPGAWE:

Lig my op !: 20 stappe (met foto's)
Lig my op !: 20 stappe (met foto's)

Video: Lig my op !: 20 stappe (met foto's)

Video: Lig my op !: 20 stappe (met foto's)
Video: Verover Mijn Hart, Win €1000 2024, November
Anonim
Verlig my!
Verlig my!
Verlig my!
Verlig my!
Verlig my!
Verlig my!
Verlig my!
Verlig my!

lede van die projekspan

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Wat as u die lig kan aanraak en ontwerp? Hoe sou dit voel as jy 'n pragtige ligpatroon gehad het wat jy self ontwerp het met 'n interessante animasie? Lig my op 'n interessante sketsboek wat die lig self raak en ontwerp en interessante patrone maak! Hierdie projek het verskeie driehoeke wat 'n seshoekige vorm. U kan dus stereoskopiese patrone skep volgens die manier waarop u lig ontwerp! Druk net op elke stuk en verskillende kleure word gegradeer, en as die kleur wat u wil uitkom, slaan u net op die hand wat u gedruk het, en dit sal pragtig bly skyn met die kleur wat u wou hê! Die projek het ongeveer 312 driehoeke gebruik, maar dit kan skep 'n mooi lig wat goed werk met 6 driehoeke. Laat ek u nou wys hoe u dit met ses driehoeke kan maak. Volg die stappe en u sal u eie wonderlike werk hê!

Voorrade

Hardeware: Arduino (ek het arduino mega 2560 gebruik), akriel (helder, wit), LED -strook (NeoPixel), verspreiderfilm, knoppie, 4 -pins aansluiting, draad, printplaat, kragtoevoer

Gereedskap: Lasergeleide snymasjien, 3D-drukker

Stap 1: Kom ons maak dit

Kom ons maak dit!
Kom ons maak dit!
Kom ons maak dit!
Kom ons maak dit!
Kom ons maak dit!
Kom ons maak dit!

Kom ons maak hierdie oulike seshoekige stuk saam met my!

Die Light Me Up word gemaak met 312 driehoeke, maar selfs 6 driehoeke kan wonderlike lig ontwerp. As u dit op 'n groter skaal wil maak, kan u dit maak deur na die onderstaande lêer te verwys.

Stap 2: Materiaalvoorbereiding

Materiaalvoorbereiding
Materiaalvoorbereiding

Stap 3: Sny akriel

Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel

Gebruik 'n lasersnyer om die voor- en agterkant van elke deel te sny. Die kleur van die akriel aan die agterkant kan alles wees wat u wil, maar gebruik deursigtige akriel, want die voorkant moet verdof word! As u 'n ander kleur as akriel gebruik, sal u die lig nie goed sien nie.

Stap 4: Maak kante met 3D -drukkers

Maak kante met 3D -drukkers
Maak kante met 3D -drukkers
Maak kante met 3D -drukkers
Maak kante met 3D -drukkers
Maak kante met 3D -drukkers
Maak kante met 3D -drukkers

Nou is dit tyd om die kante van elke stuk te maak. Die 3D -modellêers aan die kant is hieronder aangeheg. Ons het die PLA gebruik om sye te maak. Die PLA is sterker en het minder kontraksies as die ABS, daarom word filamente aanbeveel om die PLA te gebruik.

Stap 5: Verfilming

Verfilming
Verfilming
Verfilming
Verfilming
Verfilming
Verfilming

Laat ons nou 'n ligte diffusiefilm op die akriel aan die voorkant plaas. As jy film daarop sit, versprei dit en skyn dit baie mooier. Sny die film eers in die vorm van 'n driehoek. (Dit is beter om die film groter as die gesnyde akriel te sny) Dit is eenvoudig om 'n film op 'n telefoon te plaas. As u hier wil tip, kan u 'n kaart gebruik om dit te druk sodat dit netjies kan vassteek!

Stap 6: Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade

Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade
Heg LED -strook + soldeer -LED -strook (NeoPixel) aan met drade

As u so goed was met die soldeer van die LED -strook, is dit tyd om die LED -strook aan die agterkant te plaas. Maak eers 'n gomgeweer of dubbelzijdige band aan die agterkant van die LED-strook vas. En verwyder eers die drade van beide kante van die soldeerdraad deur die gate aan weerskante. Bevestig uiteindelik die LED -strook aan die agterkant van akriel en dit is verby!

Dit is soldeertyd! berei LED-stroke, 4-pins verbindings (connector of drade) voor en wat u benodig vir soldeer. Ek het LED's in drie eenhede gebruik. U kan een of twee LED's gebruik as u wil, maar ek beveel aan dat u drie gebruik. As al die materiaal gereed is, soldeer die drade in beide data lyne, 5v lyne en grondlyne van die LED strook.

Stap 7: Soldeer -taktskakelaar met drade

Soldeer -taktskakelaar met drade
Soldeer -taktskakelaar met drade
Soldeer -taktskakelaar met drade
Soldeer -taktskakelaar met drade

Stap 8: Monteer -Steek die bout aan die kant in = ①

Montering -Steek die bout aan die kant in = ①
Montering -Steek die bout aan die kant in = ①
Montering -Steek die bout aan die kant in = ①
Montering -Steek die bout aan die kant in = ①

Nou is dit 'n baie maklike deel! Plaas een bout op elk van die drie 3D -gedrukte sye. Die rede waarom u die boutknoppie kan gebruik, soos die gebruik van boute en moere. As die stuk klaar is, plaas ek die stuk in die kas en maak dit klaar met 'n moer.

Stap 9: Heg Ⓛⓣ aan die Ⓒ = ②

Heg Ⓛⓣ aan die Ⓒ = ②
Heg Ⓛⓣ aan die Ⓒ = ②
Heg Ⓛⓣ aan die Ⓒ = ②
Heg Ⓛⓣ aan die Ⓒ = ②

Stap 10: Monteer -Gebruik Ⓦ en Ⓝ om ① en ② = ③ te kombineer

Samestelling -Gebruik 'n Ⓦ en Ⓝ om ① en ② = ③ te kombineer
Samestelling -Gebruik 'n Ⓦ en Ⓝ om ① en ② = ③ te kombineer
Samestelling -Gebruik Ⓦ en Ⓝ om ① en ② = ③ te kombineer
Samestelling -Gebruik Ⓦ en Ⓝ om ① en ② = ③ te kombineer
Samestelling -Gebruik Ⓦ en Ⓝ om ① en ② = ③ te kombineer
Samestelling -Gebruik Ⓦ en Ⓝ om ① en ② = ③ te kombineer

Stap 11: Montering -Bevestig Ⓐⓔ en ③ Met behulp van 'n akrielverf = ④

Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan
Montering -Heg Ⓐⓔ en ③ met behulp van 'n akrielverf = ④ aan

As u 'n bout aan die kant sit, plaas ons dit aan die kant en voorkant. Die voorkant is van akriel, sodat u dit met 'n spesiale akrielverband moet aantrek. As u akriel aan 'n gewone kleefband heg, sal dit 'n spoor agterlaat.

Stap 12: Heg Ⓢ aan Ⓓ = ⑤

Heg Ⓢ aan Ⓓ = ⑤
Heg Ⓢ aan Ⓓ = ⑤
Heg Ⓢ aan Ⓓ = ⑤
Heg Ⓢ aan Ⓓ = ⑤

Stap 13: Monteer -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥

Samestelling -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥
Samestelling -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥
Samestelling -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥
Samestelling -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥
Samestelling -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥
Samestelling -Kombineer ④ en ⑤ Gebruik Ⓦ en Ⓝ = ⑥

Stap 14: Voltooi stuk samestelling

Volledige stuk montering
Volledige stuk montering
Volledige stuk montering
Volledige stuk montering
Volledige stuk montering
Volledige stuk montering

Stap 15: Die werksvoorkoms van 'n projek

Image
Image

Stap 16: NeoPixel, aansluitbedrading

NeoPixel, aansluiting bedrading
NeoPixel, aansluiting bedrading
NeoPixel, aansluiting bedrading
NeoPixel, aansluiting bedrading
NeoPixel, aansluiting bedrading
NeoPixel, aansluiting bedrading

Stap 17: NeoPixel en Arduino Bedrading

NeoPixel en Arduino Bedrading
NeoPixel en Arduino Bedrading

Stap 18: Programmeer die Arduino

eksterne vlugtige ongetekende lang timer0_millis;

#insluit

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

ongeldige opstelling () {

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

leemte -lus () {

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

Stap 19:

eksterne vlugtige ongetekende lang timer0_millis;

#insluit

#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 kleure [num] [3]; int hue [num]; int sat [num]; int helder [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]; boolean 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; ongetekende lang preMillis1; ongetekende lang preM; int ani_mode = 0; int ani2_Counter = 0; int teller = 0; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// begin (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (ontvangEvent); vir (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); }//////////////////////////////////////////////

leemte -lus () {

as (f_v == 1) {vir (int i = 0; i <num; i ++) {hue = 50; sat = 95; helder = 100; } f_v = 0; } ////////////////////////////////////////////////// onwaar; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ////////////////////////////////////////////// switch (ani_mode) {case 0: ani0 (); breek; saak 1: ani1 (); ani_mode = 0; ani2_Teller = 0; breek; geval 2: ani2_Teller = 1; ani_mode = 0; breek; saak 3: ani3 (); ani_mode = 0; ani2_Teller = 0; breek; verstek: readyState (); breek; } as (ani2_Counter == 1) {ani2 (); } setPixels (num); }

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

leeg ontvangEvent (int howMany) {int x = Wire.read (); as (x == 5) {// Serial.println ("ontvang 5"); ani_mode = 0; } ani_modus = x; // Serial.println (ani_mode); }///////////////leeg versoekEvent () {

as (btnMode == waar) {

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

}

leegte ani0 () {

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

leegte ani1 () {

// Serial.println ("1"); as (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; vir (int a = 0; a <2; a ++) {tint [a1 [a] = 100; sat [a1 [a] = 95; helder [a1 [a] = 100; } vir (int b = 0; b <2; b ++) {tint [b1 = 200; sat [b1 = 95; helder [b1 = 100; } vir (int c = 0; c <2; c ++) {hue [c1 [c] = 300; sat [c1 [c] = 95; helder [c1 [c] = 100; } // Serial.println ("0"); } anders as (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; vir (int a = 0; a <8; a ++) {tint [a2 [a] = 26; sat [a2 [a] = 95; helder [a2 [a] = 100; } vir (int d = 0; d <4; d ++) {tint [d2 [d] = 63; sat [d2 [d] = 95; helder [d2 [d] = 100; } // Serial.println ("1"); } anders as (pNumber == 2) {// reuse -kubuspatroon vir (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // geel 06 vir (int a = 0; a <6; a ++) {hue [a14 [a] = 35; sat [a14 [a] = 95; helder [a14 [a] = 100; }} anders as (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // geel vir (int a = 0; a <6; a ++) {hue [a3 [a] = 53; sat [a3 [a] = 95; helder [a3 [a] = 100; }} anders if (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a4 = {34, 35}; // geel int b4 = {47}; // blou int c4 = {48}; // pers

vir (int a = 0; a <2; a ++) {tint [a4 [a] = 53; sat [a4 [a] = 95; helder [a4 [a] = 100; }

vir (int b = 0; b <1; b ++) {tint [b4 = 210; sat [b4 = 95; helder [b4 = 100; } vir (int c = 0; c <1; c ++) {hue [c4 [c] = 307; sat [c4 [c] = 95; helder [c4 [c] = 100; }} anders if (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a5 = {34, 35, 46, 47, 48, 49};

vir (int a = 0; a <6; a ++) {tint [a5 [a] = 100; sat [a5 [a] = 95; helder [a5 [a] = 100; }} anders if (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // geel vir (int a = 0; a <6; a ++) {hue [a6 [a] = 53; sat [a6 [a] = 95; helder [a6 [a] = 100; }} anders if (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // pers vir (int c = 0; c <6; c ++) {hue [c7 [c] = 307; sat [c7 [c] = 95; helder [c7 [c] = 100; }} anders if (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // pers vir (int c = 0; c <6; c ++) {tint [c8 [c] = 307; sat [c8 [c] = 95; helder [c8 [c] = 100; }} anders as (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // pers vir (int c = 0; c <6; c ++) {tint [c9 [c] = 307; sat [c9 [c] = 95; helder [c9 [c] = 100; }} anders if (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // pers vir (int c = 0; c <6; c ++) {tint [c10 [c] = 307; sat [c10 [c] = 95; helder [c10 [c] = 100; }} anders if (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // pers vir (int c = 0; c <6; c ++) {hue [c11 [c] = 307; sat [c11 [c] = 95; helder [c11 [c] = 100; }} anders as (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // pers vir (int c = 0; c <6; c ++) {tint [c12 [c] = 307; sat [c12 [c] = 95; helder [c12 [c] = 100; }} anders if (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gWaarde = 1; } int a13 = {34, 35}; // geel int b13 = {47}; // blou int c13 = {48}; // pers vir (int a = 0; a <2; a ++) {tint [a13 [a] = 53; sat [a13 [a] = 95; helder [a13 [a] = 100; } vir (int b = 0; b <1; b ++) {hue [b13 = 210; sat [b13 = 95; helder [b13 = 100; } vir (int c = 0; c <1; c ++) {hue [c13 [c] = 307; sat [c13 [c] = 95; helder [c13 [c] = 100; }} pNummer = pNommer + 1;

as (pNommer == 14) {

pNommer = 0; }}

leegte ani2 () {

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

as (curM - preM> = 10) {

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

leegte ani3 () {

// Serial.println ("3"); }////////////////////////////////////////////////////////////// / Serial.println ("gereed"); } /////////////////////////////////////////////////////void btnEvent (int b_interval) {ongetekende lang curMillis1 = millis ();

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

if (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; vir (int i = 0; i = 360) {hueV = -1; } anders as (tint <= 0) {hueV = 1; } hue = tint + hueV ; helder = 100; }}}}}//////////////////////////////////////////// -/ int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (tint , sat , helder , kleure ); int num1 = i * 3; strip.setPixelColor (num1, kleure [0], kleure [1], kleure [2]); strip.setPixelColor (num1 + 1, kleure [0], kleure [1], kleure [2]); strip.setPixelColor (num1 + 2, kleure [0], kleure [1], kleure [2]); } strip.show (); }

Stap 20: Patrone

Patrone!
Patrone!
Patrone!
Patrone!

Hierdie projek het verskeie driehoeke wat 'n seskantige vorm vorm. U kan dus stereoskopiese patrone skep volgens die manier waarop u lig ontwerp! Druk net op elke stuk en die verskillende kleure word gegradeer, en as die kleur wat u wil uitkom, druk net op die hand wat u gedruk het, en dit sal pragtig bly skyn met die kleur wat u wil hê!

Aanbeveel: