Innholdsfortegnelse:
- Rekvisita
- Trinn 1: La oss klare det
- Trinn 2: Forberedelse av materiale
- Trinn 3: Skjæring av akryl
- Trinn 4: Lag sider med 3D -skrivere
- Trinn 5: Filming
- Trinn 6: Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
- Trinn 7: Loddetakt -bryter med ledninger
- Trinn 8: Montering -Sett inn bolt på siden = ①
- Trinn 9: Fest Ⓛⓣ til Ⓒ = ②
- Trinn 10: Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
- Trinn 11: Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
- Trinn 12: Fest Ⓢ til Ⓓ = ⑤
- Trinn 13: Montering -Kombiner ④ og ⑤ Bruke Ⓦ og Ⓝ = ⑥
- Trinn 14: Komplett stykkemontering
- Trinn 15: Arbeidsutseendet til et prosjekt
- Trinn 16: NeoPixel, kobling av koblinger
- Trinn 17: NeoPixel og Arduino ledninger
- Trinn 18: Programmer Arduino
- Trinn 19:
- Trinn 20: Mønstre
Video: Lys meg opp !: 20 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
medlemmer av prosjektgruppen
(Hyewon Shin, Eunjeong Ko, Junsung Yi)
Hva om du kunne røre og designe lyset? Hvordan ville det føles hvis du hadde et vakkert lysmønster som du designet selv med en interessant animasjon? Lys meg opp vil være en interessant skissebok som berører og designer selve lyset og lager interessante mønstre! Dette prosjektet har flere trekanter som danner en sekskantet form. Så du kan lage stereoskopiske mønstre i henhold til hvordan du designer lys! Bare trykk på hvert stykke og forskjellige farger vil bli gradert, og når fargen du vil ha kommer ut, trykker du bare på hånden du trykker på, og den vil fortsette å skinne vakkert med fargen du ønsket! Prosjektet brukte ca 312 trekanter, men det kunne skape et fint lys som fungerer godt med 6 trekanter. La meg nå vise deg hvordan du gjør det med seks trekanter. Følg trinnene, og du får ditt eget fantastiske verk!
Rekvisita
Maskinvare: Arduino (jeg brukte arduino mega 2560), akryl (klar, hvit), LED -stripe (NeoPixel), diffusorfilm, knapp, 4 -pinners kontakt, ledning, kretskort, strømforsyning
Verktøy: Laserstyrt skjæremaskin, 3D-skriver
Trinn 1: La oss klare det
La oss lage dette søte sekskantede stykket med meg!
Light Me Up er laget med 312 trekanter, men selv 6 trekanter kan designe fantastisk lys. Hvis du vil lage den i større skala, kan du lage den ved å referere til filen vedlagt nedenfor.
Trinn 2: Forberedelse av materiale
Trinn 3: Skjæring av akryl
Bruk en laserskjærer til å kutte forsiden og baksiden av hver del. Fargen på akryl på baksiden kan være hva du vil, men sørg for å bruke gjennomsiktig akryl fordi fronten må dempes! Hvis du bruker en annen akrylfarge enn transparent, vil du ikke se lyset godt.
Trinn 4: Lag sider med 3D -skrivere
Nå er det på tide å lage sidene på hvert stykke. La oss klare det! 3D -modelleringsfilene på siden er vedlagt nedenfor. Vi brukte PLA for å lage sider PLA er sterkere og mindre sammentrekninger enn ABS, så det anbefales å bruke filamenter for å bruke PLA.
Trinn 5: Filming
La oss nå sette en lett diffusjonsfilm på akryl på forsiden. Hvis du legger film på den, sprer den seg ut og lyser mye penere. Klipp først filmen i form av en trekant. (Det er bedre å klippe filmen større enn den kuttede akrylen) Det er enkelt å sette film på, som en beskyttelsesfilm på telefonen. Hvis du vil tipse her, kan du bruke et kort til å skyve det slik at det kan sitte pent!
Trinn 6: Fest LED Strip + Lodding LED Strip (NeoPixel) med ledninger
Hvis du har vært så flink til å lodde LED -stripen, er det på tide å sette LED -stripen på baksiden. Fest først en limpistol eller tosidig tape på baksiden av LED-stripen. Og fjern først ledningene fra begge sider av loddetråden gjennom hullene på begge sider. Fest til slutt LED -stripen på baksiden av akryl, og det er over!
Det er loddetid! klargjør LED-strips, 4-pinners kontakter (kontakt eller ledninger) og det du trenger for lodding. Jeg brukte lysdioder i tre enheter. Du kan bruke en eller to lysdioder hvis du vil, men jeg anbefaler å bruke tre. Når alle materialene er klare, loddes ledningene i både datalinjer, 5v -linjer og jordlinjer på LED -stripen.
Trinn 7: Loddetakt -bryter med ledninger
Trinn 8: Montering -Sett inn bolt på siden = ①
Nå er det en veldig enkel del! Plasser en bolt på hver av de tre 3D -trykte sidene. Grunnen til at du kan bruke boltknappen som å bruke strukturelle bolter og muttere. Når brikken er ferdig, legger jeg brikken i etuiet og avslutter den med en mutter.
Trinn 9: Fest Ⓛⓣ til Ⓒ = ②
Trinn 10: Montering -Bruk Ⓦ og Ⓝ for å kombinere ① og ② = ③
Trinn 11: Montering -Feste Ⓐⓔ og ③ Ved hjelp av en akrylbinding = ④
Hvis du setter en bolt på siden, legger vi den på siden og fronten. Fronten er akryl, så du må ta den på med en dedikert akrylbinding. Hvis du fester akryl til en vanlig lim, vil det sette et merke.
Trinn 12: Fest Ⓢ til Ⓓ = ⑤
Trinn 13: Montering -Kombiner ④ og ⑤ Bruke Ⓦ og Ⓝ = ⑥
Trinn 14: Komplett stykkemontering
Trinn 15: Arbeidsutseendet til et prosjekt
Trinn 16: NeoPixel, kobling av koblinger
Trinn 17: NeoPixel og Arduino ledninger
Trinn 18: Programmer Arduino
ekstern flyktig usignert lang timer0_millis;
#inkludere
#define MODEBTNNUM 3 int ani_mode = 0; usignert lang preM1, preM2, preM3;
ugyldig oppsett () {
Wire.begin (); for (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Serial.begin(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); mens (Wire.available ()) {int x = Wire.read (); // Serial.println (x); hvis (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} //////////////////////////////////////////// /////// hvis (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; // timer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("timer reset"); for (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}
Trinn 19:
ekstern flyktig usignert lang timer0_millis;
#inkludere
#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 farger [num] [3]; int hue [num]; int sat [num]; int lyst [num]; 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}; const int btnPin [num] = {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]; boolsk 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}; #include #define BTNNUM 1 int f_v = 1; usignert lang preMillis1; usignert lang preM; int ani_mode = 0; int ani2_Counter = 0; int teller = 0; ////////////////////////////////////////////////// begynne (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (ReceiveEvent); for (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); }////////////////////////////////
void loop () {
hvis (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; satt = 95; lys = 100; } f_v = 0; } ////////////////////////////////////////////////// falsk; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); //////////////////////////////////////////////// switch (ani_mode) {case 0: ani0 (); gå i stykker; sak 1: ani1 (); ani_mode = 0; ani2_Counter = 0; gå i stykker; case 2: ani2_Counter = 1; ani_mode = 0; gå i stykker; sak 3: ani3 (); ani_mode = 0; ani2_Counter = 0; gå i stykker; standard: readyState (); gå i stykker; } hvis (ani2_Counter == 1) {ani2 (); } setPixels (num); }
///////////////////////////////////////////
void ReceiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("mottatt 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); }/////////////////ugyldig forespørselEvent () {
hvis (btnMode == true) {
Wire.write (5); // Serial.println ("5 보냄"); } annet {Wire.write (0); }
}
ugyldig ani0 () {
// Serial.println ("0"); }
ugyldig ani1 () {
// Serial.println ("1"); hvis (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; for (int a = 0; a <2; a ++) {fargetone [a1 [a] = 100; satt [a1 [a] = 95; lys [a1 [a] = 100; } for (int b = 0; b <2; b ++) {hue [b1 = 200; satt [b1 = 95; lys [b1 = 100; } for (int c = 0; c <2; c ++) {hue [c1 [c] = 300; satt [c1 [c] = 95; lys [c1 [c] = 100; } // Serial.println ("0"); } annet hvis (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 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 ++) {fargetone [a2 [a] = 26; satt [a2 [a] = 95; lys [a2 [a] = 100; } for (int d = 0; d <4; d ++) {hue [d2 [d] = 63; sat [d2 [d] = 95; lys [d2 [d] = 100; } // Serial.println ("1"); } annet hvis (pNumber == 2) {// gigantisk terningsmønster for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // gul 06 for (int a = 0; a <6; a ++) {hue [a14 [a] = 35; sat [a14 [a] = 95; lys [a14 [a] = 100; }} annet hvis (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // gul for (int a = 0; a <6; a ++) {hue [a3 [a] = 53; satt [a3 [a] = 95; lys [a3 [a] = 100; }} annet hvis (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a4 = {34, 35}; // gul int b4 = {47}; // blå int c4 = {48}; // lilla
for (int a = 0; a <2; a ++) {fargetone [a4 [a] = 53; satt [a4 [a] = 95; lys [a4 [a] = 100; }
for (int b = 0; b <1; b ++) {hue [b4 = 210; sat [b4 = 95; lys [b4 = 100; } for (int c = 0; c <1; c ++) {hue [c4 [c] = 307; satt [c4 [c] = 95; lys [c4 [c] = 100; }} annet hvis (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a5 = {34, 35, 46, 47, 48, 49};
for (int a = 0; a <6; a ++) {fargetone [a5 [a] = 100; sat [a5 [a] = 95; lys [a5 [a] = 100; }} annet hvis (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // gul for (int a = 0; a <6; a ++) {hue [a6 [a] = 53; satt [a6 [a] = 95; lys [a6 [a] = 100; }} annet hvis (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c7 [c] = 307; satt [c7 [c] = 95; lys [c7 [c] = 100; }} annet hvis (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c8 [c] = 307; satt [c8 [c] = 95; lys [c8 [c] = 100; }} annet hvis (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c9 [c] = 307; satt [c9 [c] = 95; lys [c9 [c] = 100; }} annet hvis (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c10 [c] = 307; sat [c10 [c] = 95; lys [c10 [c] = 100; }} annet hvis (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c11 [c] = 307; satt [c11 [c] = 95; lys [c11 [c] = 100; }} annet hvis (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // lilla for (int c = 0; c <6; c ++) {hue [c12 [c] = 307; satt [c12 [c] = 95; lys [c12 [c] = 100; }} annet hvis (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a13 = {34, 35}; // gul int b13 = {47}; // blue int c13 = {48}; // lilla for (int a = 0; a <2; a ++) {fargetone [a13 [a] = 53; sat [a13 [a] = 95; lys [a13 [a] = 100; } for (int b = 0; b <1; b ++) {hue [b13 = 210; sat [b13 = 95; lys [b13 = 100; } for (int c = 0; c <1; c ++) {hue [c13 [c] = 307; satt [c13 [c] = 95; lys [c13 [c] = 100; }} pNumber = pNummer + 1;
hvis (pNumber == 14) {
pNummer = 0; }}
void ani2 () {
// Serial.println ("2"); usignert lang curM = millis ();
hvis (curM - preM> = 10) {
preM = curM; for (int i = 0; i <num; i ++) {if (fargetone = 360) {gValue = -1; } fargetone = fargetone + gValue ; } teller ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (teller); // Serial.println (curM); teller = 0; ani2_Counter = 0; }}}
void ani3 () {
// Serial.println ("3"); }//////////////////////////////////////////////////////////////////////// / Serial.println ("klar"); } /////////////////////////////////// {usignert lang curMillis1 = millis ();
for (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }
if (curMillis1 - preMillis1> b_intervall) {
preMillis1 = curMillis1; for (int i = 0; i = 360) {hueV = -1; } annet hvis (fargetone <= 0) {hueV = 1; } fargetone = fargetone + hueV ; lys = 100; }}}} /////////////////////////////////////////////////////// void setPixels (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (fargetone , lør , lyse , farger ); int num1 = i * 3; strip.setPixelColor (num1, farger [0], farger [1], farger [2]); strip.setPixelColor (num1 + 1, farger [0], farger [1], farger [2]); strip.setPixelColor (num1 + 2, farger [0], farger [1], farger [2]); } strip.show (); }
Trinn 20: Mønstre
Dette prosjektet har flere trekanter som danner en sekskantet form. Så du kan lage stereoskopiske mønstre i henhold til hvordan du designer lys! Bare trykk på hvert stykke og forskjellige farger vil bli gradert, og når fargen du vil ha kommer ut, er det bare å trykke på hånden du trykket på, så vil den fortsette å skinne vakkert med fargen du ønsket!
Anbefalt:
Lys opp LED -kort: 8 trinn (med bilder)
Lys opp LED -kort: Hei folkens Det er aardvark igjen for en annen instruerbar. Dette er en rimeligere måte å lage et opplyst kort på enn noen andre metoder på nettet. Jeg synes dette prosjektet er en morsom måte å lære tenåringsjenter og gutter om strøm. Jeg håper du koser deg og liker det
Lys opp pepperkakehus: 9 trinn (med bilder)
Lys opp pepperkakehus: Vi lager et pepperkakehus som lyser opp, hvor huset når du berører toppen av skorsteinen, lyser opp inni. Dette prosjektet er en veldig morsom introduksjon til kretser, og er ment å demonstrere, inkludert både litt grunnleggende kretsløp og litt
Lys opp kassetten, bli hypet i Rave -fester: 5 trinn (med bilder)
Lys opp kassetten, bli hypet i Rave -fester: Hva skjer? Dette er Galden. Galden er et mannskap som foreslår hobbyelektronikk for jenter, av jenter. La meg introdusere deg for hvordan du lager LED -tilbehør som passer perfekt til rave -fester. Hva vil se opp når det lyser? Når du har noe opplyst
LYS OPP ROBOTKORTET: 7 trinn (med bilder)
LYS OPP ROBOTKORTET: Hei alle sammen! Jeg vant nylig en Instructables -konkurranse. De sendte meg en Instructables 'robot-t-skjorte, bok, klistremerker og et bilde av Instructables-roboten. På den annen side, da jeg tenkte på enkle papirkretsideer og jeg ønsket å bygge
Lys opp Chanukah-genser med individuelle "lys": 7 trinn (med bilder)
Opplyst Chanukah-genser med individuelle "stearinlys": Høytidsfesten og i år kan du være festens lysende stjerne med en lys menoragenser! Dette er et sydd kretsprosjekt som bruker relativt rimelige materialer som er lett å finne på nettet og i håndverksbutikken. Enda bedre