Obsah:

Rozsvieťte ma!: 20 krokov (s obrázkami)
Rozsvieťte ma!: 20 krokov (s obrázkami)

Video: Rozsvieťte ma!: 20 krokov (s obrázkami)

Video: Rozsvieťte ma!: 20 krokov (s obrázkami)
Video: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, November
Anonim
Rozžiar ma!
Rozžiar ma!
Rozžiar ma!
Rozžiar ma!
Rozžiar ma!
Rozžiar ma!
Rozžiar ma!
Rozžiar ma!

členovia projektového tímu

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Čo keby ste sa mohli dotknúť svetla a navrhnúť ho? Aký by to bol pocit, keby ste mali krásny vzor svetla, ktorý ste sami navrhli pomocou zaujímavej animácie? Rozsvieť ma bude zaujímavý skicár, ktorý sa dotýka a navrhuje samotné svetlo a vytvára zaujímavé vzory! Tento projekt má niekoľko trojuholníkov, ktoré tvoria šesťuholníkový tvar. Môžete teda vytvárať stereoskopické vzory podľa toho, ako navrhujete svetlo! Stačí stlačiť každý kus a rôzne farby sa budú gradovať, a keď sa objaví požadovaná farba, stačí stlačiť ruku, ktorú ste stlačili, a bude naďalej krásne svietiť farbou, ktorú ste chceli! Projekt použil asi 312 trojuholníkov, ale dalo by sa vytvoriť pekné svetlo, ktoré funguje dobre so 6 trojuholníkmi. Teraz vám ukážem, ako to urobiť so šiestimi trojuholníkmi. Postupujte podľa týchto pokynov a budete mať svoju vlastnú úžasnú prácu!

Zásoby

Hardvér: Arduino (použil som arduino mega 2560), Akryl (číry, biely), LED pásik (NeoPixel), Difúzorová fólia, tlačidlo, 4 -pólový konektor, drôt, doska s plošnými spojmi, Napájanie

Nástroje: Laserom vedený rezací stroj, 3D tlačiareň

Krok 1: Poďme na to

Poďme na to!
Poďme na to!
Poďme na to!
Poďme na to!
Poďme na to!
Poďme na to!

Vyrobme so mnou tento roztomilý šesťuholníkový kúsok!

Light Me Up je vyrobený z 312 trojuholníkov, ale aj 6 trojuholníkov dokáže navrhnúť nádherné svetlo. Ak to chcete urobiť vo väčšom meradle, môžete to urobiť pomocou nižšie uvedeného súboru.

Krok 2: Príprava materiálu

Príprava materiálu
Príprava materiálu

Krok 3: Rezanie akrylu

Rezanie akrylom
Rezanie akrylom
Rezanie akrylom
Rezanie akrylom
Rezanie akrylom
Rezanie akrylom
Rezanie akrylom
Rezanie akrylom

Pomocou laserovej rezačky odrežte prednú a zadnú časť každej časti. Farba akrylu na zadnej strane môže byť ľubovoľná, ale určite použite priehľadný akryl, pretože prednú stranu je potrebné stlmiť! Ak použijete iný akrylový ako priehľadný, svetlo dobre neuvidíte.

Krok 4: Vytvorte stranu pomocou 3D tlačiarní

Vytvárajte strany s 3D tlačiarňami
Vytvárajte strany s 3D tlačiarňami
Vytvárajte strany s 3D tlačiarňami
Vytvárajte strany s 3D tlačiarňami
Vytvárajte strany s 3D tlačiarňami
Vytvárajte strany s 3D tlačiarňami

Teraz je čas urobiť strany každého kusu. Poďme na to! 3D modelovacie súbory na boku sú priložené nižšie. Na výrobu strán sme použili PLA PLA je silnejšia a má menej kontrakcií ako ABS, preto sa odporúča používať vlákna PLA.

Krok 5: Filmovanie

Filmovanie
Filmovanie
Filmovanie
Filmovanie
Filmovanie
Filmovanie

