Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Wacha tuifanye
- Hatua ya 2: Matayarisho ya Nyenzo
- Hatua ya 3: Kukata Acrylic
- Hatua ya 4: Fanya pande na Printa za 3D
- Hatua ya 5: Upigaji picha
- Hatua ya 6: Ambatisha Ukanda wa LED + Ukanda wa LED wa Soldering (NeoPixel) Na waya
- Hatua ya 7: Soldering Tact switch na waya
- Hatua ya 8: Bunge -Ingiza Bolt Upande = ①
- Hatua ya 9: Ambatisha Ⓛⓣ kwa Ⓒ = ②
- Hatua ya 10: Mkutano -Tumia Ⓦ na Ⓝ Kuchanganya ① na ② = ③
- Hatua ya 11: Mkutano -Unganisha Ⓐⓔ na ③ Kutumia Dhamana ya Acrylic = ④
- Hatua ya 12: Ambatisha Ⓢ kwa Ⓓ = ⑤
- Hatua ya 13: Mkutano -Ujumuishe ④ na ⑤ Kutumia Ⓦ na Ⓝ = ⑥
- Hatua ya 14: Mkutano kamili wa kipande
- Hatua ya 15: Mwonekano wa Kufanya kazi wa Mradi
- Hatua ya 16: NeoPixel, Kontakt Wiring
- Hatua ya 17: NeoPixel na Wiring Arduino
- Hatua ya 18: Panga Arduino
- Hatua ya 19:
- Hatua ya 20: Sampuli
Video: Niwashie !: Hatua 20 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
wanachama wa timu ya mradi
(Hyewon Shin, Eunjeong Ko, Junsung Yi)
Je! Ikiwa ungeweza kugusa na kubuni taa? Je! Ingejisikiaje ikiwa ungekuwa na muundo mzuri wa nuru uliyojitengeneza na uhuishaji wa kupendeza? Nimulike itakuwa kitabu cha michoro cha kuvutia ambacho kinagusa na kubuni taa yenyewe na hufanya mifumo ya kupendeza! Mradi huu una pembetatu kadhaa ambazo huunda umbo la hexagonal. Kwa hivyo unaweza kuunda mifumo ya stereoscopic kulingana na jinsi unavyotengeneza nuru! Bonyeza tu kila kipande na rangi anuwai zitatengenezwa, na wakati rangi unayotaka itatoka, gonga tu mkono uliobonyeza na itaendelea kung'aa vizuri na rangi uliyotaka! Mradi ulitumia pembetatu 312, lakini inaweza kuunda taa nzuri inayofanya kazi vizuri na pembetatu 6. Sasa wacha nikuonyeshe jinsi ya kuifanya na pembetatu sita. Fuata hatua na utapata kazi yako mwenyewe nzuri!
Vifaa
Vifaa: Arduino (Nilitumia arduino mega 2560), Akriliki (wazi, nyeupe), Ukanda wa LED (NeoPixel), Filamu ya Dereva, kitufe, Kiunganishi cha pini 4, Waya, Bodi ya Mzunguko, Usambazaji wa Nguvu
Zana: Mashine ya Kukata Kuongozwa na Laser, Printa ya 3D
Hatua ya 1: Wacha tuifanye
Wacha tufanye kipande hiki kipya cha hexagonal na mimi!
Light Me Up imetengenezwa kwa kutumia pembetatu 312, lakini hata pembetatu 6 zinaweza kubuni nuru nzuri. Ikiwa unataka kuifanya kwa kiwango kikubwa, unaweza kuifanya kwa kurejelea faili iliyoambatanishwa hapa chini.
Hatua ya 2: Matayarisho ya Nyenzo
Hatua ya 3: Kukata Acrylic
Tumia cutter laser kukata mbele na nyuma ya kila sehemu. Rangi ya akriliki nyuma inaweza kuwa kitu chochote unachotaka, lakini hakikisha kutumia akriliki ya uwazi kwa sababu mbele inapaswa kupunguzwa! Ikiwa unatumia rangi ya akriliki isipokuwa uwazi, hautaona taa vizuri.
Hatua ya 4: Fanya pande na Printa za 3D
Sasa ni wakati wa kutengeneza pande za kila kipande. Wacha tuifanye! Faili za uundaji za 3D upande zimeambatanishwa hapa chini. Tulitumia PLA kutengeneza pande PLA ina nguvu na ina mikazo kidogo kuliko ABS, kwa hivyo filaments inashauriwa kutumia PLA.
Hatua ya 5: Upigaji picha
Sasa wacha tuweke filamu ndogo ya kueneza kwenye akriliki mbele. Ikiwa utaweka filamu juu yake, inaenea na kuangaza uzuri zaidi. Kwanza, kata filamu kwa umbo la pembetatu. (Ni bora ukate filamu kubwa kuliko akriliki iliyokatwa) Ni rahisi kuweka filamu, kama, filamu ya kinga kwenye simu yako. Ikiwa unataka kusema hapa, unaweza kutumia kadi kuisukuma ili iweze kukwama vizuri!
Hatua ya 6: Ambatisha Ukanda wa LED + Ukanda wa LED wa Soldering (NeoPixel) Na waya
Ikiwa umekuwa mzuri katika kuuza ukanda wa LED, ni wakati wa kuweka mkanda wa LED nyuma. Kwanza, ambatisha bunduki ya gundi au mkanda wenye pande mbili nyuma ya ukanda wa LED. Na kwanza ondoa waya kutoka pande zote mbili za waya wa kutengeneza kupitia mashimo pande zote mbili. Mwishowe, ambatisha ukanda wa LED kwa akriliki ya nyuma na imekwisha!
Ni wakati wa kuuza! andaa vipande vya LED, viunganishi vya pini 4 (kontakt au waya) na kile unahitaji kwa kutengenezea. Nilitumia LEDs katika vitengo vitatu. Unaweza kutumia LEDs moja au mbili ikiwa unataka, lakini ninapendekeza utumie tatu. Wakati vifaa vyote viko tayari, futa waya katika mistari yote ya data, mistari 5v, na mistari ya ardhini ya ukanda wa LED.
Hatua ya 7: Soldering Tact switch na waya
Hatua ya 8: Bunge -Ingiza Bolt Upande = ①
Sasa ni sehemu rahisi sana! Weka bolt moja kwa kila moja ya pande tatu zilizochapishwa za 3D. Sababu ya kutumia kitufe cha bolt kama vile kutumia bolts za kimuundo na karanga zitaweza kutengeneza. Kipande kitakapomalizika, nitaweka kipande hicho kwenye kisa na kukimaliza na nati.
Hatua ya 9: Ambatisha Ⓛⓣ kwa Ⓒ = ②
Hatua ya 10: Mkutano -Tumia Ⓦ na Ⓝ Kuchanganya ① na ② = ③
Hatua ya 11: Mkutano -Unganisha Ⓐⓔ na ③ Kutumia Dhamana ya Acrylic = ④
Ikiwa utaweka bolt kando, tutaiweka upande na mbele. Mbele ni akriliki, kwa hivyo lazima uiweke na dhamana ya akriliki iliyowekwa wakfu. Ikiwa utaunganisha akriliki kwa dhamana ya kawaida, itaacha alama.
Hatua ya 12: Ambatisha Ⓢ kwa Ⓓ = ⑤
Hatua ya 13: Mkutano -Ujumuishe ④ na ⑤ Kutumia Ⓦ na Ⓝ = ⑥
Hatua ya 14: Mkutano kamili wa kipande
Hatua ya 15: Mwonekano wa Kufanya kazi wa Mradi
Hatua ya 16: NeoPixel, Kontakt Wiring
Hatua ya 17: NeoPixel na Wiring Arduino
Hatua ya 18: Panga Arduino
nje ya muda usiosainiwa timer0_millis;
# pamoja
#fafanua MODEBTNNUM 3 int ani_mode = 0; preM1 ndefu iliyosajiliwa, preM2, preM3;
usanidi batili () {
Wire.begin (); kwa (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i + 2, INPUT_PULLUP); } //Serial.anza (9600); }
kitanzi batili () {
kwa (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } kwa (int i = 0; i <6; i ++) {Wire.requestFrom (i + 1, 1); wakati (Waya haipatikani ()) {int x = Wire.read (); // Serial.println (x); ikiwa (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} ///////////////////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; kwa (int i = 1; i 5000) {preM2 = current2; kwa (int i = 1; i 3000) {preM3 = current3; // timer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("kuweka upya timer"); kwa (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Andika waya (ani_mode); //Serial.println ("3000"); Uwasilishaji wa waya (i); }}}}
Hatua ya 19:
nje ya muda usiosainiwa timer0_millis;
# pamoja
#jumuisha #fafanua PIN 12 #fafanua NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int idadi = NUMPIXELS / 3; const int mtumwaNum = 1; rangi [int] [3]; inte hue [num]; int ameketi [num]; mkali [num]; nambari ya int = 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, 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]; boolean btnMode; Inte 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}; # pamoja #fafanua BTNNUM 1 int f_v = 1; preMillis1 isiyosainiwa kwa muda mrefu; preM ndefu isiyosainiwa; int ani_mode = 0; int ani2_Counter = 0; int counter = 0; ////////////////////////////////////////////// usanidi batili () {Wire. anza (mtumwaNum); Wire.onRequest (ombiEvent); Waya. Pokea (pokea Tukio); kwa (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.anza (9600); strip. kuanza (); } /////////////////////////////////////////////////
kitanzi batili () {
ikiwa (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; ameketi = 95; mkali = 100; } f_v = 0; } ///////////////////////////////////////// // // 버튼 입력 체크: 멈춤 신호 보내기 btnMode = uwongo; kwa (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnTukio (5); // Serial.println (ani_mode); //////////////////////////////////////// switch (ani_mode) {kesi 0: ani0 (); kuvunja; kesi 1: ani1 (); ani_mode = 0; ani2_Counter = 0; kuvunja; kesi 2: ani2_Counter = 1; ani_mode = 0; kuvunja; kesi 3: ani3 (); ani_mode = 0; ani2_Counter = 0; kuvunja; chaguo-msingi: readyState (); kuvunja; } ikiwa (ani2_Counter == 1) {ani2 (); } seti za saizi (num); }
///////////////////////////////////////////
batili kupokeaEvent (int howMany) {int x = Wire.read (); ikiwa (x == 5) {// Serial.println ("imepokea 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } ////////////////////////////////////////////// void requestEvent () {
ikiwa (btnMode == kweli) {
Andika waya (5); // Serial.println ("5 보냄"); } mwingine {Wire.write (0); }
}
utupu ani0 () {
// Serial.println ("0"); }
batili ani1 () {
// Serial.println ("1"); ikiwa (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; kwa (int a = 0; a <2; a ++) {hue [a1 [a] = 100; ameketi [a1 [a] = 95; mkali [a1 [a] = 100; } kwa (int b = 0; b <2; b ++) {hue [b1 = 200; ameketi [b1 = 95; mkali [b1 = 100; } kwa (int c = 0; c <2; c ++) {hue [c1 [c] = 300; ameketi [c1 [c] = 95; mkali [c1 [c] = 100; } // Serial.println ("0"); } vingine ikiwa (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; kwa (int a = 0; a <8; a ++) {hue [a2 [a] = 26; ameketi [a2 [a] = 95; mkali [a2 [a] = 100; } kwa (int d = 0; d <4; d ++) {hue [d2 [d] = 63; ameketi [d2 [d] = 95; mkali [d2 [d] = 100; } // Serial.println ("1"); } vingine ikiwa (pNumber == 2) {// mfano wa mchemraba mkubwa wa (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // manjano 06 kwa (int a = 0; a <6; a ++) {hue [a14 [a] = 35; ameketi [a14 [a] = 95; mkali [a14 [a] = 100; }} mwingine ikiwa (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // manjano kwa (int a = 0; a <6; a ++) {hue [a3 [a] = 53; ameketi [a3 [a] = 95; mkali [a3 [a] = 100; }} mwingine ikiwa (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a4 = {34, 35}; // njano int b4 = {47}; // bluu int c4 = {48}; // zambarau
kwa (int a = 0; a <2; a ++) {hue [a4 [a] = 53; ameketi [a4 [a] = 95; mkali [a4 [a] = 100; }
kwa (int b = 0; b <1; b ++) {hue [b4 = 210; ameketi [b4 = 95; mkali [b4 = 100; } kwa (int c = 0; c <1; c ++) {hue [c4 [c] = 307; ameketi [c4 [c] = 95; mkali [c4 [c] = 100; }} vingine ikiwa (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a5 = {34, 35, 46, 47, 48, 49};
kwa (int a = 0; a <6; a ++) {hue [a5 [a] = 100; ameketi [a5 [a] = 95; mkali [a5 [a] = 100; }} mwingine ikiwa (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // manjano kwa (int a = 0; a <6; a ++) {hue [a6 [a] = 53; ameketi [a6 [a] = 95; mkali [a6 [a] = 100; }} mwingine ikiwa (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // zambarau kwa (int c = 0; c <6; c ++) {hue [c7 [c] = 307; ameketi [c7 [c] = 95; mkali [c7 [c] = 100; }} mwingine ikiwa (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // zambarau kwa (int c = 0; c <6; c ++) {hue [c8 [c] = 307; ameketi [c8 [c] = 95; mkali [c8 [c] = 100; }} mwingine ikiwa (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // zambarau kwa (int c = 0; c <6; c ++) {hue [c9 [c] = 307; ameketi [c9 [c] = 95; mkali [c9 [c] = 100; }} mwingine ikiwa (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // zambarau kwa (int c = 0; c <6; c ++) {hue [c10 [c] = 307; ameketi [c10 [c] = 95; mkali [c10 [c] = 100; }} mwingine ikiwa (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // zambarau kwa (int c = 0; c <6; c ++) {hue [c11 [c] = 307; ameketi [c11 [c] = 95; mkali [c11 [c] = 100; }} mwingine ikiwa (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // zambarau kwa (int c = 0; c <6; c ++) {hue [c12 [c] = 307; ameketi [c12 [c] = 95; mkali [c12 [c] = 100; }} mwingine ikiwa (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; Thamani = 1; } int a13 = {34, 35}; // njano int b13 = {47}; // bluu int c13 = {48}; // zambarau kwa (int a = 0; a <2; a ++) {hue [a13 [a] = 53; ameketi [a13 [a] = 95; mkali [a13 [a] = 100; } kwa (int b = 0; b <1; b ++) {hue [b13 = 210; ameketi [b13 = 95; mkali [b13 = 100; } kwa (int c = 0; c <1; c ++) {hue [c13 [c] = 307; ameketi [c13 [c] = 95; mkali [c13 [c] = 100; }} nambari = nambari + 1;
ikiwa (nambari == 14) {
nambari = 0; }}
utupu ani2 () {
// Serial.println ("2"); curM ndefu isiyosainiwa = millis ();
ikiwa (curM - preM> = 10) {
preM = curM; kwa (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } hue = hue + g Thamani ; } kaunta ++; ikiwa (counter == 360) {// Serial.print ("counter:"); // Serial.println (kaunta); // Serial.println (curM); kaunta = 0; ani2_Counter = 0; }}}
utupu ani3 () {
// Serial.println ("3"); } ////////////////////////////////////////////// utupu readyState () {/ / Serial.println ("tayari"); } ////////////////////////////////////////////// utupu btnEvent (int b_interval) {unsigned long curMillis1 = millis ();
kwa (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }
ikiwa (curMillis1 - preMillis1> b_interval) {
preMillis1 = curMillis1; kwa (int i = 0; i = 360) {hueV = -1; } kingine ikiwa (hue <= 0) {hueV = 1; } hue = hue + hueV ; mkali = 100; }}}} ///////////////////////////////////////////////// batili setPixels (int k) {kwa (int i = 0; i <k; i ++) {H2R_HSBtoRGB (hue , ameketi , angavu , rangi ); nambari1 = i * 3; strip.setPixelColor (num1, rangi [0], rangi [1], rangi [2]); strip.setPixelColor (num1 + 1, rangi [0], rangi [1], rangi [2]); strip.setPixelColor (num1 + 2, rangi [0], rangi [1], rangi [2]); } onyesha (); }
Hatua ya 20: Sampuli
Mradi huu una pembetatu kadhaa ambazo huunda umbo la hexagonal. Kwa hivyo unaweza kuunda mifumo ya stereoscopic kulingana na jinsi unavyotengeneza nuru! Bonyeza tu kila kipande na rangi anuwai zitatengenezwa, na wakati rangi unayotaka itatoka, piga tu mkono uliobonyeza na itaendelea kung'aa vizuri na rangi uliyotaka!
Ilipendekeza:
Jinsi: Kuweka Raspberry PI 4 isiyo na kichwa (VNC) na Rpi-picha na Picha: Hatua 7 (na Picha)
Jinsi: Kuweka Raspberry PI 4 isiyo na kichwa (VNC) Na picha ya Rpi na Picha: Ninapanga kutumia Rapsberry PI hii kwenye rundo la miradi ya kufurahisha nyuma kwenye blogi yangu. Jisikie huru kuiangalia. Nilitaka kurudi kutumia Raspberry PI yangu lakini sikuwa na Kinanda au Panya katika eneo langu jipya. Ilikuwa ni muda tangu nilipoweka Raspberry
Uso wa Kujua Picha ya Picha ya OSD: Hatua 11 (na Picha)
Uso wa Kujua Picha ya Picha ya OSD: Maagizo haya yanaonyesha jinsi ya kutengeneza fremu ya picha na utambuzi wa uso kwenye Onyesho la Skrini (OSD). OSD inaweza kuonyesha wakati, hali ya hewa au habari nyingine ya mtandao unayotaka
Utengenezaji wa Picha / Picha ya Picha: 4 Hatua
Picha-based Modeling / Photogrammetry Portraiture: Halo kila mtu, Katika hii inayoweza kuelekezwa, nitakuonyesha mchakato wa jinsi ya kuunda vielelezo vya 3D kwa kutumia picha za dijiti. Mchakato huo unaitwa Photogrammetry, pia inajulikana kama Modeling-Image Modeling (IBM). Hasa, aina ya mchakato huu hutumiwa
Hawk ya Ishara: Roboti Iliyodhibitiwa na Ishara ya Mkono Kutumia Picha ya Usindikaji wa Picha: Hatua 13 (na Picha)
Hawk ya Ishara: Robot Iliyodhibitiwa na Ishara ya Mkono Kutumia Picha ya Usindikaji wa Picha: Hawk ya Ishara ilionyeshwa katika TechEvince 4.0 kama muundo rahisi wa picha ya msingi wa mashine ya kibinadamu. Huduma yake iko katika ukweli kwamba hakuna sensorer za ziada au za kuvaliwa isipokuwa glavu inahitajika kudhibiti gari ya roboti inayoendesha tofauti
Picha ya Picha ya Dijitali, Wifi Imeunganishwa - Raspberry Pi: Hatua 4 (na Picha)
Picha ya Picha ya Dijitali, Wifi Imeunganishwa - Raspberry Pi: Hii ni njia rahisi na ya gharama nafuu kwa fremu ya picha ya dijiti - na faida ya kuongeza / kuondoa picha kwenye WiFi kupitia 'bonyeza na buruta' kwa kutumia (bure) mpango wa kuhamisha faili . Inaweza kutumiwa na Pauni Zero ndogo ya Pauni 4.50. Unaweza pia kuhamisha