Obsah:
- Zásoby
- Krok 1: Pojďme na to
- Krok 2: Příprava materiálu
- Krok 3: Řezání akrylu
- Krok 4: Vytvořte strany pomocí 3D tiskáren
- Krok 5: Natáčení
- Krok 6: Připojte LED pásek + pájecí LED pásek (NeoPixel) pomocí drátů
- Krok 7: Přepínač pájení s dráty
- Krok 8: Montáž -Vložte šroub na stranu = ①
- Krok 9: Připojte Ⓛⓣ k Ⓒ = ②
- Krok 10: Sestavení -Použijte Ⓦ a Ⓝ ke kombinaci ① a ② = ③
- Krok 11: Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylové lepenky = ④
- Krok 12: Připojte Ⓢ k Ⓓ = ⑤
- Krok 13: Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
- Krok 14: Dokončete sestavení kusu
- Krok 15: Pracovní vzhled projektu
- Krok 16: NeoPixel, zapojení konektoru
- Krok 17: Zapojení NeoPixel a Arduino
- Krok 18: Naprogramujte Arduino
- Krok 19:
- Krok 20: Vzory
Video: Rozsviťte mě!: 20 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
č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 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
Krok 3: Ř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
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í
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ů
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
Krok 8: 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 Ⓒ = ②
Krok 10: Sestavení -Použijte Ⓦ a Ⓝ ke kombinaci ① a ② = ③
Krok 11: Montáž -Připevněte Ⓐⓔ a ③ pomocí akrylové lepenky = ④
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 Ⓓ = ⑤
Krok 13: Sestavení -Kombinujte ④ a ⑤ pomocí Ⓦ a Ⓝ = ⑥
Krok 14: Dokončete sestavení kusu
Krok 15: Pracovní vzhled projektu
Krok 16: NeoPixel, zapojení konektoru
Krok 17: 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
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:
Rozsviťte LED s nečistotami: 10 kroků (s obrázky)
Rozsviťte LED dírkou: Byl to experiment, se kterým jsem se bavil! Možná by vás replikace mohla bavit? Zaujala mě takzvaná " zemská baterie " na dlouhou dobu. Aby byla zařízení skutečnou Zemskou baterií, nikoli pouhou galvanickou baterií, musí
Rozsviťte LED karty: 8 kroků (s obrázky)
Rozsviťte LED karty: Ahoj, je to opět aardvark pro další instruktáž. Toto je levnější způsob, jak vytvořit rozsvícenou kartu, než některé jiné metody online. Myslím, že tento projekt je zábavný způsob, jak naučit dospívající dívky a chlapce o elektřině. Doufám, že se vám bude líbit a bude
Rozsviťte kazetovou kazetu a nechte se nadchnout při večírcích: 5 kroků (s obrázky)
Rozsviťte kazetovou kazetu a nechte se nadchnout při večírcích: Cože! Toto je Galden. Galden je posádka, která má navrhnout hobby elektroniku pro dívky. Dovolte mi, abych vám představil, jak vyrobit LED příslušenství, které se perfektně hodí pro rave party. Co bude vypadat rozsvícené, když se rozsvítí? Když máte něco rozsvícené
Rozsviťte hodiny pro děti - Zelený znamená jít! Červená, zůstaňte na POSTELI !!!: 5 kroků (s obrázky)
Rozsviťte hodiny pro děti - Zelený znamená jít! Red, Stay in BED !!!: Zbláznili jsme se bez dostatečného spánku !!! Naše 2leté dítě nemohlo pochopit, jak " čekat na 7 " na hodinách, než ráno co ráno vycházel ze svého pokoje. Probudil by se brzy (myslím tak 5:27 - - "je 7 !!!"
Rozsviťte chanukový svetr s jednotlivými „svíčkami“: 7 kroků (s obrázky)
Rozsviťte chanukový svetr s jednotlivými „svíčkami“: Období svátečních večírků a letos můžete být zářící hvězdou večírku se svítícím menorovým svetrem! Jedná se o šitý obvodový projekt s použitím relativně levných materiálů, které lze snadno najít online a v obchodě s řemeslnými výrobky. Ještě lepší