Sisukord:

Lõpmatuspeegliga võre liigutamine: 7 sammu
Lõpmatuspeegliga võre liigutamine: 7 sammu

Video: Lõpmatuspeegliga võre liigutamine: 7 sammu

Video: Lõpmatuspeegliga võre liigutamine: 7 sammu
Video: 😮 Очень противоречивый мотор, который иногда служит 500 тыс. км. Как это возможно? 2024, Juuli
Anonim
Image
Image

need videod teevad videot ja liigutavad videot.

Tahtsime kõikuvat ruumi näidata liikuva võre ja lõpmatuspeegli kaudu, et näidata ruumitunnet tõhusamalt.

Meie töö koosneb kahest akrüülplaadist, esiosast ja tagaplaatidest, mis näitavad inimestele, kuidas nad otseselt segavad, ja tagaplaatidel on 25 astmelist mootorit, mis tegelikult toodavad liikumist.

Teos koosneb esipaneelist, mis näitab ruumi sära, puidust pulgast, mis sooritab keskmist liikumist, juhtvarraste juhendist ja tagaplaadist, mis loob liikumise läbi 25 astmelise mootori.

25 sammuga mootoriga ühendatud võrgu 25 piiki tekitavad vastavalt määratud kodeerimisväärtustele erinevaid mustreid. Lisaks soovis ettevõte ruumi maksimeerida, ühendades läbipaistva akrüüli esipoolpeeglikile, tagapeegli ja musta valgusega Infinity peegliga. Erinevad animatsioonimustrid on tehtud lainete ja drabside põhjal, mis on tehtud veelainete põhjal.

Tarvikud

Tarvikud

1. UV LED 12V 840cm

2. Kumm valge 12mm 750cm

3. Arduino mega 2560 x2

4. Mootori juht x25

5. samm -mootor x25

6. Bipolaarne kaabel samm -mootorile x25

7. Puidust silinder x25

8. tk (9 mm) x25

9. Kevad x 25

10. akrüül 700mm*700mm

11. Poolpeegelkile 1524mm * 1M

12. Õngenöör

13. Toide 12V 12,5A, 12V 75A

14. hammasrihm (3D print) x 25

Samm: planeerige suur raamistik

Plaanige suur raamistik
Plaanige suur raamistik

Alustades peame planeerima ja joonistama suure raamistiku. Niisiis, me valmistasime akrüülist üldraami ja ajastusrulli stl-faili jaoks ette pdf-faili (mille me panime tuuleniidi jaoks astmemootori ette, mis võib tõmmata keskmise puidust varda).

akrüülist üldraami ja ajastusrulliga peame kõigepealt tegema stl -faili ja 3D -printimise.

Samm: riistvara valmistamine

Riistvara valmistamine
Riistvara valmistamine
Riistvara valmistamine
Riistvara valmistamine
Riistvara valmistamine
Riistvara valmistamine

kast 1

1. Asetage 2T akrüülmust (nr 1) põrandale ja kinnitage 5T akrüülmust külg (nr 2) peale. Lisage 5T akrüülmust võre (nr 3) ja kinnitage see, kasutades akrüülühendust.

kast 2

2. Piserdage vett läbipaistvale akrüülplaadile ja katke poolpeegelkilega. Poolpeegel veeretab kaarti, et see ei mullitaks. Kinnitage külg (2) ja akrüülkile (1). Ärge kinnitage kombineeritud akrüülist eendit ja akrüülpeegleid (nr 1) külgsuunas. Kinnitage see ajutiselt teibiga (õngenööri parandamiseks või sisemuse renoveerimiseks).

3. samm: võrgu loomine

Võrgu tegemine
Võrgu tegemine
Võrgu tegemine
Võrgu tegemine
Võrgu tegemine
Võrgu tegemine

1. Puidust samba suurus on 12 mm. Puurige lõpus auk õngenööri sisenemiseks.

2. Kinnitage akrüülplaadid perforeeritud puidust samba teisele küljele liimi abil.

3. Pange kummipael puidust samba tagaküljele ja pange sinna vedru.

4. Üldine kuju

4. samm:

Pilt
Pilt
Pilt
Pilt
Pilt
Pilt

1. Arduino Mega 2560 pin ühenduse number

2. jagage elekter kaheks osaks

3. Astmemootor ja mootori juhtahel

4. Kaks Arduino mega2560 -d on ühendatud TX -i ja RX -i ristamisega jadaühenduseks.

Samm: kood

#kaasake

StepperMulti stepper (200, 2, 3, 4, 5); // samm -mootorite nummerdamine 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 loend = 0; int init_set_speed

tühine seadistus ()

Seriaal1.algus (115200); // jadaühendus 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 KIIRUS = 200; // mootori pöörlemiskiiruse tühjusaar () {////////////////////////////////////// kui et (millis () - set_timer1 <6000) {// Sammumootor 13 liigub 1500 ja 6000 sekundi vahel. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } else if (millis () - on_timer <3000) {stepper13.setStep (-SPEED); // (- SPEED) tähendab tagasipööramist} else if (millis () - on_timer <4500) {stepper13.setStep (SPEED); } else if (millis () - on_timer 1000) {Serial1.write (0x01); loend = 1; }} //////////////////////// if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setStep (KIIRUS); stepper8.setStep (KIIRUS); stepper9.setStep (KIIRUS); stepper12.setStep (KIIRUS); } else if (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-KIIRUS); stepper9.setStep (-KIIRUS); stepper12.setStep (-KIIRUS); } else if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (KIIRUS); stepper9.setStep (KIIRUS); stepper12.setStep (KIIRUS); } else if (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-KIIRUS); stepper9.setStep (-KIIRUS); stepper12.setStep (-KIIRUS); } 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 (-KIIRUS); stepper6.setStep (KIIRUS); stepper7.setStep (KIIRUS); } else if (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (KIIRUS); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else if (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-KIIRUS); stepper6.setStep (KIIRUS); stepper7.setStep (KIIRUS); } else if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (KIIRUS); 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 (KIIRUS); stepper3.setStep (KIIRUS); stepper4.setStep (KIIRUS); stepper5.setStep (KIIRUS); stepper6.setStep (KIIRUS); stepper10.setStep (KIIRUS); stepper11.setStep (KIIRUS); } else if (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-KIIRUS); stepper3.setStep (-KIIRUS); stepper4.setStep (-SPEED); stepper5.setStep (-KIIRUS); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-KIIRUS); } else if (millis () - on_timer <6500) {stepper.setStep (SPEED); stepper2.setStep (KIIRUS); stepper3.setStep (KIIRUS); stepper4.setStep (KIIRUS); stepper5.setStep (KIIRUS); stepper6.setStep (KIIRUS); stepper10.setStep (KIIRUS); stepper11.setStep (KIIRUS); } else if (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-KIIRUS); stepper3.setStep (-KIIRUS); stepper4.setStep (-SPEED); stepper5.setStep (-KIIRUS); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-KIIRUS); } 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 (KIIRUS); stepper8.setStep (KIIRUS); stepper9.setStep (KIIRUS); stepper10.setStep (KIIRUS); stepper11.setStep (KIIRUS); stepper12.setStep (KIIRUS); stepper13.setStep (KIIRUS); } else if (millis () - on_timer <5000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-KIIRUS); stepper9.setStep (-KIIRUS); stepper10.setStep (-SPEED); stepper11.setStep (-KIIRUS); stepper12.setStep (-KIIRUS); stepper13.setStep (-KIIRUS); } else if (millis () - on_timer <6500) {stepper3.setStep (SPEED); stepper4.setStep (KIIRUS); stepper8.setStep (KIIRUS); stepper9.setStep (KIIRUS); stepper10.setStep (KIIRUS); stepper11.setStep (KIIRUS); stepper12.setStep (KIIRUS); stepper13.setStep (KIIRUS); } else if (millis () - on_timer <8000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-KIIRUS); stepper10.setStep (-SPEED); stepper11.setStep (-KIIRUS); stepper12.setStep (-KIIRUS); stepper13.setStep (-KIIRUS); } 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 kodeerimine

ja..

#kaasake

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 loend = 0; int init_set_speed = 10; void setup () Serial1.begin (115200); Seriaalne algus (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 KIIRUS = 200; void loop () {

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

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

teine kodeerimine

Samm: enne kodeerimist…

Enne kodeerimist…
Enne kodeerimist…

Peaksite lisama uue samm -mootoritega seotud kogu.

Nii et minge sellele saidile ja laadige alla uus raamatukogu.

blog.danggun.net/2092

7. samm: jadaühendus

Peate tegema kaks arduino mega-telekommunikatsiooni.

kui (algusarv == 0) {

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

Esiteks vajame seda kodeerimist Maine Arduino Megal.

if (count == 0) {if (millis () - set_timer1> 1000) {Serial1.write (0x01); loendus = 1; }

Seda kodeerimist vajab Arduino Mega, kes võtab vastu jadaühendusi.

Esimene kodeering paigutatakse sinna, kus teine aduino peab liikuma.

Soovitan: