Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
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ą
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ą
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
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:
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ą…
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:
„Pasidaryk pats“tinklelis, inverteris, PV sistemos atnaujinimas 3.0: 8 žingsniai
„Pasidaryk pats“tinklelio keitiklis, PV sistemos atnaujinimas 3.0: Štai atnaujinimas, kurio mes visi laukėme! Taigi, nuo pirmųjų dviejų instrukcijų šia tema aš išmokau iš savo klaidų ir patobulinau, susmulkinau ir pakeičiau sistemą, ypač Kadangi persikėliau į dirbtuves, turime
„Pasidaryk pats“18650 ličio jonų elementų įkrovimo tinklelis: 7 žingsniai (su nuotraukomis)
„Pasidaryk pats“18650 ličio jonų elementų įkrovimo tinklelis: aš dirbau su dviračio motorizavimu, naudodamas nuolatinį nuolatinės srovės variklį, ir dabar man reikia baterijos. Taigi, norėdamas pagaminti akumuliatorių, nusprendžiau naudoti populiarius 18650 ličio jonų elementus iš dviejų senų „hoverboard“baterijų. Kadangi elementai yra
Labai juokingas ir mažiausias robotas (tinklelis): 7 žingsniai
Labai juokingas ir mažiausias robotas (tinklelis): tai juokingas projektas
Išorinis akumuliatorius be veidrodžių DSLR: 8 žingsniai (su nuotraukomis)
Išorinis akumuliatorius be veidrodžių DSLR: su žmona medaus mėnesio metu nuėjome į poliarinį ratą važiuoti šiaurės elniais kalnuose ir pažiūrėti, ar galėtume liudyti „Aurora Borealis“. Pripažindamas, kaip klimatas gali paveikti prietaisus, ypač baterijas. Sugalvojau, kaip padaryti išorinį smūgį
Nešiojamojo kompiuterio ekrano pavertimas veidrodžiu: 9 žingsniai (su nuotraukomis)
Pasukite nešiojamojo kompiuterio ekraną į veidrodį: Sveiki, tai yra mano pirmasis pamokomas dalykas, todėl visi kritikai ir komentarai yra laukiami! Ir atsiprašau už mano anglų kalbą, aš esu šiek tiek prancūziškas vaikinas =) Kai kurios nuotraukos nėra labai geros kokybės, atsiprašau už tai., Bet man jos atrodo pakankamai aiškios. Taigi, pirma, W