Teraz naneste na akrylát na prednú stranu fóliu na difúziu svetla. Ak naň položíte film, roztiahne sa a bude žiariť oveľa krajšie. Najprv odstrihnite film do tvaru trojuholníka. (Radšej by ste mali fóliu odstrihnúť väčšiu ako rezaný akrylát) Na telefón je jednoduché položiť film, napríklad na ochrannú fóliu. Ak tu chcete dať sprepitné, môžete pomocou karty zatlačiť, aby sa dala úhľadne prilepiť!

Krok 6: Pripojte pásik LED + spájkovaciu pásku LED (NeoPixel) k drôtom

Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov
Pripojte LED pásik + spájkovací LED pásik (NeoPixel) pomocou drôtov

Ak ste boli tak dobrí v spájkovaní LED pásika, je na čase dať LED pás na zadnú stranu. Najprv na zadnú stranu LED pásky pripevnite lepiacu pištoľ alebo obojstrannú pásku. A najskôr odstráňte drôty z oboch strán spájkovacieho drôtu cez otvory na oboch stranách. Nakoniec LED pásik pripevnite k zadnému akrylu a je koniec!

Je čas spájkovania! pripravte si LED pásy, 4-kolíkové konektory (konektor alebo vodiče) a to, čo potrebujete na spájkovanie. Použil som LED diódy v troch jednotkách. Ak chcete, môžete použiť jednu alebo dve LED diódy, ale odporúčam použiť tri. Keď sú všetky materiály pripravené, spájkujte vodiče v oboch dátových vedeniach, 5V linkách a uzemňovacích líniách pásky LED.

Krok 7: Spínač taktovania spájkovania s drôtmi

Spínač taktovania spájkovania s drôtmi
Spínač taktovania spájkovania s drôtmi
Spínač taktovania spájkovania s drôtmi
Spínač taktovania spájkovania s drôtmi

Krok 8: Montáž -Vložte skrutku na stranu = ①

Montáž -Vložte skrutku na stranu = ①
Montáž -Vložte skrutku na stranu = ①
Montáž -Vložte skrutku na stranu = ①
Montáž -Vložte skrutku na stranu = ①

Teraz je to skutočne jednoduchá časť! Položte jednu skrutku na každú z troch strán s 3D tlačou. Dôvod, prečo používať tlačidlo skrutky ako konštrukčné skrutky a matice bude možné urobiť. Keď je kus hotový, vložím kus do puzdra a dokončím ho maticou.

Krok 9: Pripojte Ⓛⓣ k Ⓒ = ②

Pripojte Ⓛⓣ k Ⓒ = ②
Pripojte Ⓛⓣ k Ⓒ = ②
Pripojte Ⓛⓣ k Ⓒ = ②
Pripojte Ⓛⓣ k Ⓒ = ②

Krok 10: Zostavenie -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ

Zostava -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
Zostava -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
Zostava -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
Zostava -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
Zostava -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
Zostava -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ

Krok 11: Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④

Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④

Ak dáte skrutku na bok, dáme ju na bočnú a prednú stranu. Predná strana je akrylová, takže si ju musíte obliecť špeciálnym akrylovým spojom. Ak na pravidelnú väzbu pripevníte akryl, zanechá to stopu.

Krok 12: Pripojte Ⓢ k Ⓓ = ⑤

Pripojte Ⓢ k Ⓓ = ⑤
Pripojte Ⓢ k Ⓓ = ⑤
Pripojte Ⓢ k Ⓓ = ⑤
Pripojte Ⓢ k Ⓓ = ⑤

Krok 13: Zostavenie -skombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥

Zostava -Kombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
Zostava -Kombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
Zostava -Kombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
Zostava -Kombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
Zostava -Kombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
Zostava -Kombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥

Krok 14: Kompletná kusová montáž

Kompletná kusová montáž
Kompletná kusová montáž
Kompletná kusová montáž
Kompletná kusová montáž
Kompletná kusová montáž
Kompletná kusová montáž

Krok 15: Pracovný vzhľad projektu

Image
Image

Krok 16: NeoPixel, zapojenie konektora

NeoPixel, zapojenie konektorov
NeoPixel, zapojenie konektorov
NeoPixel, zapojenie konektorov
NeoPixel, zapojenie konektorov
NeoPixel, zapojenie konektorov
NeoPixel, zapojenie konektorov

Krok 17: Zapojenie NeoPixel a Arduino

Zapojenie NeoPixel a Arduino
Zapojenie NeoPixel a Arduino

Krok 18: Naprogramujte Arduino

externý prchavý nepodpísaný dlhý časovač0_millis;

#zahrnúť

#define MODEBTNNUM 3 int ani_mode = 0; bez znamienka dlhý preM1, preM2, preM3;

neplatné nastavenie () {

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

prázdna slučka () {

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

Krok 19:

externý prchavý nepodpísaný dlhý časovač0_millis;

#zahrnúť

#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; vnútorné farby [počet] [3]; int odtieň [počet]; int sat [počet]; int svetlé [num]; int pNumber = 0; int gHodnota [počet] = {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 [počet] = {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]; booleovský btnMode; int hueV [počet] = {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, 1}; #include #define BTNNUM 1 int f_v = 1; bez znamienka dlhý preMillis1; nepodpísané dlhé preM; int ani_mode = 0; int ani2_Counter = 0; int počítadlo = 0; ///////////////////////////////////////////////// neplatné nastavenie () {Wire. begin (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (receiveEvent); pre (int i = 0; i <počet; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); } /////////////////////////////////////////////////

prázdna slučka () {

if (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; sat = 95; svetlý = 100; } f_v = 0; } ////////////////////////////////////////// // 버튼 입력 체크: 멈춤 신호 보내기 btnMode = falošný; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); //////////////////////////////////////////// prepínač (ani_mode) {prípad 0: ani0 (); prestávka; prípad 1: ani1 (); ani_mode = 0; ani2_Counter = 0; prestávka; prípad 2: ani2_Counter = 1; ani_mode = 0; prestávka; prípad 3: ani3 (); ani_mode = 0; ani2_Counter = 0; prestávka; predvolené: readyState (); prestávka; } if (ani2_Counter == 1) {ani2 (); } setPixels (num); }

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

void receiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("prijatých 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } ///////////////////////////////////////////////// neplatná žiadosťEvent () {

if (btnMode == true) {

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

}

void ani0 () {

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

void ani1 () {

// Serial.println ("1"); if (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; pre (int a = 0; a <2; a ++) {odtieň [a1 [a] = 100; sat [a1 [a] = 95; svetlý [a1 [a] = 100; } pre (int b = 0; b <2; b ++) {odtieň [b1 = 200; sat [bl = 95; svetlý [b1 = 100; } pre (int c = 0; c <2; c ++) {hue [c1 [c] = 300; sat [c1 [c] = 95; svetlý [c1 [c] = 100; } // Serial.println ("0"); } else if (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; pre (int a = 0; a <8; a ++) {odtieň [a2 [a] = 26; sat [a2 [a] = 95; svetlý [a2 [a] = 100; } pre (int d = 0; d <4; d ++) {hue [d2 [d] = 63; sat [d2 [d] = 95; svetlý [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// vzor obrovskej kocky pre (int i = 0; i <počet; i ++) {jasný = 0; gHodnota = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // žltá 06 pre (int a = 0; a <6; a ++) {hue [a14 [a] = 35; sat [a14 [a] = 95; svetlé [a14 [a] = 100; }} else if (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // žltá pre (int a = 0; a <6; a ++) {hue [a3 [a] = 53; sat [a3 [a] = 95; svetlý [a3 [a] = 100; }} else if (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a4 = {34, 35}; // yellow int b4 = {47}; // blue int c4 = {48}; // purple

pre (int a = 0; a <2; a ++) {odtieň [a4 [a] = 53; sat [a4 [a] = 95; svetlý [a4 [a] = 100; }

pre (int b = 0; b <1; b ++) {odtieň [b4 = 210; sat [b4 = 95; svetlý [b4 = 100; } pre (int c = 0; c <1; c ++) {odtieň [c4 [c] = 307; sat [c4 [c] = 95; svetlý [c4 [c] = 100; }} else if (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a5 = {34, 35, 46, 47, 48, 49};

pre (int a = 0; a <6; a ++) {odtieň [a5 [a] = 100; sat [a5 [a] = 95; svetlý [a5 [a] = 100; }} else if (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // žltá pre (int a = 0; a <6; a ++) {hue [a6 [a] = 53; sat [a6 [a] = 95; svetlý [a6 [a] = 100; }} else if (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // fialová pre (int c = 0; c <6; c ++) {hue [c7 [c] = 307; sat [c7 [c] = 95; svetlý [c7 [c] = 100; }} else if (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // fialová pre (int c = 0; c <6; c ++) {hue [c8 [c] = 307; sat [c8 [c] = 95; svetlý [c8 [c] = 100; }} else if (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // fialová pre (int c = 0; c <6; c ++) {hue [c9 [c] = 307; sat [c9 [c] = 95; svetlý [c9 [c] = 100; }} else if (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // fialová pre (int c = 0; c <6; c ++) {hue [c10 [c] = 307; sat [c10 [c] = 95; svetlý [c10 [c] = 100; }} else if (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // fialová pre (int c = 0; c <6; c ++) {hue [c11 [c] = 307; sat [c11 [c] = 95; svetlý [c11 [c] = 100; }} else if (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // fialová pre (int c = 0; c <6; c ++) {hue [c12 [c] = 307; sat [c12 [c] = 95; svetlý [c12 [c] = 100; }} else if (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a13 = {34, 35}; // yellow int b13 = {47}; // blue int c13 = {48}; // fialová pre (int a = 0; a <2; a ++) {hue [a13 [a] = 53; sat [a13 [a] = 95; svetlý [a13 [a] = 100; } pre (int b = 0; b <1; b ++) {odtieň [b13 = 210; sat [b13 = 95; svetlý [b13 = 100; } pre (int c = 0; c <1; c ++) {odtieň [c13 [c] = 307; sat [c13 [c] = 95; svetlé [c13 [c] = 100; }} pNumber = pNumber + 1;

if (pNumber == 14) {

pNumber = 0; }}

void ani2 () {

// Serial.println ("2"); nepodpísané dlhé curM = millis ();

if (curM - preM> = 10) {

preM = curM; pre (int i = 0; i <počet; i ++) {if (odtieň = 360) {gHodnota = -1; } odtieň = odtieň + gHodnota ; } počítadlo ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (počítadlo); // Serial.println (curM); počítadlo = 0; ani2_Counter = 0; }}}

void ani3 () {

// Serial.println ("3"); } ///////////////////////////////////////////////// void readyState () {/ / Serial.println ("pripravený"); } ///////////////////////////////////////////////// neplatné btnEvent (int b_interval) {unsigned long curMillis1 = millis ();

pre (int i = 0; i <počet; i ++) {btnState = digitalRead (btnPin ); }

if (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; pre (int i = 0; i = 360) {hueV = -1; } else if (odtieň <= 0) {hueV = 1; } odtieň = odtieň + hueV ; svetlý = 100; }}}} /////////////////////////////////////////////////// neplatná sadaPixely (int k) {pre (int i = 0; i <k; i ++) {H2R_HSBtoRGB (odtieň , sat , jasný , farby ); int num1 = i * 3; strip.setPixelColor (num1, farby [0], farby [1], farby [2]); strip.setPixelColor (num1 + 1, farby [0], farby [1], farby [2]); strip.setPixelColor (num1 + 2, farby [0], farby [1], farby [2]); } strip.show (); }

Krok 20: Vzory

Vzory!
Vzory!
Vzory!
Vzory!

Tento projekt má niekoľko trojuholníkov, ktoré tvoria šesťuholníkový tvar. Môžete teda vytvárať stereoskopické vzory podľa toho, ako navrhujete svetlo! Stačí stlačiť každý kus a rôzne farby sa budú gradovať, a keď vyjde požadovaná farba, stačí stlačiť ruku, ktorú ste stlačili, a bude naďalej krásne svietiť požadovanou farbou!

Odporúča: