
Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Selviämme
- Vaihe 2: Materiaalin valmistelu
- Vaihe 3: Akryylin leikkaaminen
- Vaihe 4: Tee sivut 3D -tulostimilla
- Vaihe 5: Kuvaaminen
- Vaihe 6: Kiinnitä LED -nauha + juotos -LED -nauha (NeoPixel) johdoilla
- Vaihe 7: Juotoskytkin johdoilla
- Vaihe 8: Kokoonpano -Aseta pultti sivulle = ①
- Vaihe 9: Kiinnitä Ⓛⓣ kohtaan Ⓒ = ②
- Vaihe 10: Kokoonpano -Käytä Ⓦ ja Ⓝ yhdistääksesi ① ja ② = ③
- Vaihe 11: Asennus -Kiinnitä Ⓐⓔ ja ③ käyttämällä akryylisidosta = ④
- Vaihe 12: Kiinnitä Ⓢ kohtaan Ⓓ = ⑤
- Vaihe 13: Kokoaminen -Yhdistä ④ ja ⑤ Käyttämällä Ⓦ ja Ⓝ = ⑥
- Vaihe 14: Suorita kappaleen asennus
- Vaihe 15: Projektin toimiva ulkonäkö
- Vaihe 16: NeoPixel, liittimen johdotus
- Vaihe 17: NeoPixel- ja Arduino -johdotus
- Vaihe 18: Ohjelmoi Arduino
- Vaihe 19:
- Vaihe 20: Kuviot
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41




projektitiimin jäsenet
(Hyewon Shin, Eunjeong Ko, Junsung Yi)
Entä jos voisit koskettaa ja suunnitella valoa? Miltä sinusta tuntuisi, jos sinulla olisi kaunis valokuvio, jonka suunnittelisit mielenkiintoisella animaatiolla? Light me up on mielenkiintoinen luonnoskirja, joka koskettaa ja suunnittelee itse valoa ja tekee mielenkiintoisia kuvioita! Tässä projektissa on useita kolmioita, jotka muodostavat kuusikulmainen muoto. Joten voit luoda stereoskooppisia kuvioita valon suunnittelun mukaan! Paina vain jokaista kappaletta ja eri värit luokitellaan, ja kun haluamasi väri tulee esiin, paina vain painamaasi kättä ja se loistaa edelleen kauniisti haluamallasi värillä! Projektissa käytettiin noin 312 kolmiota, mutta mukava valo, joka toimii hyvin 6 kolmion kanssa. Nyt näytän sinulle, kuinka tehdä se kuuden kolmion avulla. Seuraa ohjeita ja saat oman upean työn!
Tarvikkeet
Laitteisto: Arduino (käytin arduino mega 2560), akryyli (kirkas, valkoinen), LED -nauha (NeoPixel), hajotinkalvo, painike, 4 -nastainen liitin, johto, piirilevy, virtalähde
Työkalut: Laser-ohjattu leikkauskone, 3D-tulostin
Vaihe 1: Selviämme



Tehdään tämä söpö kuusikulmainen pala kanssani!
Light Me Up on valmistettu 312 kolmiosta, mutta jopa 6 kolmiota voi suunnitella upeaa valoa. Jos haluat tehdä sen suuremmassa mittakaavassa, voit tehdä sen alla olevan tiedoston avulla.
Vaihe 2: Materiaalin valmistelu

Vaihe 3: Akryylin leikkaaminen




Leikkaa kunkin osan etu- ja takaosa laserleikkurilla. Takaosan akryyliväri voi olla mitä tahansa, mutta muista käyttää läpinäkyvää akryylia, koska etuosan on oltava himmeä! Jos käytät muuta kuin läpinäkyvää akryyliväriä, et näe valoa hyvin.
Vaihe 4: Tee sivut 3D -tulostimilla



Nyt on aika tehdä jokaisen kappaleen sivut. Selvitä sivun 3D -mallinnustiedostot alla. Käytimme PLA: ta sivujen tekemiseen PLA on vahvempi ja supistuu vähemmän kuin ABS, joten filamenteja suositellaan käytettäväksi PLA: n kanssa.
Vaihe 5: Kuvaaminen



Laitetaan nyt kevyt diffuusiokalvo etupuolen akryylille. Jos laitat kalvon päälle, se leviää ja loistaa paljon kauniimmin. Leikkaa ensin kalvo kolmion muotoiseksi. (Leikkaa kalvo paremmin kuin leikattu akryyli.) Kalvo on helppo laittaa puhelimellesi esimerkiksi suojakalvon päälle. Jos haluat vinkata tänne, voit painaa korttia, jotta se voidaan kiinnittää siististi!
Vaihe 6: Kiinnitä LED -nauha + juotos -LED -nauha (NeoPixel) johdoilla




Jos olet ollut niin hyvä LED -nauhan juottamisessa, on aika laittaa LED -nauha taakse. Kiinnitä ensin liimapistooli tai kaksipuolinen teippi LED-nauhan taakse. Irrota ensin johdot juotoslangan molemmilta puolilta molemmin puolin olevien reikien kautta. Kiinnitä lopuksi LED -nauha taka -akryyliin ja se on ohi!
On juotosaika! valmistele LED-nauhat, 4-napaiset liittimet (liitin tai johdot) ja tarvitsemasi juotokset. Käytin LED -valoja kolmessa yksikössä. Voit halutessasi käyttää yhtä tai kahta LEDiä, mutta suosittelen käyttämään kolmea. Kun kaikki materiaalit ovat valmiita, juota johdot LED -nauhan molempiin tietolinjoihin, 5 voltin ja maadoituslinjoihin.
Vaihe 7: Juotoskytkin johdoilla


Vaihe 8: Kokoonpano -Aseta pultti sivulle = ①


Nyt se on todella helppo osa! Aseta yksi pultti kullekin 3D -tulostetulle puolelle. Syy siihen, miksi pultin painikkeen käyttö, kuten rakenteellisten pulttien ja muttereiden käyttö, voi olla mahdollista. Kun pala on valmis, laitan sen koteloon ja viimeistelen mutterilla.
Vaihe 9: Kiinnitä Ⓛⓣ kohtaan Ⓒ = ②


Vaihe 10: Kokoonpano -Käytä Ⓦ ja Ⓝ yhdistääksesi ① ja ② = ③



Vaihe 11: Asennus -Kiinnitä Ⓐⓔ ja ③ käyttämällä akryylisidosta = ④




Jos laitat pultin sivulle, laitamme sen sivulle ja eteen. Etupuoli on akryyliä, joten se on asetettava erityisellä akryylisidoksella. Jos kiinnität akryylin tavalliseen sidokseen, se jättää jäljen.
Vaihe 12: Kiinnitä Ⓢ kohtaan Ⓓ = ⑤


Vaihe 13: Kokoaminen -Yhdistä ④ ja ⑤ Käyttämällä Ⓦ ja Ⓝ = ⑥



Vaihe 14: Suorita kappaleen asennus



Vaihe 15: Projektin toimiva ulkonäkö


Vaihe 16: NeoPixel, liittimen johdotus



Vaihe 17: NeoPixel- ja Arduino -johdotus

Vaihe 18: Ohjelmoi Arduino
ulkoinen haihtuva allekirjoittamaton pitkä ajastin0_millis;
#sisältää
#define MODEBTNNUM 3 int ani_mode = 0; allekirjoittamaton pitkä preM1, preM2, preM3;
void setup () {
Wire.begin (); for (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Sarja.alku (9600); }
void loop () {
for (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 (); // Sarja.println (x); jos (x == 5) {ani_mode = 0; // Sarja.println ("x = 5"); }}} ////////////////////////////////////////////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; for (int i = 1; i 5000) {preM2 = current2; for (int i = 1; i 3000) {preM3 = current3; // ajastin0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("ajastimen nollaus"); for (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Sarja.println ("3000 "); Wire.endTransmission (i); }}}}
Vaihe 19:
ulkoinen haihtuva allekirjoittamaton pitkä ajastin0_millis;
#sisältää
#include #define PIN 12 #define NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int numero = NUMPIXELS / 3; const int slaveNum = 1; int värit [numero] [3]; int hue [numero]; int sat [numero]; int kirkas [numero]; int pNumero = 0; int gValue [numero] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 [numero] = {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 [numero]; boolen btnMode; int hueV [numero] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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; allekirjoittamaton pitkä preMillis1; allekirjoittamaton pitkä preM; int ani_mode = 0; int ani2_Counter = 0; int laskuri = 0; /////////////////////////////////////////////////////////////////////////////////////////////////// aloita (slaveNum); Wire.onRequest (requestEvent); Wire.onRecept (ReceiveEvent); for (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Sarja.alku (9600); strip.begin (); } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void loop () {
jos (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; la = 95; kirkas = 100; } f_v = 0; } ///////////////////////////////////////////////////////////////////////// 버튼 입력 멈춤: 멈춤 신호 보내기 btnMode = väärä; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin ))) {btnMode = true; }} btnEvent (5); // Sarja.println (ani_mode); /////////////////////////// tauko; tapaus 1: ani1 (); ani_mode = 0; ani2_Counter = 0; tauko; tapaus 2: ani2_Counter = 1; ani_mode = 0; tauko; tapaus 3: ani3 (); ani_mode = 0; ani2_Counter = 0; tauko; oletus: readyState (); tauko; } jos (ani2_Counter == 1) {ani2 (); } setPixels (numero); }
///////////////////////////////////////////
void ReceiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("sai 5"); ani_mode = 0; } ani_mode = x; // Sarja.println (ani_mode); } ////////////////////////////////////////////////////////////////////////////////////////////// vo/ request. Event () {
jos (btnMode == true) {
Wire.write (5); // Serial.println ("5 보냄"); } else {Wire.write (0); }
}
mitätön ani0 () {
// Serial.println ("0"); }
void ani1 () {
// Serial.println ("1"); jos (pNumero == 0) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; for (int a = 0; a <2; a ++) {hue [a1 [a] = 100; la [a1 [a] = 95; kirkas [a1 [a] = 100; } for (int b = 0; b <2; b ++) {hue [b1 = 200; la [b1 = 95; kirkas [b1 = 100; } for (int c = 0; c <2; c ++) {hue [c1 [c] = 300; la [c1 [c] = 95; kirkas [c1 [c] = 100; } // Sarja.println ("0"); } else if (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; for (int a = 0; a <8; a ++) {hue [a2 [a] = 26; la [a2 [a] = 95; kirkas [a2 [a] = 100; } for (int d = 0; d <4; d ++) {hue [d2 [d] = 63; la [d2 [d] = 95; kirkas [d2 [d] = 100; } // Sarja.println ("1"); } else if (pNumber == 2) {// jättikuutikuvio (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // keltainen 06 (int a = 0; a <6; a ++) {sävy [a14 [a] = 35; la [a14 [a] = 95; kirkas [a14 [a] = 100; }} muu jos (pNumero == 3) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // keltainen (int a = 0; a <6; a ++) {sävy [a3 [a] = 53; la [a3 [a] = 95; kirkas [a3 [a] = 100; }} muu jos (pNumero == 4) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a4 = {34, 35}; // keltainen int b4 = {47}; // sininen int c4 = {48}; // violetti
for (int a = 0; a <2; a ++) {sävy [a4 [a] = 53; la [a4 [a] = 95; kirkas [a4 [a] = 100; }
for (int b = 0; b <1; b ++) {hue [b4 = 210; la [b4 = 95; kirkas [b4 = 100; } for (int c = 0; c <1; c ++) {hue [c4 [c] = 307; la [c4 [c] = 95; kirkas [c4 [c] = 100; }} muu jos (pNumero == 5) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a5 = {34, 35, 46, 47, 48, 49};
for (int a = 0; a <6; a ++) {hue [a5 [a] = 100; la [a5 [a] = 95; kirkas [a5 [a] = 100; }} muu jos (pNumero == 6) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // keltainen (int a = 0; a <6; a ++) {sävy [a6 [a] = 53; la [a6 [a] = 95; kirkas [a6 [a] = 100; }} muu jos (pNumero == 7) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // violetti (int c = 0; c <6; c ++) {sävy [c7 [c] = 307; la [c7 [c] = 95; kirkas [c7 [c] = 100; }} else if (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // violetti (int c = 0; c <6; c ++) {hue [c8 [c] = 307; la [c8 [c] = 95; kirkas [c8 [c] = 100; }} else if (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // violetti kohteelle (int c = 0; c <6; c ++) {hue [c9 [c] = 307; la [c9 [c] = 95; kirkas [c9 [c] = 100; }} else if (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // violetti kohteelle (int c = 0; c <6; c ++) {hue [c10 [c] = 307; la [c10 [c] = 95; kirkas [c10 [c] = 100; }} else if (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // violetti kohteelle (int c = 0; c <6; c ++) {hue [c11 [c] = 307; la [c11 [c] = 95; kirkas [c11 [c] = 100; }} else if (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // violetti kohteelle (int c = 0; c <6; c ++) {hue [c12 [c] = 307; la [c12 [c] = 95; kirkas [c12 [c] = 100; }} else if (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gArvo = 1; } int a13 = {34, 35}; // keltainen int b13 = {47}; // sininen int c13 = {48}; // violetti (int a = 0; a <2; a ++) {värisävy [a13 [a] = 53; la [a13 [a] = 95; kirkas [a13 [a] = 100; } for (int b = 0; b <1; b ++) {hue [b13 = 210; la [b13 = 95; kirkas [b13 = 100; } for (int c = 0; c <1; c ++) {hue [c13 [c] = 307; sat [c13 [c] = 95; kirkas [c13 [c] = 100; }} pLuku = pLuku + 1;
jos (pNumero == 14) {
pNumero = 0; }}
void ani2 () {
// Sarja.println ("2"); allekirjoittamaton pitkä curM = millis ();
jos (curM - preM> = 10) {
preM = curM; for (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } sävy = sävy + gValue ; } laskuri ++; if (laskuri == 360) {// Sarja.print ("laskuri:"); // Sarja.println (laskuri); // Sarja.println (curM); laskuri = 0; ani2_Counter = 0; }}}
void ani3 () {
// Serial.println ("3"); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / Serial.println ("valmis"); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// {unsigned long curMillis1 = millis ();
for (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }
if (curMillis1 - preMillis1> b_interval) {
preMillis1 = curMillis1; (int i = 0; i = 360) {hueV = -1; } muu jos (sävy <= 0) {hueV = 1; } sävy = sävy + hueV ; kirkas = 100; }}}} //////////////////////////////////////////////////////////////////////////////// void setPixels (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (sävy , sat , kirkas , värit ); int numero1 = i * 3; strip.setPixelColor (numero1, värit [0], värit [1], värit [2]); strip.setPixelColor (numero1 + 1, värit [0], värit [1], värit [2]); strip.setPixelColor (numero1 + 2, värit [0], värit [1], värit [2]); } strip.show (); }
Vaihe 20: Kuviot


Tässä projektissa on useita kolmioita, jotka muodostavat kuusikulmaisen muodon. Joten voit luoda stereoskooppisia kuvioita valon suunnittelun mukaan! Paina vain jokaista kappaletta ja eri värit luokitellaan, ja kun haluamasi väri tulee esiin, paina vain painamaasi kättä ja se loistaa edelleen kauniisti haluamallasi värillä!
Suositeltava:
Pimeysanturipiiri leipälevyllä + LIght -ilmaisin LDR: 6 askelta

Pimeysanturipiiri leipälevyllä + LIght -ilmaisin LDR: llä: Tässä opetusohjelmassa opetan sinulle, kuinka tehdä yksinkertainen valo ja amp; Pimeyden ilmaisinpiiri, jossa on transistori & LDR Tätä piiriä voidaan käyttää sammuttamaan valot tai laitteet automaattisesti lisäämällä releeseen lähtö. Voit myös
Mini RGB Light Cube!: 8 askelta

Mini RGB Light Cube !: Tämä on pohjimmiltaan Hypnocuben isku, sen sijaan, että se olisi 64 LEDiä, joten valmistus maksaa vähintään 150 dollaria, tein pienemmän version 8 LEDistä alle 30 dollarilla. Tuloksena on 2x2x2 kuutio, jossa jokainen valo on itsenäisesti ohjattavissa. En ole absoluuttinen
DIY WiFi Smart Security Light Shelly 1: 6 askelta (kuvilla)

DIY WiFi Smart Security Light Shelly 1: Tässä ohjeessa tarkastellaan DIY -älyvalon luomista Shellyn Shelly 1 -älyreleen avulla. Kun teet turvavalosta älykkään, voit hallita paljon paremmin, milloin se aktivoituu ja kuinka kauan se pysyy päällä. Se voi olla toimiva
Light-Up Rainbow Wooden Mega Man: 9 askelta

Light-Up Rainbow Wooden Mega Man: Sain idean tähän projektiin Mega Man Pixel Palilta. Vaikka se on mukava sisustus, se syttyy vain yhdellä värillä. Ajattelin, että koska Mega Man tunnetaan värejä vaihtavista asuistaan, olisi hienoa tehdä versio, joka käyttää RGB-LED-valoja näyttääkseen cus
Light-Up Bar Table!: 9 askelta

Valopalkkipöytä !: Tee puusta, pleksistä ja muista pienistä kappaleista herttaisia pöytiä