Obsah:
- Zásoby
- Krok 1: Poďme na to
- Krok 2: Príprava materiálu
- Krok 3: Rezanie akrylu
- Krok 4: Vytvorte stranu pomocou 3D tlačiarní
- Krok 5: Filmovanie
- Krok 6: Pripojte pásik LED + spájkovaciu pásku LED (NeoPixel) k drôtom
- Krok 7: Spínač taktovania spájkovania s drôtmi
- Krok 8: Montáž -Vložte skrutku na stranu = ①
- Krok 9: Pripojte Ⓛⓣ k Ⓒ = ②
- Krok 10: Zostavenie -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
- Krok 11: Montáž -Pripojte Ⓐⓔ a ③ pomocou akrylovej lepenky = ④
- Krok 12: Pripojte Ⓢ k Ⓓ = ⑤
- Krok 13: Zostavenie -skombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
- Krok 14: Kompletná kusová montáž
- Krok 15: Pracovný vzhľad projektu
- Krok 16: NeoPixel, zapojenie konektora
- Krok 17: Zapojenie NeoPixel a Arduino
- Krok 18: Naprogramujte Arduino
- Krok 19:
- Krok 20: Vzory
Video: Rozsvieťte ma!: 20 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
č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
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
Krok 3: Rezanie akrylu
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í
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
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
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
Krok 8: 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 Ⓒ = ②
Krok 10: Zostavenie -Na kombináciu ① a ② = ③ použite a Ⓦ a Ⓝ
Krok 11: 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 Ⓓ = ⑤
Krok 13: Zostavenie -skombinujte ④ a ⑤ pomocou Ⓦ a Ⓝ = ⑥
Krok 14: Kompletná kusová montáž
Krok 15: Pracovný vzhľad projektu
Krok 16: NeoPixel, zapojenie konektora
Krok 17: 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
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:
Rozsvieťte pokladničku: 4 kroky
Light-up Treasure Box: Toto je projekt, ktorý som vyrobil pre svojho 4-ročného syna, ktorý požiadal o špeciálnu škatuľu na uchovávanie a skladovanie malých dinosaurov, komiksov, mušlí a náhodných kúskov dreva a papiera, alias „pokladov“. " Ide v podstate o jednoduchú drevenú škatuľu so sklopným vekom,
Rozsvieťte palicu Gandalfa: 9 krokov
Rozsvieťte Gandalfa Bielu palicu: Od sledovania Pána prsteňov som vždy chcel Gandalfa Bielu palicu. Na Thingivers.com som našiel jeden návrh. Pomocou Tinkercad som upravil dizajn, aby sa rozsvietil
Rozsvieťte LED diódu s nečistotami: 10 krokov (s obrázkami)
Zapáľte LED diódou: Toto bol experiment, s ktorým som sa bavil! Možno vás bude baviť replikovať? Zaujala ma takzvaná „zemská batéria“dlho. Aby bola zariadenie skutočnou batériou Zeme, nie iba galvanickou batériou, musí
Rozsvieťte karty LED: 8 krokov (s obrázkami)
Rozsvieťte LED karty: Ahoj, je to opäť aardvark pre ďalší návod. Toto je lacnejší spôsob vytvorenia svetelnej karty ako niektoré iné metódy online. Myslím si, že tento projekt je zábavný spôsob, ako naučiť dospievajúce dievčatá a chlapcov o elektrine. Dúfam, že sa vám bude páčiť a
Rozsvieťte kazetovú kazetu a nechajte sa hýčkať na oslavách: 5 krokov (s obrázkami)
Rozžiarte kazetovú kazetu, nechajte sa povzbudiť na večierkoch typu Rave .: Čo na tom! Toto je Galden. Galden je posádka, ktorá má navrhnúť hobby elektroniku pre dievčatá. Dovoľte mi, aby som vám predstavil, ako vyrobiť príslušenstvo LED, ktoré sa perfektne hodí na rave večierky. Čo bude vyzerať rozsvietené, keď sa rozsvieti? Keď máte niečo zapálené,