Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:12
ang mga video na iyon ay gumagawa ng video at gumagalaw na video.
Nais naming ipakita ang swaying space sa pamamagitan ng paglipat ng grids at Infinity Mirror upang maipakita nang mas epektibo ang pakiramdam ng puwang.
Ang aming trabaho ay binubuo ng dalawang mga acrylic plate, sa harap, at sa mga backplate, na nagpapakita sa mga tao ng paraan ng direktang pag-agitasyon, at ang mga backplate ay may 25 hakbang na mga motor na talagang gumagawa ng paggalaw.
Ang gawain ay binubuo ng isang front panel na magpapakita ng mga glimmers ng space, isang kahoy na stick na nagpapatupad ng gitnang kilusan, isang gabay para sa mga rod, at isang backboard na lumilikha ng paggalaw sa pamamagitan ng 25 hakbang na mga motor.
Ang 25 mga tuktok ng grid-konektado sa 25 hakbang na motors ay gumagawa ng iba't ibang mga pattern ayon sa itinakdang mga halaga ng pag-cod. Bilang karagdagan, nais ng kumpanya na i-maximize ang puwang sa pamamagitan ng pagsasama ng transparent acrylic sa harap na half-mirror film, likurang salamin, at black-lighted Infinity mirror. Ang iba't ibang mga pattern ng animasyon ay ginawa batay sa mga alon at drab na ginawa batay sa mga alon ng tubig.
Mga gamit
Mga gamit
1. UV LED 12V 840cm
2. Rubber white 12mm 750cm
3. Arrdino mega 2560 x2
4. Driver ng motor x25
5. Stepper motor x25
6. Bipolar cable para sa stepper motor x25
7. Kahoy na silindro x25
8.pvc (9mm) x25
9. Spring ng 25
10.acrylic 700mm * 700mm
11. Half film film 1524mm * 1M
12. linya ng pangingisda
13. Kapangyarihan 12V 12.5A, 12V 75A
14. tiyempo pulley (3d print) x 25
Hakbang 1: Magplano ng isang Malaking Framework
Kapag nagsimula tayo, kailangan nating magplano at gumuhit ng isang malaking balangkas. sa gayon, naghanda kami ng isang file na pdf para sa pangkalahatang frame ng acrylic at tiyempo ng file ng pulley stl (kung ano ang inilalagay namin sa kanila sa harap ng step motor para sa thread ng hangin na maaaring hilahin ang isang baras na nasa gitna ng kahoy).
kasama ang pangkalahatang frame ng acrylic at tiyempo ng kalo, kailangan naming gumawa ng stl file muna, at 3d na pag-print.
Hakbang 2: Paggawa ng Hardware
kahon1
1. Ilagay ang 2T acrylic black (No. 1) sa sahig at ilakip ang 5T acrylic black side (No. 2) sa itaas. Magdagdag ng 5T acrylic black grid (No. 3) at ikabit ito gamit ang acrylic bond.
kahon2
2. Pagwiwisik ng tubig sa acrylic transparent plate at itaas na may semi-mirror film. Ang isang kalahating salamin ay pinagsama ang isang kard upang maiwasang bumulwak. Ikabit ang gilid (2) at ang transparency ng acrylic (1). Huwag i-secure ang pinagsamang acrylic protrusion at acrylic mirror (No. 1) sa paglaon. Pansamantalang ayusin ito gamit ang tape (para maayos ang linya ng pangingisda o ayusin ang interior).
Hakbang 3: Paggawa ng Grid
1. Ang isang haligi na gawa sa kahoy ay 12mm ang laki. Mag-drill ng butas sa dulo upang payagan ang linya ng pangingisda na makapasok.
2. Idikit ang mga plate na acrylic sa kabilang panig ng isang butas na kahoy na haligi gamit ang malagkit.
3. Ilagay ang isang goma sa likuran ng isang kahoy na haligi at ilagay dito ang isang bukal.
4. Pangkalahatang hugis
Hakbang 4:
1. Numero ng Connection ng Mega 2560 Pin
2. hatiin ang kuryente sa dalawang bahagi
3. Stepper motor at circuit ng driver ng motor
4. Dalawang Arduino mega2560s ay konektado sa pamamagitan ng pagtawid sa TX at RX para sa serial na komunikasyon.
Hakbang 5: Code
# isama
StepperMulti stepper (200, 2, 3, 4, 5); // stepper motor numbering StepperMulti stepper2 (200, 6, 7, 8, 9); StepperMulti stepper3 (200, 10, 11, 12, 13); StepperMulti stepper4 (200, A0, A1, A2, A3); StepperMulti stepper5 (200, A4, A5, A6, A7); StepperMulti stepper6 (200, 22, 23, 24, 25); StepperMulti stepper7 (200, 26, 27, 28, 29); StepperMulti stepper8 (200, 30, 31, 32, 33); StepperMulti stepper9 (200, 34, 35, 36, 37); StepperMulti stepper10 (200, 38, 39, 40, 41); StepperMulti stepper11 (200, 42, 43, 44, 45); StepperMulti stepper12 (200, 46, 47, 48, 49); StepperMulti stepper13 (200, 50, 51, 52, 53); uint32_t on_timer = millis (); uint32_t set_timer1 = millis (); uint32_t set_timer2 = millis (); uint32_t set_timer3 = millis (); uint32_t set_timer4 = millis (); uint32_t set_timer5 = millis (); uint32_t set_timer6 = millis (); uint32_t set_timer7 = millis (); uint32_t set_timer8 = millis (); uint32_t set_timer9 = millis (); uint32_t set_timer10 = millis (); int count = 0; int init_set_speed
walang bisa ang pag-setup ()
Serial1.begin (115200); // serial komunikasyon Serial.begin (9600); stepper.setSpeed (init_set_speed); stepper2.setSpeed (init_set_speed); stepper3.setSpeed (init_set_speed); stepper4.setSpeed (init_set_speed); stepper5.setSpeed (init_set_speed); stepper6.setSpeed (init_set_speed); stepper7.setSpeed (init_set_speed); stepper8.setSpeed (init_set_speed); stepper9.setSpeed (init_set_speed); stepper10.setSpeed (init_set_speed); stepper11.setSpeed (init_set_speed); stepper12.setSpeed (init_set_speed); stepper13.setSpeed (init_set_speed); } int SPEED = 200; // motor speed void loop () {// ///. // ///.) - set_timer1 <6000) {// Stepper motor 13 gumagalaw sa pagitan ng 1500 at 6000 segundo. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer <3000) {stepper13.setStep (-SPEED); // (- SPEED) ay nangangahulugang reverse rotation} iba pa kung (millis () - on_timer <4500) {stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer 1000) {Serial1.write (0x01); bilangin = 1; }} // ///. (BILIS); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } iba pa kung (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } iba pa kung (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } iba pa kung (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } iba pa {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} iba pa {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); } kung (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } iba pa kung (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } iba pa kung (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } iba pa kung (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } iba pa {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} iba pa {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); } // ///. millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } iba pa kung (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } iba pa kung (millis () - on_timer <6500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } iba pa kung (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } iba pa {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} iba pa {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); } kung (millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer <5000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } iba pa kung (millis () - on_timer <6500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer <8000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } iba pa {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} iba pa {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); } // ///. /// stepper2.moveStep (); stepper3.moveStep (); stepper4.moveStep (); stepper5.moveStep (); stepper6.moveStep (); stepper7.moveStep (); stepper8.moveStep (); stepper9.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }
frist codeing
at..
# isama
StepperMulti stepper (200, 2, 3, 4, 5); StepperMulti stepper2 (200, 6, 7, 8, 9); StepperMulti stepper3 (200, 10, 11, 12, 13); StepperMulti stepper4 (200, A0, A1, A2, A3); StepperMulti stepper5 (200, A4, A5, A6, A7); StepperMulti stepper6 (200, 22, 23, 24, 25); StepperMulti stepper7 (200, 26, 27, 28, 29); StepperMulti stepper8 (200, 30, 31, 32, 33); StepperMulti stepper9 (200, 34, 35, 36, 37); StepperMulti stepper10 (200, 38, 39, 40, 41); StepperMulti stepper11 (200, 42, 43, 44, 45); StepperMulti stepper12 (200, 46, 47, 48, 49); StepperMulti stepper13 (200, 50, 51, 52, 53); uint32_t on_timer = millis (); uint32_t set_timer1 = millis (); uint32_t set_timer2 = millis (); uint32_t set_timer3 = millis (); uint32_t set_timer4 = millis (); uint32_t set_timer5 = millis (); uint32_t set_timer6 = millis (); uint32_t set_timer7 = millis (); uint32_t set_timer8 = millis (); uint32_t set_timer9 = millis (); uint32_t set_timer10 = millis (); int count = 0; int init_set_speed = 10; walang bisa ang setup () Serial1.begin (115200); Serial.begin (9600); stepper.setSpeed (init_set_speed); stepper2.setSpeed (init_set_speed); stepper3.setSpeed (init_set_speed); stepper4.setSpeed (init_set_speed); stepper5.setSpeed (init_set_speed); stepper6.setSpeed (init_set_speed); stepper7.setSpeed (init_set_speed); stepper8.setSpeed (init_set_speed); stepper9.setSpeed (init_set_speed); stepper10.setSpeed (init_set_speed); stepper11.setSpeed (init_set_speed); stepper12.setSpeed (init_set_speed); stepper13.setSpeed (init_set_speed); } int SPEED = 200; void loop () {
/////////////////////////////////////
kung (millis () - set_timer1 <6000) {if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer <3000) {stepper13.setStep (-SPEED); } iba pa kung (millis () - on_timer <4500) {stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer 1000) {Serial1.write (0x01); bilangin = 1; }} // ///. ㄴ p (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } iba pa kung (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } iba pa kung (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } iba pa kung (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } iba pa {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} iba pa {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); } kung (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } iba pa kung (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } iba pa kung (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } iba pa kung (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } iba pa {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} iba pa {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); } // ///. millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } iba pa kung (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } iba pa kung (millis () - on_timer <6500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } iba pa kung (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } iba pa {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} iba pa {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); } kung (millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer <5000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } iba pa kung (millis () - on_timer <6500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } iba pa kung (millis () - on_timer <8000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } iba pa {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} iba pa {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); } // ///. /// stepper2.moveStep (); stepper3.moveStep (); stepper4.moveStep (); stepper5.moveStep (); stepper6.moveStep (); stepper7.moveStep (); stepper8.moveStep (); stepper9.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }
pangalawang coding
Hakbang 6: Bago ang Coding …
Dapat kang magdagdag ng isang bagong silid-aklatan na nauugnay sa mga step motor.
Pumunta ka sa site na ito at mag-download ng bagong library.
blog.danggun.net/2092
Hakbang 7: Serial Communication
Kailangan mong gumawa ng dalawang arduino mega-telecommunications.
kung (start_count == 0) {
int Data = Serial1.read (); Serial.println (Data); kung (Data == 0x01) {start_count = 1; }
Una sa lahat, kailangan namin ang pag-coding na ito sa Maine Arduino Mega.
kung (count == 0) {kung (millis () - set_timer1> 1000) {Serial1.write (0x01); bilangin = 1; }
Ang Arduino Mega, na tumatanggap ng mga serial na komunikasyon, ay nangangailangan ng coding na ito.
Ang unang pag-coding ay inilalagay kung saan kailangang lumipat ang pangalawang aduino.
Inirerekumendang:
Paglipat ng Pantulong sa Doorbell: 21 Mga Hakbang
Ang Pagpatulong sa Doorbell: Ang Doorbell assistive Switch ay isang halimbawa ng teknolohiyang pantulong gamit ang pang-araw-araw na materyales. Ito ay isang switch na nagbabago ng isang ordinaryong switch ng doorbell upang maaari nitong bigyan ng kapangyarihan ang mga bata na may mga espesyal na pangangailangan na gumamit ng mga pang-araw-araw na item
Paglipat ng Button ng Push: 31 Hakbang
Push Button Switch: Ang Push Button Switch ay isa pang variant ng isang assistive switch. Ito ay inilaan para sa mga batang may kapansanan upang sila ay bigyan ng kapangyarihan na gumamit ng pang-araw-araw na mga item
Paglipat ng Crocodile: 16 Hakbang
Crocodile Switch: Ang Crocodile Switch ay isa pang halimbawa ng isang pantulong na teknolohiya na gumagamit ng pang-araw-araw na materyales. Ito ay isang switch na gumagamit ng mga switch ng crocodile upang maaari nitong bigyan ng kapangyarihan ang mga batang may mga espesyal na pangangailangan na gumamit ng pang-araw-araw na mga item tulad ng mga laruan
DIY Grid Tied Inverter (hindi Pinakain ang Grid) Alternatibong UPS: 7 Mga Hakbang (na may Mga Larawan)
DIY Grid Tied Inverter (hindi Pinakain ang Grid) Alternatibong UPS: Ito ay isang follow up na post mula sa aking iba pang Instructable tungkol sa paggawa ng isang inverter na grid tie na hindi feed pabalik sa grid, dahil posible na gawin ito ngayon sa ilang mga lugar bilang isang proyekto sa DIY at ilang mga lugar ay hindi pinapayagan ang pagpapakain doon
Paglipat ng 3 Mga Bangko ng LED Na May Isang Paglipat at Visuino: 9 Mga Hakbang (na may Mga Larawan)
Paglipat ng 3 Mga Bangko ng LED Na May Isang Paglipat at Visuino: Ang proyektong ito ay lumabas sa isang eksperimento na nais kong subukan, nais kong makita kung gaano kinakailangan ang ilaw ng UV upang makita ang iba't ibang mga bahagi ng mga kuwenta ng dolyar at mga tseke sa seguridad. Nagkaroon ako ng isang pasabog na pagbuo nito at nais kong ibahagi ang mga tagubiling ito dito. Mga bagay sa iyo