Turinys:

Judantis tinklelis su begalybės veidrodžiu: 7 žingsniai
Judantis tinklelis su begalybės veidrodžiu: 7 žingsniai

Video: Judantis tinklelis su begalybės veidrodžiu: 7 žingsniai

Video: Judantis tinklelis su begalybės veidrodžiu: 7 žingsniai
Video: Fotografinio momento transformacijos: tarp disciplinų - Agnė Narušytė 2024, Liepa
Anonim
Image
Image

tie vaizdo įrašai kuria vaizdo įrašus ir judančius vaizdo įrašus.

Mes norėjome parodyti siūbuojančią erdvę per judančius tinklus ir „Infinity Mirror“, kad būtų galima efektyviau parodyti erdvės pojūtį.

Mūsų darbas susideda iš dviejų akrilo plokščių - priekinės ir galinės plokštės, kurios parodo žmonėms, kaip jie tiesiogiai maišo, o galinėse plokštėse yra 25 žingsnių varikliai, kurie iš tikrųjų sukuria judesį.

Darbą sudaro priekinis skydelis, kuriame bus matyti erdvės žvilgsniai, medinė lazda, atliekanti vidurinį judesį, strypų kreiptuvas ir atrama, sukurianti judesį per 25 žingsnių variklius.

25 tinklelio smailės, prijungtos prie 25 žingsnių variklių, sukuria skirtingus modelius pagal nustatytas kodavimo vertes. Be to, bendrovė norėjo padidinti erdvę, derindama skaidrią akrilą su priekinio pusiau veidrodžio plėvele, galiniu veidrodžiu ir juodai apšviestu „Infinity“veidrodžiu. Įvairūs animacijos modeliai yra sukurti remiantis bangomis ir brėžiniais, kurie yra pagaminti remiantis vandens bangomis.

Prekės

Prekės

1. UV šviesos diodas 12V 840 cm

2. Guma balta 12 mm 750 cm

3. „Arduino mega 2560 x2“

4. Variklio tvarkyklė x25

5. Žingsninis variklis x25

6. Dvipolis kabelis žingsniniam varikliui x25

7. Medinis cilindras x25

8. PVC (9 mm) x25

9. Pavasaris x 25

10. akrilas 700 mm*700 mm

11. Pusė veidrodinė plėvelė 1524 mm * 1M

12. Žvejybos linija

13. Maitinimas 12V 12.5A, 12V 75A

14. paskirstymo skriemulys (3D spausdinimas) x 25

1 žingsnis: suplanuokite didelę sistemą

Suplanuokite didelę sistemą
Suplanuokite didelę sistemą

Kai pradedame, turime planuoti ir nupiešti didelę sistemą. Taigi, mes paruošėme pdf failą, skirtą bendram akrilo rėmui ir paskirstymo skriemulio stl failui (tai, ką mes įdėjome prieš žingsninį variklį, skirtą vėjo sriegiui, kuris gali ištraukti medžio strypą).

naudojant bendrą akrilo rėmą ir laiko skriemulį, pirmiausia turime padaryti stl failą ir spausdinti 3d.

2 žingsnis: gaminkite aparatūrą

Aparatūros gamyba
Aparatūros gamyba
Aparatūros gamyba
Aparatūros gamyba
Aparatūros gamyba
Aparatūros gamyba

1 langelis

1. Padėkite 2T akrilo juodą (Nr. 1) ant grindų ir pritvirtinkite 5T akrilo juodą pusę (Nr. 2) ant viršaus. Pridėkite 5T akrilo juodą tinklelį (Nr. 3) ir pritvirtinkite jį akrilo jungtimi.

2 langelis

2. Pabarstykite vandenį ant skaidrios akrilo plokštės ir uždenkite pusiau veidrodine plėvele. Pusiau veidrodis susuka kortelę, kad ji nesiburbuliuotų. Pritvirtinkite šoną (2) ir akrilo skaidrę (1). Neužfiksuokite kombinuoto akrilo iškyšos ir akrilo veidrodžių (Nr. 1) į šoną. Laikinai pritvirtinkite juostele (norėdami pataisyti žvejybos liniją ar atnaujinti interjerą).

3 žingsnis: tinklelio kūrimas

Tinklelio kūrimas
Tinklelio kūrimas
Tinklelio kūrimas
Tinklelio kūrimas
Tinklelio kūrimas
Tinklelio kūrimas

1. Medinė kolona yra 12 mm dydžio. Pabaigoje išgręžkite skylę, kad žvejybos linija galėtų patekti.

2. Pritvirtinkite akrilo plokštes kitoje perforuotos medinės kolonos pusėje, naudodami klijus.

3. Įkiškite guminę juostelę per medinio stulpo galą ir įkiškite spyruoklę.

4. Bendra forma

4 žingsnis:

Vaizdas
Vaizdas
Vaizdas
Vaizdas
Vaizdas
Vaizdas

1. „Arduino Mega 2560“jungties numeris

2. padalinkite elektrą į dvi dalis

3. Žingsninis variklis ir variklio vairuotojo grandinė

4. Du „Arduino mega2560“yra sujungti, kertant TX ir RX, kad būtų užtikrintas nuoseklusis ryšys.

5 žingsnis: kodas

#įtraukti

StepperMulti stepper (200, 2, 3, 4, 5); // žingsninio variklio numeracija 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 = milis (); uint32_t set_timer1 = milis (); uint32_t set_timer2 = milis (); uint32_t set_timer3 = milis (); uint32_t set_timer4 = milis (); uint32_t set_timer5 = milis (); uint32_t set_timer6 = milis (); uint32_t set_timer7 = milis (); uint32_t set_timer8 = milis (); uint32_t set_timer9 = milis (); uint32_t set_timer10 = milis (); int skaičius = 0; int init_set_speed

negaliojanti sąranka ()

Serial1.begin (115200); // serijinis ryšys 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; // variklio greičio tuštumos kilpa () {////////////////////////////////////////////////////////////////-) - set_timer1 <6000) {// Žingsninis variklis 13 juda tarp 1500 ir 6000 sekundžių. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } else if (milis () - įjungimo laikmatis <3000) {stepper13.setStep (-SPEED); // (- SPEED) reiškia atvirkštinį sukimąsi} else if (millis () - on_timer <4500) {stepper13.setStep (SPEED); } else if (millis () - on_timer 1000) {Serial1.write (0x01); skaičius = 1; }} //////////////////////// if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (milis () - įjungimo laikmatis <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else if (milis () - įjungimo laikmatis <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (milis () - įjungimo laikmatis <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); } if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } else if (milis () - įjungimo laikmatis <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else if (milis () - įjungimo laikmatis <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } else if (milis () - įjungimo laikmatis <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} else {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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); } if (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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); } ///////////////////////////////////////////////// stepper.moveStep (); 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 kodavimas

ir..

#įtraukti

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 = milis (); uint32_t set_timer1 = milis (); uint32_t set_timer2 = milis (); uint32_t set_timer3 = milis (); uint32_t set_timer4 = milis (); uint32_t set_timer5 = milis (); uint32_t set_timer6 = milis (); uint32_t set_timer7 = milis (); uint32_t set_timer8 = milis (); uint32_t set_timer9 = milis (); uint32_t set_timer10 = milis (); int skaičius = 0; int init_set_speed = 10; void 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 () {

/////////////////////////////////////

if (millis () - set_timer1 <6000) {if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } else if (milis () - įjungimo laikmatis <3000) {stepper13.setStep (-SPEED); } else if (milis () - įjungimo laikmatis <4500) {stepper13.setStep (SPEED); } else if (millis () - on_timer 1000) {Serial1.write (0x01); skaičius = 1; }} //////////////////////// if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setSte ㄴ p (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (milis () - įjungimo laikmatis <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else if (milis () - įjungimo laikmatis <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (milis () - įjungimo laikmatis <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); } if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } else if (milis () - įjungimo laikmatis <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else if (milis () - įjungimo laikmatis <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } else if (milis () - įjungimo laikmatis <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} else {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); } else if (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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); } if (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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else if (milis () - įjungimo laikmatis <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); } else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); } ///////////////////////////////////////////////// stepper.moveStep (); stepper2.moveStep (); stepper3.moveStep (); stepper4.moveStep (); stepper5.moveStep (); stepper6.moveStep (); stepper7.moveStep (); stepper8.moveStep (); stepper9.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }

antrasis kodavimas

6 žingsnis: prieš kodavimą…

Prieš kodavimą…
Prieš kodavimą…

Turėtumėte pridėti naują biblioteką, susijusią su žingsniniais varikliais.

Taigi eikite į šią svetainę ir atsisiųskite naują biblioteką.

blog.danggun.net/2092

7 žingsnis: nuoseklus bendravimas

Turite sukurti du arduino mega telekomunikacijas.

if (start_count == 0) {

int Duomenys = Serial1.read (); Serial.println (duomenys); if (Duomenys == 0x01) {start_count = 1; }

Visų pirma, mums reikia šio kodavimo Maine Arduino Mega.

if (skaičius == 0) {if (milis () - set_timer1> 1000) {Serial1.write (0x01); skaičius = 1; }

Šio kodavimo reikia „Arduino Mega“, gaunančiam serijinius ryšius.

Pirmasis kodavimas dedamas ten, kur turi judėti antrasis aduino.

Rekomenduojamas: