Sisukord:
- Tarvikud
- Samm: teeme hakkama
- Samm: materjali ettevalmistamine
- Samm: akrüüli lõikamine
- Samm: tehke küljed 3D -printeritega
- 5. samm: filmimine
- 6. samm: kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
- Samm: juhtmetega jootmislüliti
- 8. samm: kokkupanek -sisestage polt küljelt = ①
- 9. samm: kinnitage Ⓛⓣ the = ② külge
- 10. samm: kokkupanek -ühendage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
- Samm 11: kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülühendi kasutamine = ④
- 12. samm: kinnitage Ⓢ Ⓓ = ⑤ külge
- Samm 13: kokkupanek -ühendage ④ ja ⑤, kasutades nuppe Ⓦ ja Ⓝ = ⑥
- 14. samm: viige tükkide kokkupanek lõpule
- 15. etapp: projekti välimus
- 16. samm: NeoPixel, pistiku juhtmestik
- Samm 17: NeoPixeli ja Arduino juhtmestik
- Samm: programmeerige Arduino
- 19. samm:
- 20. samm: mustrid
Video: Valgustage mind!: 20 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
projektimeeskonna liikmed
(Hyewon Shin, Eunjeong Ko, Junsung Yi)
Mis siis, kui saaksite valgust puudutada ja kujundada? Mis tunne oleks, kui teil oleks ilus valgusmuster, mille kujundasite ise huvitava animatsiooniga? Valgustage mind on huvitav visandiraamat, mis puudutab ja kujundab valgust ennast ning teeb huvitavaid mustreid! Sellel projektil on mitu kolmnurka, mis moodustavad kuusnurkne kuju. Nii saate luua stereoskoopilisi mustreid vastavalt sellele, kuidas valgust kujundate! Lihtsalt vajutage igat tükki ja erinevad värvid liiguvad järk -järgult ning kui soovitud värv tuleb välja, vajutage lihtsalt vajutatud käele ja see särab jätkuvalt soovitud värviga! Projektis kasutati umbes 312 kolmnurka, kuid see võib luua kena valgus, mis sobib hästi 6 kolmnurgaga. Nüüd näitan teile, kuidas seda teha kuue kolmnurga abil. Järgige samme ja saate oma imelise töö!
Tarvikud
Riistvara: Arduino (ma kasutasin arduino mega 2560), akrüül (selge, valge), LED -riba (NeoPixel), hajuti, nupp, 4 -kontaktiline pistik, traat, trükkplaat, toiteallikas
Tööriistad: laseriga juhitav lõikamismasin, 3D-printer
Samm: teeme hakkama
Teeme selle armsa kuusnurkse tüki koos minuga!
Light Me Up on valmistatud 312 kolmnurga abil, kuid isegi 6 kolmnurka suudavad kujundada imelist valgust. Kui soovite seda teha suuremas mahus, saate seda teha, viidates allolevale failile.
Samm: materjali ettevalmistamine
Samm: akrüüli lõikamine
Lõika laserlõikuriga iga osa esi- ja tagaosa. Akrüüli värv tagaküljel võib olla ükskõik milline, kuid kasutage kindlasti läbipaistvat akrüüli, sest esiosa peab olema tuhm! Kui kasutate muud värvilist akrüüli kui läbipaistev, ei näe te valgust hästi.
Samm: tehke küljed 3D -printeritega
Nüüd on aeg teha iga tüki küljed. Saame hakkama! Küljel olevad 3D -modelleerimisfailid on lisatud allpool. Kasutasime külgede valmistamiseks PLA -d PLA on tugevam ja vähem kokkutõmbuv kui ABS, seega on PLA kasutamiseks soovitatav kasutada niite.
5. samm: filmimine
Nüüd paneme kerge difusioonkile esiküljel olevale akrüülile. Kui paned sellele kile, laotab see laiali ja särab palju ilusamalt. Kõigepealt lõigake kile kolmnurga kujuks. (Lõika parem kile, kui see on lõigatud akrüülist suurem) Kile on lihtne telefoni peale panna, näiteks kaitsekile. Kui soovite siin jootraha anda, võite selle lükkamiseks kasutada kaarti, et see saaks korralikult kinni jääda!
6. samm: kinnitage LED -riba + jootmise LED -riba (NeoPixel) juhtmetega
Kui olete LED -riba jootmisega nii hästi hakkama saanud, on aeg LED -riba tagaküljele panna. Esmalt kinnitage LED-riba tagaküljele liimipüstol või kahepoolne teip. Ja kõigepealt eemaldage jootetraadi mõlemalt küljelt juhtmed mõlema külje avade kaudu. Lõpuks kinnitage LED -riba tagumise akrüüli külge ja see on läbi!
On jootmise aeg! valmistage ette LED-ribad, 4-kontaktilised pistikud (pistik või juhtmed) ja jootmiseks vajalik. Kasutasin LED -e kolmes ühikus. Soovi korral võite kasutada ühte või kahte LED -i, kuid soovitan kasutada kolme. Kui kõik materjalid on valmis, jootke juhtmed LED -riba mõlema andmeliini, 5 -voldise ja maandusliini külge.
Samm: juhtmetega jootmislüliti
8. samm: kokkupanek -sisestage polt küljelt = ①
Nüüd on see tõesti lihtne osa! Asetage üks polt mõlemale 3D -prinditud küljele. Põhjus, miks poldinupu kasutamine nagu konstruktsioonipoltide ja mutrite kasutamine on võimalik. Kui tükk on valmis, panen tüki ümbrisesse ja viimistlen pähkliga.
9. samm: kinnitage Ⓛⓣ the = ② külge
10. samm: kokkupanek -ühendage Ⓦ ja Ⓝ, et ühendada ① ja ② = ③
Samm 11: kokkupanek -kinnitage Ⓐⓔ ja ③ akrüülühendi kasutamine = ④
Kui paned poldi küljele, paneme selle küljele ja esiküljele. Esikülg on akrüül, nii et peate selle panema spetsiaalse akrüülist sidemega. Kui kinnitate tavalisele sidemele akrüüli, jätab see jälje.
12. samm: kinnitage Ⓢ Ⓓ = ⑤ külge
Samm 13: kokkupanek -ühendage ④ ja ⑤, kasutades nuppe Ⓦ ja Ⓝ = ⑥
14. samm: viige tükkide kokkupanek lõpule
15. etapp: projekti välimus
16. samm: NeoPixel, pistiku juhtmestik
Samm 17: NeoPixeli ja Arduino juhtmestik
Samm: programmeerige Arduino
väline lenduv allkirjastamata pikk taimer0_millis;
#kaasake
#define MODEBTNNUM 3 int ani_mode = 0; allkirjastamata pikk preM1, preM2, preM3;
tühine seadistus () {
Wire.begin (); jaoks (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Seriaalne.algus (9600); }
void loop () {
jaoks (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } jaoks (int i = 0; i <6; i ++) {Wire.requestFrom (i+1, 1); while (Wire.available ()) {int x = Wire.read (); // Seeria.println (x); kui (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} /////////////////////////////////////////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; jaoks (int i = 1; i 5000) {preM2 = praegune2; jaoks (int i = 1; i 3000) {preM3 = praegune3; // taimer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("taimeri lähtestamine"); jaoks (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}
19. samm:
väline lenduv allkirjastamata pikk taimer0_millis;
#kaasake
#include #define PIN 12 #define NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int number = NUMPIXELS / 3; const int oriNum = 1; int värvid [number] [3]; int toon [number]; int ist [number]; int hele [number]; int pNumber = 0; int gVäärtus [arv] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 [number] = {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 [number]; boolean btnMode; int hueV [number] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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; allkirjastamata pikk preMillis1; allkirjata pikk preM; int ani_mode = 0; int ani2_Counter = 0; int loendur = 0; ////////////////////////////////////////////////////////////////- algus (slaveNum); Wire.onRequest (requestEvent); Wire.onRecept (ReceiveEvent); jaoks (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Seriaalne.algus (9600); riba.algus (); } ////////////////////////////////////////////////////////////
void loop () {
kui (f_v == 1) {jaoks (int i = 0; i <arv; i ++) {toon = 50; ist = 95; hele = 100; } f_v = 0; } ////////////////////////////////////////////////////////////////////// vale; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin ))) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ///////////////////////// murda; juhtum 1: ani1 (); ani_mode = 0; ani2_Counter = 0; murda; juhtum 2: ani2_Counter = 1; ani_mode = 0; murda; juhtum 3: ani3 (); ani_mode = 0; ani2_Counter = 0; murda; vaikimisi: readyState (); murda; } kui (ani2_Counter == 1) {ani2 (); } setPixels (arv); }
///////////////////////////////////////////
void ReceiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("sai 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } ////////////////////////////////////////////////////////////////////, if (btnMode == true) {
Wire.write (5); // Serial.println ("5 보냄"); } else {Wire.write (0); }
}
tühine ani0 () {
// Serial.println ("0"); }
tühine ani1 () {
// Serial.println ("1"); kui (pNumber == 0) {for (int i = 0; i <number; i ++) {bright = 0; gVäärtus = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; jaoks (int a = 0; a <2; a ++) {toon [a1 [a] = 100; istus [a1 [a] = 95; hele [a1 [a] = 100; } jaoks (int b = 0; b <2; b ++) {toon [b1 = 200; ist [b1 = 95; hele [b1 = 100; } jaoks (int c = 0; c <2; c ++) {toon [c1 [c] = 300; ist [c1 [c] = 95; hele [c1 [c] = 100; } // Serial.println ("0"); } muidu kui (pNumber == 1) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; jaoks (int a = 0; a <8; a ++) {toon [a2 [a] = 26; istus [a2 [a] = 95; hele [a2 [a] = 100; } jaoks (int d = 0; d <4; d ++) {hue [d2 [d] = 63; ist [d2 [d] = 95; hele [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// hiiglasliku kuubi muster (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // kollane 06 (int a = 0; a <6; a ++) {toon [a14 [a] = 35; istus [a14 [a] = 95; hele [a14 [a] = 100; }} muu, kui (pNumber == 3) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // kollane (int a = 0; a <6; a ++) {toon [a3 [a] = 53; istus [a3 [a] = 95; hele [a3 [a] = 100; }} muu, kui (pNumber == 4) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a4 = {34, 35}; // kollane int b4 = {47}; // sinine int c4 = {48}; // lilla
jaoks (int a = 0; a <2; a ++) {toon [a4 [a] = 53; istus [a4 [a] = 95; hele [a4 [a] = 100; }
jaoks (int b = 0; b <1; b ++) {toon [b4 = 210; ist [b4 = 95; hele [b4 = 100; } jaoks (int c = 0; c <1; c ++) {toon [c4 [c] = 307; ist [c4 [c] = 95; hele [c4 [c] = 100; }} muidu, kui (pNumber == 5) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a5 = {34, 35, 46, 47, 48, 49};
jaoks (int a = 0; a <6; a ++) {toon [a5 [a] = 100; istus [a5 [a] = 95; hele [a5 [a] = 100; }} muu, kui (pNumber == 6) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // kollane (int a = 0; a <6; a ++) {toon [a6 [a] = 53; istus [a6 [a] = 95; hele [a6 [a] = 100; }} muu, kui (pNumber == 7) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c7 [c] = 307; ist [c7 [c] = 95; hele [c7 [c] = 100; }} muu, kui (pNumber == 8) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c8 [c] = 307; ist [c8 [c] = 95; hele [c8 [c] = 100; }} muu, kui (pNumber == 9) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c9 [c] = 307; ist [c9 [c] = 95; hele [c9 [c] = 100; }} muu, kui (pNumber == 10) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c10 [c] = 307; ist [c10 [c] = 95; hele [c10 [c] = 100; }} muu, kui (pNumber == 11) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c11 [c] = 307; ist [c11 [c] = 95; hele [c11 [c] = 100; }} muu, kui (pNumber == 12) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // lilla (int c = 0; c <6; c ++) {toon [c12 [c] = 307; ist [c12 [c] = 95; hele [c12 [c] = 100; }} muu, kui (pNumber == 13) {jaoks (int i = 0; i <arv; i ++) {bright = 0; gVäärtus = 1; } int a13 = {34, 35}; // kollane int b13 = {47}; // sinine int c13 = {48}; // lilla (int a = 0; a <2; a ++) {toon [a13 [a] = 53; istus [a13 [a] = 95; hele [a13 [a] = 100; } jaoks (int b = 0; b <1; b ++) {hue [b13 = 210; ist [b13 = 95; hele [b13 = 100; } jaoks (int c = 0; c <1; c ++) {toon [c13 [c] = 307; ist [c13 [c] = 95; hele [c13 [c] = 100; }} pNumber = pNumber + 1;
kui (pNumber == 14) {
pNumber = 0; }}
tühine ani2 () {
// Serial.println ("2"); allkirjastamata pikk curM = millis ();
if (curM - preM> = 10) {
preM = curM; jaoks (int i = 0; i <arv; i ++) {kui (toon = 360) {gVäärtus = -1; } toon = toon + gVäärtus ; } loendur ++; if (counter == 360) {// Serial.print ("counter:"); // Serial.println (loendur); // Serial.println (curM); loendur = 0; ani2_Counter = 0; }}}
tühine ani3 () {
// Serial.println ("3"); } ///////////////////////////////////////////////////////////////////////////////, / Serial.println ("valmis"); } //////////////////////////////////////////////////////////////////////////////, {allkirjastamata pikk curMillis1 = millis ();
jaoks (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }
if (curMillis1 - preMillis1> b_interval) {
preMillis1 = curMillis1; jaoks (int i = 0; i = 360) {hueV = -1; } muu kui (toon <= 0) {hueV = 1; } toon = toon + hueV ; hele = 100; }}}} ////////////////////////////////////////////////////////////////////////////// või tühi setPikslid (int k) {jaoks (int i = 0; i <k; i ++) {H2R_HSBtoRGB (toon , sat , hele , värvid ); int arv1 = i * 3; strip.setPixelColor (arv1, värvid [0], värvid [1], värvid [2]); strip.setPixelColor (arv1 + 1, värvid [0], värvid [1], värvid [2]); strip.setPixelColor (arv1 + 2, värvid [0], värvid [1], värvid [2]); } strip.show (); }
20. samm: mustrid
Sellel projektil on mitu kolmnurka, mis moodustavad kuusnurkse kuju. Nii saate luua stereoskoopilisi mustreid vastavalt sellele, kuidas valgust kujundate! Lihtsalt vajutage igat tükki ja erinevad värvid on gradueeritud ning kui soovitud värv välja tuleb, vajutage lihtsalt vajutatud käele ja see särab jätkuvalt kaunilt soovitud värviga!
Soovitan:
Valgustage tume kaelakee: 6 sammu (piltidega)
Valgustage tume kaelakee: kujutage ette, et kannate kaelakee, mis süttib automaatselt, kui pimedaks läheb ja kui valgust on piisavalt, et saada tavaliseks ehteks. Suhteliselt lihtne ja lõbus projekt, eriti neile, kes soovivad kanda ehet, mis sõna otseses mõttes särab! Võtke
Valgustage piparkoogimaja: 9 sammu (piltidega)
Valgustage piparkoogimaja: loome helendava piparkoogimaja, kus korstna ülaosa puudutades süttib maja seestpoolt. See projekt on tõeliselt lõbus vooluringi sissejuhatus ja mõeldud demoks, mis sisaldab nii natuke põhilist vooluringi tegemist kui ka väikest osa
3 hämmastavat BRAIN / MIND juhtimisprojekti tuled LedStrip LED koos Arduino ja Neuroskyga: 6 sammu (piltidega)
3 hämmastavat BRAIN / MIND juhtimisprojekti tuled LedStrip LED koos Arduino ja Neuroskyga: kas olete kunagi tahtnud tulede sisse- või väljalülitamist lihtsalt sellele mõeldes? Või soovite teada, kui stressis olete, kui vaatate RGB -valgusdioodi värvi? Kuigi nüüd saate seda juhendit järgides! Et tunda, mida me teeme
Valgustage lillekroonist peapaelad suvemuusikafestivalide, pulmade ja erijuhtumite jaoks: 8 sammu (piltidega)
Valgustage lillekroonist peapaelad suvemuusikafestivalide, pulmade ja erijuhtumite jaoks: valgustage öö kauni lillelise LED -peapaelaga! Ideaalne pulmadeks, muusikafestivalideks, pidulikeks pidudeks, kostüümideks ja erilistel puhkudel! Komplektid kõige vajalikuga helendav peapael on nüüd saadaval kantavate asjade töökojas
Valgustage see pilt!: 6 sammu (koos piltidega)
Valgustage see pilt!: Tere, see on üsna lihtne projekt, kus me teeme väikese foto ja muudame selle väga ilusaks dekoratiivseks esemeks, mida iga poiss, mees, isa, plummer imetleda saab :) Selle projekti maksumus on väga madal: -Siin on see, mida me vajame-1. Täisleht A4 või suurem värviprint