Шексіздік айнасы бар торды жылжыту: 7 қадам
Шексіздік айнасы бар торды жылжыту: 7 қадам
Anonim
Image
Image

бұл бейнелер бейне жасайды және жылжытады.

Біз тербелетін кеңістікті қозғалатын торлар мен шексіздік айнасы арқылы көрсеткіміз келді.

Біздің жұмыс екі акрил пластинадан тұрады, олар алдыңғы және артқы тақталар, олар адамдарға тікелей қоздырғышты көрсетеді, ал артқы тақталарда шын мәнінде қозғалыс беретін 25 сатылы қозғалтқыштар бар.

Бұл жұмыс кеңістіктің жарқылын көрсететін алдыңғы панельден, ортаңғы қозғалысты орындайтын ағаш таяқшадан, штангаларға арналған бағыттаушыдан және 25 қадамдық қозғалтқыш арқылы қозғалыс жасайтын артқы тақтадан тұрады.

25 қадамдық қозғалтқышқа қосылған тордың 25 шыңы белгіленген кодтау мәндеріне сәйкес әр түрлі өрнектер шығарады. Сонымен қатар, компания мөлдір акрилді алдыңғы жартылай айналы пленкамен, артқы айнамен және қара жарықтандырылған Infinity айнасымен біріктіру арқылы кеңістікті барынша ұлғайтқысы келді. Әр түрлі анимация үлгілері су толқындарына негізделген толқындар мен драбтарға негізделген.

Жабдықтар

Жабдықтар

1. 12В 840см жарықдиодты жарық диоды

2. Резеңке ақ 12 мм 750 см

3. Arduino мега 2560 x2

4. X25 қозғалтқыш драйвері

5. қадамдық қозғалтқыш x25

6. x25 қадамдық қозғалтқышқа арналған биполярлық кабель

7. Ағаш цилиндр x25

8. ПВХ (9 мм) x25

9. Көктем x 25

10. акрил 700 мм*700 мм

11. Жарты айналы пленка 1524мм * 1М

12. Балық аулау желісі

13. Қуат 12В 12.5А, 12В 75А

14. уақыт шкиві (3d баспа) x 25

1 -қадам: Үлкен құрылымды жоспарлаңыз

Үлкен құрылымды жоспарлаңыз
Үлкен құрылымды жоспарлаңыз

Біз бастаған кезде біз үлкен шеңбер құрып, жоспарлауымыз керек. Сонымен, біз акрилден жасалған жалпы рамка мен уақыт шкивінің stl файлына арналған pdf файлын дайындадық (біз оларды орман таяқшасын тарта алатын желдік жіпке арналған қадамдық қозғалтқыштың алдына қойдық).

жалпы акрил жақтауы мен уақыт шкивінің көмегімен алдымен stl файлын және 3D басып шығару керек.

2 -қадам: аппараттық құралдарды жасау

Жабдық жасау
Жабдық жасау
Жабдық жасау
Жабдық жасау
Жабдық жасау
Жабдық жасау

қорап1

1. 2T акрилді қара (No1) еденге қойып, үстіне 5T акрил қара жағын (No2) бекітіңіз. 5T акрилді қара торды (No3) қосыңыз және оны акрил байланысы арқылы бекітіңіз.

қорап2

2. Акрилді мөлдір табаққа су құйыңыз және үстіңгі жағы айна пленкасымен. Жарты айна картаның көпіршіп кетпеуі үшін оны айналдырады. Бүйірді (2) және акрил мөлдірлігін (1) бекітіңіз. Біріккен акрилді шығыңқы мен акрил айналарын (No1) бүйірден бекітпеңіз. Уақытша таспамен бекітіңіз (балық аулау желісін жөндеу немесе интерьерді жаңарту үшін).

3 -қадам: тор жасау

Тор жасау
Тор жасау
Тор жасау
Тор жасау
Тор жасау
Тор жасау

1. Ағаш бағананың көлемі 12 мм. Балық аулау сызығының енуіне мүмкіндік беру үшін соңында тесік жасаңыз.

2. Акрил плиталарын желім көмегімен перфорацияланған ағаш бағананың екінші жағына бекітіңіз.

3. Ағаш бағананың артқы жағына резеңке таспаны салып, оған серіппе салыңыз.

4. Жалпы пішін

4 -қадам:

Кескін
Кескін
Кескін
Кескін
Кескін
Кескін

1. Arduino Mega 2560 істікшелі қосылым нөмірі

2. электр қуатын екіге бөліңіз

3. Қозғалтқыш пен қозғалтқыштың тізбегі

4. Екі Arduino mega2560 сериялық байланыс үшін TX және RX арқылы қиылысады.

5 -қадам: код

#қосу

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 = миллис (); uint32_t set_timer1 = миллис (); uint32_t set_timer2 = миллис (); uint32_t set_timer3 = миллис (); uint32_t set_timer4 = миллис (); uint32_t set_timer5 = миллис (); uint32_t set_timer6 = миллис (); uint32_t set_timer7 = миллис (); uint32_t set_timer8 = миллис (); uint32_t set_timer9 = миллис (); uint32_t set_timer10 = миллис (); int count = 0; int init_set_speed

жарамсыз орнату ()

Сериялық1.bas (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; // қозғалтқыш жылдамдығының бос циклі () {//////////////////////////////////// if (миллис () - set_timer1 <6000) {// Step 13 қозғалтқышы 1500 мен 6000 секунд арасында қозғалады. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } else if (millis () - on_timer <3000) {stepper13.setStep (-SPEED); // (- SPEED) кері айналуды білдіреді} else if if (millis () - on_timer <4500) {stepper13.setStep (SPEED); } else if (millis () - on_timer 1000) {Serial1.write (0x01); санау = 1; }} /////////////////////// if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setStep (ЖЫЛДАМДЫҚ); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } басқа {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} басқа {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 (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else if (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } else if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } басқа {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} басқа {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 (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); } else if (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); } басқа {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} басқа {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 (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); } else if (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); } else if (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); } басқа {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} басқа {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 (); stepper.6.moveStep (); stepper7.moveStep (); stepper8.moveStep (); stepper.m.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }

фрист кодтау

және..

#қосу

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 = миллис (); uint32_t set_timer1 = миллис (); uint32_t set_timer2 = миллис (); uint32_t set_timer3 = миллис (); uint32_t set_timer4 = миллис (); uint32_t set_timer5 = миллис (); uint32_t set_timer6 = миллис (); uint32_t set_timer7 = миллис (); uint32_t set_timer8 = миллис (); uint32_t set_timer9 = миллис (); uint32_t set_timer10 = миллис (); int count = 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 (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); санау = 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 (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } else if (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } басқа {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} басқа {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 (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else if (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } else if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } басқа {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} басқа {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 (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); } else if (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); } басқа {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} басқа {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 (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); } else if (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); } else if (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); } басқа {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} басқа {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 (); stepper.6.moveStep (); stepper7.moveStep (); stepper8.moveStep (); stepper9.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }

екінші кодтау

6 -қадам: кодтау алдында …

Кодтау алдында …
Кодтау алдында …

Қадамдық қозғалтқыштарға қатысты жаңа кітапхана қосу керек.

Сондықтан сіз осы сайтқа кіріп, жаңа кітапхананы жүктейсіз.

blog.danggun.net/2092

7 -қадам: сериялық байланыс

Сіз екі arduino мега-телекоммуникациясын жасауыңыз керек.

if (start_count == 0) {

int Data = Serial1.read (); Serial.println (Деректер); if (Деректер == 0x01) {start_count = 1; }

Ең алдымен, бізге Мейн Ардуино Мегадағы осы кодтау қажет.

if (count == 0) {if (millis () - set_timer1> 1000) {Serial1.write (0x01); санау = 1; }

Сериялық байланысты алатын Ардуино Мегаға бұл кодтау қажет.

Бірінші кодтау екінші адуино қозғалуы керек жерге қойылады.

Ұсынылған: