Obsah:

Rozsviťte mě!: 20 kroků (s obrázky)
Rozsviťte mě!: 20 kroků (s obrázky)

Video: Rozsviťte mě!: 20 kroků (s obrázky)

Video: Rozsviťte mě!: 20 kroků (s obrázky)
Video: 20 ZAJÍMAVOSTÍ O VAŠEM PINĎOUROVI 2024, Listopad
Anonim
Rozsviť mě!
Rozsviť mě!
Rozsviť mě!
Rozsviť mě!
Rozsviť mě!
Rozsviť mě!
Rozsviť mě!
Rozsviť mě!

členové projektového týmu

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Co kdybyste se mohli dotknout a navrhnout světlo? Jaké by to bylo, kdybyste měli krásný světelný vzor, který jste sami navrhli pomocí zajímavé animace? Rozsviť mě bude zajímavý skicář, který se dotýká a navrhuje samotné světlo a vytváří zajímavé vzory! Tento projekt má několik trojúhelníků, které tvoří šestihranný tvar. Můžete tedy vytvářet stereoskopické vzory podle toho, jak navrhujete světlo! Stačí stisknout každý kus a různé barvy budou odstupňovány, a když vyjde požadovaná barva, stačí stisknout ruku, kterou jste stiskli, a bude nadále krásně svítit barvou, kterou jste chtěli! Projekt použil asi 312 trojúhelníků, ale mohl vytvořit pěkné světlo, které funguje dobře se 6 trojúhelníky. Nyní vám ukážu, jak to udělat se šesti trojúhelníky. Postupujte podle pokynů a budete mít svou vlastní úžasnou práci!

Zásoby

Hardware: Arduino (použil jsem arduino mega 2560), Akryl (čirý, bílý), LED pásek (NeoPixel), Difuzní fólie, tlačítko, 4pinový konektor, Vodič, Deska s plošnými spoji, Napájecí zdroj

Nástroje: Laserem vedený řezací stroj, 3D tiskárna

Krok 1: Pojďme na to

Pojďme to zvládnout!
Pojďme to zvládnout!
Pojďme to zvládnout!
Pojďme to zvládnout!
Pojďme to zvládnout!
Pojďme to zvládnout!

Pojďme udělat tento roztomilý šestihranný kousek se mnou!

Light Me Up je vyrobeno z 312 trojúhelníků, ale i 6 trojúhelníků dokáže navrhnout nádherné světlo. Pokud to chcete udělat ve větším měřítku, můžete to udělat podle níže přiloženého souboru.

Krok 2: Příprava materiálu

Příprava materiálu
Příprava materiálu

Krok 3: Řezání akrylu

Řezání akrylu
Řezání akrylu
Řezání akrylu
Řezání akrylu
Řezání akrylu
Řezání akrylu
Řezání akrylu
Řezání akrylu

Pomocí laserové řezačky odřízněte přední a zadní část každé části. Barva akrylu na zadní straně může být libovolná, ale použijte transparentní akrylát, protože přední část musí být ztlumena! Pokud použijete jiný než průhledný barevný akryl, světlo dobře neuvidíte.

Krok 4: Vytvořte strany pomocí 3D tiskáren

Vytvářejte strany s 3D tiskárnami
Vytvářejte strany s 3D tiskárnami
Vytvářejte strany s 3D tiskárnami
Vytvářejte strany s 3D tiskárnami
Vytvářejte strany s 3D tiskárnami
Vytvářejte strany s 3D tiskárnami

Nyní je čas udělat strany každého kusu. Pojďme na to! Soubory 3D modelování na boku jsou připojeny níže. K vytvoření stran jsme použili PLA PLA je silnější a má menší kontrakce než ABS, proto se k použití PLA doporučuje používat vlákna.

Krok 5: Natáčení

Natáčení
Natáčení
Natáčení
Natáčení
Natáčení
Natáčení

Nyní naneseme na akrylát na přední stranu fólii pro difúzi světla. Pokud na něj dáte film, roztáhne se a bude svítit mnohem hezčeji. Nejprve nařízněte fólii do tvaru trojúhelníku. (Raději fólii nařízněte větší než řezaný akryl) Na film je snadné nasadit film, například na ochranný film. Pokud zde chcete dát spropitné, můžete ji pomocí karty zatlačit, aby se dala úhledně nalepit!

Krok 6: Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů

Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů

Pokud jste byli tak dobří v pájení LED pásku, je na čase dát LED pásek na zadní stranu. Nejprve na zadní stranu LED pásku připevněte lepicí pistoli nebo oboustrannou pásku. A nejprve odstraňte dráty z obou stran pájecího drátu skrz otvory na obou stranách. Nakonec LED pásek připevněte na zadní akrylát a je konec!

Je čas pájení! připravte si LED pásky, 4pinové konektory (konektor nebo vodiče) a co potřebujete k pájení. Použil jsem LED diody ve třech jednotkách. Pokud chcete, můžete použít jednu nebo dvě LED diody, ale doporučuji použít tři. Když jsou všechny materiály připraveny, pájejte vodiče v obou datových linkách, 5v linkách a zemnicích linkách LED pásky.

Krok 7: Přepínač pájení s dráty

Přepínač pájení s dráty
Přepínač pájení s dráty
Přepínač pájení s dráty
Přepínač pájení s dráty

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

Montáž -Vložte šroub na stranu = ①
Montáž -Vložte šroub na stranu = ①
Montáž -Vložte šroub na stranu = ①
Montáž -Vložte šroub na stranu = ①

Nyní je to opravdu snadná část! Umístěte jeden šroub na každou ze tří 3D vytištěných stran. Důvod, proč pomocí šroubového tlačítka, jako je použití strukturálních šroubů a matic, bude možné vyrobit. Když je kus hotový, vložím kus do pouzdra a dokončím maticí.

Krok 9: Připojte Ⓛⓣ k Ⓒ = ②

Připojte Ⓛⓣ k Ⓒ = ②
Připojte Ⓛⓣ k Ⓒ = ②
Připojte Ⓛⓣ k Ⓒ = ②
Připojte Ⓛⓣ k Ⓒ = ②

Krok 10: Sestavení -Použijte Ⓦ a Ⓝ ke kombinaci ① a ② = ③

Sestavení -Použijte Ⓦ a Ⓝ ke kombinaci ① a ② = ③
Sestavení -Použijte Ⓦ a Ⓝ ke kombinaci ① a ② = ③
Sestavení -Použijte a Ⓦ a Ⓝ ke kombinaci ① a ② = ③
Sestavení -Použijte a Ⓦ a Ⓝ ke kombinaci ① a ② = ③
Sestavení -Použijte a Ⓦ a Ⓝ ke kombinaci ① a ② = ③
Sestavení -Použijte a Ⓦ a Ⓝ ke kombinaci ① a ② = ③

Krok 11: Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylové lepenky = ④

Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylátového spoje = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylátového spoje = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylového lepidla = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylového lepidla = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylátového spoje = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylátového spoje = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylátového spoje = ④
Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylátového spoje = ④

Pokud dáte šroub na bok, dáme ho na bok a na přední stranu. Přední strana je akrylová, takže ji musíte nasadit speciální akrylovou vazbou. Pokud na běžný spoj připevníte akryl, zanechá to stopu.

Krok 12: Připojte Ⓢ k Ⓓ = ⑤

Připojte Ⓢ k Ⓓ = ⑤
Připojte Ⓢ k Ⓓ = ⑤
Připojte Ⓢ k Ⓓ = ⑤
Připojte Ⓢ k Ⓓ = ⑤

Krok 13: Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥

Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥

Krok 14: Dokončete sestavení kusu

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

Krok 15: Pracovní vzhled projektu

Image
Image

Krok 16: NeoPixel, zapojení konektoru

NeoPixel, zapojení konektorů
NeoPixel, zapojení konektorů
NeoPixel, zapojení konektorů
NeoPixel, zapojení konektorů
NeoPixel, zapojení konektorů
NeoPixel, zapojení konektorů

Krok 17: Zapojení NeoPixel a Arduino

Zapojení NeoPixel a Arduino
Zapojení NeoPixel a Arduino

Krok 18: Naprogramujte Arduino

externí nestálý nepodepsaný dlouhý časovač0_millis;

#zahrnout

#define MODEBTNNUM 3 int ani_mode = 0; nepodepsané dlouhé preM1, preM2, preM3;

neplatné nastavení () {

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

prázdná smyčka () {

pro (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); 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; pro (int i = 1; i 5000) {preM2 = current2; pro (int i = 1; i 3000) {preM3 = aktuální3; // timer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("reset časovače"); pro (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}

Krok 19:

extern volatile unsigned long timer0_millis;

#zahrnout

#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 barvy [počet] [3]; int odstín [num]; int sat [počet]; int jasný [počet]; 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, 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 [počet]; 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, 1, 1, 1, 1}; #include #define BTNNUM 1 int f_v = 1; nepodepsané dlouhé preMillis1; nepodepsané dlouhé preM; int ani_mode = 0; int ani2_Counter = 0; int čítač = 0; ///////////////////////////////////////////////// neplatné nastavení () {Wire. begin (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (receiveEvent); for (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); } /////////////////////////////////////////////////

prázdná smyčka () {

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

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

void receiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("přijato 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } ///////////////////////////////////////////////// neplatné requestEvent () {

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}; pro (int a = 0; a <2; a ++) {odstín [a1 [a] = 100; sat [a1 [a] = 95; jasný [a1 [a] = 100; } pro (int b = 0; b <2; b ++) {odstín [b1 = 200; sat [b1 = 95; světlý [b1 = 100; } pro (int c = 0; c <2; c ++) {hue [c1 [c] = 300; sat [c1 [c] = 95; jasný [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}; pro (int a = 0; a <8; a ++) {odstín [a2 [a] = 26; sat [a2 [a] = 95; jasný [a2 [a] = 100; } pro (int d = 0; d <4; d ++) {hue [d2 [d] = 63; sat [d2 [d] = 95; jasný [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// obra obrovské kostky pro (int i = 0; i <num; i ++) {jasný = 0; gHodnota = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // žlutá 06 pro (int a = 0; a <6; a ++) {hue [a14 [a] = 35; sat [a14 [a] = 95; jasný [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}; // žlutá pro (int a = 0; a <6; a ++) {hue [a3 [a] = 53; sat [a3 [a] = 95; jasný [a3 [a] = 100; }} else if (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gHodnota = 1; } int a4 = {34, 35}; // žlutá int b4 = {47}; // modrá int c4 = {48}; // fialová

pro (int a = 0; a <2; a ++) {odstín [a4 [a] = 53; sat [a4 [a] = 95; jasný [a4 [a] = 100; }

pro (int b = 0; b <1; b ++) {odstín [b4 = 210; sat [b4 = 95; jasný [b4 = 100; } pro (int c = 0; c <1; c ++) {hue [c4 [c] = 307; sat [c4 [c] = 95; jasný [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};

pro (int a = 0; a <6; a ++) {odstín [a5 [a] = 100; sat [a5 [a] = 95; jasný [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}; // žlutá pro (int a = 0; a <6; a ++) {hue [a6 [a] = 53; sat [a6 [a] = 95; jasný [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á pro (int c = 0; c <6; c ++) {hue [c7 [c] = 307; sat [c7 [c] = 95; jasný [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á pro (int c = 0; c <6; c ++) {hue [c8 [c] = 307; sat [c8 [c] = 95; jasný [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á pro (int c = 0; c <6; c ++) {hue [c9 [c] = 307; sat [c9 [c] = 95; jasný [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á pro (int c = 0; c <6; c ++) {hue [c10 [c] = 307; sat [c10 [c] = 95; jasný [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á pro (int c = 0; c <6; c ++) {hue [c11 [c] = 307; sat [c11 [c] = 95; jasný [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á pro (int c = 0; c <6; c ++) {hue [c12 [c] = 307; sat [c12 [c] = 95; jasný [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á pro (int a = 0; a <2; a ++) {hue [a13 [a] = 53; sat [a13 [a] = 95; jasný [a13 [a] = 100; } for (int b = 0; b <1; b ++) {hue [b13 = 210; sat [b13 = 95; jasný [b13 = 100; } pro (int c = 0; c <1; c ++) {hue [c13 [c] = 307; sat [c13 [c] = 95; jasný [c13 [c] = 100; }} pNumber = pNumber + 1;

if (pNumber == 14) {

pNumber = 0; }}

void ani2 () {

// Serial.println ("2"); unsigned long curM = millis ();

if (curM - preM> = 10) {

preM = curM; for (int i = 0; i <num; i ++) {if (odstín = 360) {gValue = -1; } odstín = odstín + gHodnota ; } čítač ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (čítač); // Serial.println (curM); čítač = 0; ani2_Counter = 0; }}}

void ani3 () {

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

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

if (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; pro (int i = 0; i = 360) {hueV = -1; } else if (odstín <= 0) {hueV = 1; } odstín = odstín + hueV ; jasný = 100; }}}} ///////////////////////////////////////////////// neplatné pixely (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (odstín , sat , jasný , barvy ); int num1 = i * 3; strip.setPixelColor (num1, barvy [0], barvy [1], barvy [2]); strip.setPixelColor (num1 + 1, barvy [0], barvy [1], barvy [2]); strip.setPixelColor (num1 + 2, barvy [0], barvy [1], barvy [2]); } strip.show (); }

Krok 20: Vzory

Vzory!
Vzory!
Vzory!
Vzory!

Tento projekt má několik trojúhelníků, které tvoří šestihranný tvar. Můžete tedy vytvářet stereoskopické vzory podle toho, jak navrhujete světlo! Stačí stisknout každý kus a různé barvy budou odstupňovány, a když vyjde požadovaná barva, stačí stisknout ruku, kterou jste stiskli, a bude nadále krásně svítit barvou, kterou jste chtěli!

Doporučuje: