Sisukord:

Valgustage mind!: 20 sammu (koos piltidega)
Valgustage mind!: 20 sammu (koos piltidega)

Video: Valgustage mind!: 20 sammu (koos piltidega)

Video: Valgustage mind!: 20 sammu (koos piltidega)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Anna mulle tuld!
Anna mulle tuld!
Anna mulle tuld!
Anna mulle tuld!
Anna mulle tuld!
Anna mulle tuld!
Anna mulle tuld!
Anna mulle tuld!

projektimeeskonna liikmed

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Mis siis, kui saaksite valgust puudutada ja kujundada? Mis tunne oleks, kui teil oleks ilus valgusmuster, mille kujundasite ise huvitava animatsiooniga? Valgustage mind on huvitav visandiraamat, mis puudutab ja kujundab valgust ennast ning teeb huvitavaid mustreid! Sellel projektil on mitu kolmnurka, mis moodustavad kuusnurkne kuju. Nii saate luua stereoskoopilisi mustreid vastavalt sellele, kuidas valgust kujundate! Lihtsalt vajutage igat tükki ja erinevad värvid liiguvad järk -järgult ning kui soovitud värv tuleb välja, vajutage lihtsalt vajutatud käele ja see särab jätkuvalt soovitud värviga! Projektis kasutati umbes 312 kolmnurka, kuid see võib luua kena valgus, mis sobib hästi 6 kolmnurgaga. Nüüd näitan teile, kuidas seda teha kuue kolmnurga abil. Järgige samme ja saate oma imelise töö!

Tarvikud

Riistvara: Arduino (ma kasutasin arduino mega 2560), akrüül (selge, valge), LED -riba (NeoPixel), hajuti, nupp, 4 -kontaktiline pistik, traat, trükkplaat, toiteallikas

Tööriistad: laseriga juhitav lõikamismasin, 3D-printer

Samm: teeme hakkama

Saame hakkama!
Saame hakkama!
Saame hakkama!
Saame hakkama!
Saame hakkama!
Saame hakkama!

Teeme selle armsa kuusnurkse tüki koos minuga!

Light Me Up on valmistatud 312 kolmnurga abil, kuid isegi 6 kolmnurka suudavad kujundada imelist valgust. Kui soovite seda teha suuremas mahus, saate seda teha, viidates allolevale failile.

Samm: materjali ettevalmistamine

Materjali ettevalmistamine
Materjali ettevalmistamine

Samm: akrüüli lõikamine

Akrüüli lõikamine
Akrüüli lõikamine
Akrüüli lõikamine
Akrüüli lõikamine
Akrüüli lõikamine
Akrüüli lõikamine
Akrüüli lõikamine
Akrüüli lõikamine

Lõika laserlõikuriga iga osa esi- ja tagaosa. Akrüüli värv tagaküljel võib olla ükskõik milline, kuid kasutage kindlasti läbipaistvat akrüüli, sest esiosa peab olema tuhm! Kui kasutate muud värvilist akrüüli kui läbipaistev, ei näe te valgust hästi.

Samm: tehke küljed 3D -printeritega

Tehke küljed 3D -printeritega
Tehke küljed 3D -printeritega
Tehke küljed 3D -printeritega
Tehke küljed 3D -printeritega
Tehke küljed 3D -printeritega
Tehke küljed 3D -printeritega

Nüüd on aeg teha iga tüki küljed. Saame hakkama! Küljel olevad 3D -modelleerimisfailid on lisatud allpool. Kasutasime külgede valmistamiseks PLA -d PLA on tugevam ja vähem kokkutõmbuv kui ABS, seega on PLA kasutamiseks soovitatav kasutada niite.

5. samm: filmimine

Filmimine
Filmimine
Filmimine
Filmimine
Filmimine
Filmimine

Nüüd paneme kerge difusioonkile esiküljel olevale akrüülile. Kui paned sellele kile, laotab see laiali ja särab palju ilusamalt. Kõigepealt lõigake kile kolmnurga kujuks. (Lõika parem kile, kui see on lõigatud akrüülist suurem) Kile on lihtne telefoni peale panna, näiteks kaitsekile. Kui soovite siin jootraha anda, võite selle lükkamiseks kasutada kaarti, et see saaks korralikult kinni jääda!

6. samm: kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega

Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega

Kui olete LED -riba jootmisega nii hästi hakkama saanud, on aeg LED -riba tagaküljele panna. Esmalt kinnitage LED-riba tagaküljele liimipüstol või kahepoolne teip. Ja kõigepealt eemaldage jootetraadi mõlemalt küljelt juhtmed mõlema külje avade kaudu. Lõpuks kinnitage LED -riba tagumise akrüüli külge ja see on läbi!

On jootmise aeg! valmistage ette LED-ribad, 4-kontaktilised pistikud (pistik või juhtmed) ja jootmiseks vajalik. Kasutasin LED -e kolmes ühikus. Soovi korral võite kasutada ühte või kahte LED -i, kuid soovitan kasutada kolme. Kui kõik materjalid on valmis, jootke juhtmed LED -riba mõlema andmeliini, 5 -voldise ja maandusliini külge.

Samm: juhtmetega jootmislüliti

Jootmislüliti juhtmetega
Jootmislüliti juhtmetega
Jootmislüliti juhtmetega
Jootmislüliti juhtmetega

8. samm: kokkupanek -sisestage polt küljelt = ①

Kokkupanek -sisestage polt küljelt = ①
Kokkupanek -sisestage polt küljelt = ①
Kokkupanek -sisestage polt küljelt = ①
Kokkupanek -sisestage polt küljelt = ①

Nüüd on see tõesti lihtne osa! Asetage üks polt mõlemale 3D -prinditud küljele. Põhjus, miks poldinupu kasutamine nagu konstruktsioonipoltide ja mutrite kasutamine on võimalik. Kui tükk on valmis, panen tüki ümbrisesse ja viimistlen pähkliga.

9. samm: kinnitage Ⓛⓣ the = ② külge

Kinnitage Ⓛⓣ Ⓒ = ② külge
Kinnitage Ⓛⓣ Ⓒ = ② külge
Kinnitage Ⓛⓣ Ⓒ = ② külge
Kinnitage Ⓛⓣ Ⓒ = ② külge

10. samm: kokkupanek -ühendage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③

Kokkupanek -Kasutage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
Kokkupanek -Kasutage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
Kokkupanek -Kasutage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
Kokkupanek -Kasutage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
Kokkupanek -Kasutage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
Kokkupanek -Kasutage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③

Samm 11: kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülühendi kasutamine = ④

Kokkupanek -kinnitage Ⓐⓔ ja ③ kasutades akrüülvõlakirja = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ kasutades akrüülvõlakirja = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ kasutades akrüülvõlakirja = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ kasutades akrüülvõlakirja = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülvõlakirja abil = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülvõlakirja abil = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülvõlakirja abil = ④
Kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülvõlakirja abil = ④

Kui paned poldi küljele, paneme selle küljele ja esiküljele. Esikülg on akrüül, nii et peate selle panema spetsiaalse akrüülist sidemega. Kui kinnitate tavalisele sidemele akrüüli, jätab see jälje.

12. samm: kinnitage Ⓢ Ⓓ = ⑤ külge

Kinnitage Ⓢ punktile Ⓓ = ⑤
Kinnitage Ⓢ punktile Ⓓ = ⑤
Kinnitage Ⓢ punktile Ⓓ = ⑤
Kinnitage Ⓢ punktile Ⓓ = ⑤

Samm 13: kokkupanek -ühendage ④ ja ⑤, kasutades nuppe Ⓦ ja Ⓝ = ⑥

Kokkupanek -ühendage ④ ja ⑤ Kasutades Ⓦ ja Ⓝ = ⑥
Kokkupanek -ühendage ④ ja ⑤ Kasutades Ⓦ ja Ⓝ = ⑥
Kokkupanek -ühendage ④ ja ⑤ Kasutades Ⓦ ja Ⓝ = ⑥
Kokkupanek -ühendage ④ ja ⑤ Kasutades Ⓦ ja Ⓝ = ⑥
Kokkupanek -ühendage ④ ja ⑤ Kasutades Ⓦ ja Ⓝ = ⑥
Kokkupanek -ühendage ④ ja ⑤ Kasutades Ⓦ ja Ⓝ = ⑥

14. samm: viige tükkide kokkupanek lõpule

Lõpetage tükkide kokkupanek
Lõpetage tükkide kokkupanek
Lõpetage tükkide kokkupanek
Lõpetage tükkide kokkupanek
Lõpetage tükkide kokkupanek
Lõpetage tükkide kokkupanek

15. etapp: projekti välimus

Image
Image

16. samm: NeoPixel, pistiku juhtmestik

NeoPixel, pistiku juhtmestik
NeoPixel, pistiku juhtmestik
NeoPixel, pistiku juhtmestik
NeoPixel, pistiku juhtmestik
NeoPixel, pistiku juhtmestik
NeoPixel, pistiku juhtmestik

Samm 17: NeoPixeli ja Arduino juhtmestik

NeoPixel ja Arduino juhtmestik
NeoPixel ja Arduino juhtmestik

Samm: programmeerige Arduino

väline lenduv allkirjastamata pikk taimer0_millis;

#kaasake

#define MODEBTNNUM 3 int ani_mode = 0; allkirjastamata pikk preM1, preM2, preM3;

tühine seadistus () {

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

void loop () {

jaoks (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } jaoks (int i = 0; i <6; i ++) {Wire.requestFrom (i+1, 1); while (Wire.available ()) {int x = Wire.read (); // Seeria.println (x); kui (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} /////////////////////////////////////////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; jaoks (int i = 1; i 5000) {preM2 = praegune2; jaoks (int i = 1; i 3000) {preM3 = praegune3; // taimer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("taimeri lähtestamine"); jaoks (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}

19. samm:

väline lenduv allkirjastamata pikk taimer0_millis;

#kaasake

#include #define PIN 12 #define NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int number = NUMPIXELS / 3; const int oriNum = 1; int värvid [number] [3]; int toon [number]; int ist [number]; int hele [number]; int pNumber = 0; int gVäärtus [arv] = {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, 1, 1, 1}; const int btnPin [number] = {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 [number]; boolean btnMode; int hueV [number] = {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, 1, 1, 1}; #include #define BTNNUM 1 int f_v = 1; allkirjastamata pikk preMillis1; allkirjata pikk preM; int ani_mode = 0; int ani2_Counter = 0; int loendur = 0; ////////////////////////////////////////////////////////////////- algus (slaveNum); Wire.onRequest (requestEvent); Wire.onRecept (ReceiveEvent); jaoks (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Seriaalne.algus (9600); riba.algus (); } ////////////////////////////////////////////////////////////

void loop () {

kui (f_v == 1) {jaoks (int i = 0; i <arv; i ++) {toon = 50; ist = 95; hele = 100; } f_v = 0; } ////////////////////////////////////////////////////////////////////// vale; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin ))) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ///////////////////////// murda; juhtum 1: ani1 (); ani_mode = 0; ani2_Counter = 0; murda; juhtum 2: ani2_Counter = 1; ani_mode = 0; murda; juhtum 3: ani3 (); ani_mode = 0; ani2_Counter = 0; murda; vaikimisi: readyState (); murda; } kui (ani2_Counter == 1) {ani2 (); } setPixels (arv); }

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

void ReceiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("sai 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } ////////////////////////////////////////////////////////////////////, if (btnMode == true) {

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

}

tühine ani0 () {

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

tühine ani1 () {

// Serial.println ("1"); kui (pNumber == 0) {for (int i = 0; i <number; i ++) {bright = 0; gVäärtus = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; jaoks (int a = 0; a <2; a ++) {toon [a1 [a] = 100; istus [a1 [a] = 95; hele [a1 [a] = 100; } jaoks (int b = 0; b <2; b ++) {toon [b1 = 200; ist [b1 = 95; hele [b1 = 100; } jaoks (int c = 0; c <2; c ++) {toon [c1 [c] = 300; ist [c1 [c] = 95; hele [c1 [c] = 100; } // Serial.println ("0"); } muidu kui (pNumber == 1) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; jaoks (int a = 0; a <8; a ++) {toon [a2 [a] = 26; istus [a2 [a] = 95; hele [a2 [a] = 100; } jaoks (int d = 0; d <4; d ++) {hue [d2 [d] = 63; ist [d2 [d] = 95; hele [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// hiiglasliku kuubi muster (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // kollane 06 (int a = 0; a <6; a ++) {toon [a14 [a] = 35; istus [a14 [a] = 95; hele [a14 [a] = 100; }} muu, kui (pNumber == 3) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // kollane (int a = 0; a <6; a ++) {toon [a3 [a] = 53; istus [a3 [a] = 95; hele [a3 [a] = 100; }} muu, kui (pNumber == 4) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a4 = {34, 35}; // kollane int b4 = {47}; // sinine int c4 = {48}; // lilla

jaoks (int a = 0; a <2; a ++) {toon [a4 [a] = 53; istus [a4 [a] = 95; hele [a4 [a] = 100; }

jaoks (int b = 0; b <1; b ++) {toon [b4 = 210; ist [b4 = 95; hele [b4 = 100; } jaoks (int c = 0; c <1; c ++) {toon [c4 [c] = 307; ist [c4 [c] = 95; hele [c4 [c] = 100; }} muidu, kui (pNumber == 5) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a5 = {34, 35, 46, 47, 48, 49};

jaoks (int a = 0; a <6; a ++) {toon [a5 [a] = 100; istus [a5 [a] = 95; hele [a5 [a] = 100; }} muu, kui (pNumber == 6) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // kollane (int a = 0; a <6; a ++) {toon [a6 [a] = 53; istus [a6 [a] = 95; hele [a6 [a] = 100; }} muu, kui (pNumber == 7) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c7 [c] = 307; ist [c7 [c] = 95; hele [c7 [c] = 100; }} muu, kui (pNumber == 8) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c8 [c] = 307; ist [c8 [c] = 95; hele [c8 [c] = 100; }} muu, kui (pNumber == 9) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c9 [c] = 307; ist [c9 [c] = 95; hele [c9 [c] = 100; }} muu, kui (pNumber == 10) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c10 [c] = 307; ist [c10 [c] = 95; hele [c10 [c] = 100; }} muu, kui (pNumber == 11) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c11 [c] = 307; ist [c11 [c] = 95; hele [c11 [c] = 100; }} muu, kui (pNumber == 12) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c12 [c] = 307; ist [c12 [c] = 95; hele [c12 [c] = 100; }} muu, kui (pNumber == 13) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a13 = {34, 35}; // kollane int b13 = {47}; // sinine int c13 = {48}; // lilla (int a = 0; a <2; a ++) {toon [a13 [a] = 53; istus [a13 [a] = 95; hele [a13 [a] = 100; } jaoks (int b = 0; b <1; b ++) {hue [b13 = 210; ist [b13 = 95; hele [b13 = 100; } jaoks (int c = 0; c <1; c ++) {toon [c13 [c] = 307; ist [c13 [c] = 95; hele [c13 [c] = 100; }} pNumber = pNumber + 1;

kui (pNumber == 14) {

pNumber = 0; }}

tühine ani2 () {

// Serial.println ("2"); allkirjastamata pikk curM = millis ();

if (curM - preM> = 10) {

preM = curM; jaoks (int i = 0; i <arv; i ++) {kui (toon = 360) {gVäärtus = -1; } toon = toon + gVäärtus ; } loendur ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (loendur); // Serial.println (curM); loendur = 0; ani2_Counter = 0; }}}

tühine ani3 () {

// Serial.println ("3"); } ///////////////////////////////////////////////////////////////////////////////, / Serial.println ("valmis"); } //////////////////////////////////////////////////////////////////////////////, {allkirjastamata pikk curMillis1 = millis ();

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

if (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; jaoks (int i = 0; i = 360) {hueV = -1; } muu kui (toon <= 0) {hueV = 1; } toon = toon + hueV ; hele = 100; }}}} ////////////////////////////////////////////////////////////////////////////// või tühi setPikslid (int k) {jaoks (int i = 0; i <k; i ++) {H2R_HSBtoRGB (toon , sat , hele , värvid ); int arv1 = i * 3; strip.setPixelColor (arv1, värvid [0], värvid [1], värvid [2]); strip.setPixelColor (arv1 + 1, värvid [0], värvid [1], värvid [2]); strip.setPixelColor (arv1 + 2, värvid [0], värvid [1], värvid [2]); } strip.show (); }

20. samm: mustrid

Mustrid!
Mustrid!
Mustrid!
Mustrid!

Sellel projektil on mitu kolmnurka, mis moodustavad kuusnurkse kuju. Nii saate luua stereoskoopilisi mustreid vastavalt sellele, kuidas valgust kujundate! Lihtsalt vajutage igat tükki ja erinevad värvid on gradueeritud ning kui soovitud värv välja tuleb, vajutage lihtsalt vajutatud käele ja see särab jätkuvalt kaunilt soovitud värviga!

Soovitan: