Mündəricat:

Sonsuzluq güzgüsü ilə hərəkət edən ızgara: 7 addım
Sonsuzluq güzgüsü ilə hərəkət edən ızgara: 7 addım

Video: Sonsuzluq güzgüsü ilə hərəkət edən ızgara: 7 addım

Video: Sonsuzluq güzgüsü ilə hərəkət edən ızgara: 7 addım
Video: Cinsi əlaqə zamanı qadının 4 nahiyəsinə toxunmaq olmaz (Xanımlar İzləməsin) 2024, Noyabr
Anonim
Image
Image

bu videolar video çəkir və hərəkət edir.

Məkan hissini daha təsirli göstərmək üçün yellənən məkanı hərəkət edən ızgaralarla və Sonsuzluq Güzgüsü ilə göstərmək istədik.

İşimiz insanlara birbaşa həyəcanlandıqlarını göstərən ön və arxa lövhələrdən ibarət iki akril lövhədən ibarətdir və arxa plakalarda əslində hərəkət edən 25 pilləli mühərriklər var.

İş yerin parıltısını göstərən ön paneldən, orta hərəkəti yerinə yetirən taxta çubuqdan, çubuqlar üçün bələdçidən və 25 pilləli mühərriklər vasitəsilə hərəkət yaradan arxa paneldən ibarətdir.

25 pilləli mühərriklərə qoşulmuş şəbəkənin 25 zirvəsi, müəyyən edilmiş kodlaşdırma dəyərlərinə görə fərqli nümunələr çıxarır. Bundan əlavə, şirkət şəffaf akrili ön yarı güzgü filmi, arxa güzgü və qara işıqlı Infinity güzgüsü ilə birləşdirərək məkanı maksimum dərəcədə artırmaq istəyirdi. Su dalğaları əsasında hazırlanan dalğalar və süründürücülər əsasında müxtəlif animasiya nümunələri hazırlanır.

Təchizat

Təchizat

1. UV LED 12V 840cm

2. Kauçuk ağ 12 mm 750 sm

3. Arduino mega 2560 x2

4. Motor sürücüsü x25

5. Step motor x25

6. Step motor x25 üçün bipolyar kabel

7. Taxta silindr x25

8. PVC (9mm) x25

9. Bahar x 25

10. akril 700 mm*700 mm

11. Yarım güzgü filmi 1524mm * 1M

12. Balıqçılıq xətti

13. Güc 12V 12.5A, 12V 75A

14. zamanlama kasnağı (3d çap) x 25

Addım 1: Böyük bir Çərçivə Planı

Böyük bir Çərçivə Planı
Böyük bir Çərçivə Planı

Başlayanda böyük bir çərçivə planlaşdırmalı və çəkməliyik. Beləliklə, akril ümumi çərçivə və zamanlama kasnağı stl faylı üçün bir pdf faylı hazırladıq (onları orta ağac çubuğunu çəkə bilən külək sapı üçün addım motorunun qarşısına qoyduq).

akril ümumi çərçivə və zamanlama kasnağı ilə əvvəlcə stl faylını və 3d çap etməliyik.

Addım 2: Avadanlıqların hazırlanması

Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması
Avadanlıqların Hazırlanması

qutu1

1. Zəminə 2T akril qara (No 1) qoyun və üzərinə 5T akril qara tərəfi (No 2) yapışdırın. 5T akril qara ızgara (No 3) əlavə edin və akril bağı istifadə edərək bağlayın.

qutu2

2. Akrilik şəffaf lövhəyə su tökün və yarı güzgü filmi ilə örtün. Yarım güzgü, qabarcıqların qarşısını almaq üçün onu yuvarlayır. Yan (2) və akril şəffaflığı (1) yapışdırın. Birləşdirilmiş akril çıxıntı və akril güzgüləri (1 nömrəli) yan tərəfə bərkitməyin. Müvəqqəti olaraq lentlə düzəldin (balıqçılıq xəttindən kənarda təmir etmək və ya içəri yeniləmək üçün).

Addım 3: Şəbəkə qurmaq

Şəbəkə qurmaq
Şəbəkə qurmaq
Şəbəkə qurmaq
Şəbəkə qurmaq
Şəbəkə qurmaq
Şəbəkə qurmaq

1. Taxta sütun 12 mm ölçüdədir. Balıqçılıq xəttinin içəri girməsinə icazə vermək üçün sonunda bir delik açın.

2. Akril plitələri yapışqan istifadə edərək delikli taxta sütunun digər tərəfinə yapışdırın.

3. Taxta sütunun arxasından bir rezin bant qoyun və içinə bir yay qoyun.

4. Ümumi forma

Addım 4:

Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil

1. Arduino Mega 2560 Pin Əlaqə Nömrəsi

2. elektrik enerjisini iki hissəyə bölün

3. Step motor və motor sürücü dövrəsi

4. İki Arduino mega2560s, serial rabitə üçün TX və RX keçərək bağlanır.

Addım 5: Kod

#daxil edin

StepperMulti stepper (200, 2, 3, 4, 5); // stepper motor nömrələnməsi 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 sayı = 0; int init_set_speed

boş quraşdırma ()

Serial1.begin (115200); // serial rabitə 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 sürəti boşluq döngəsi () {//////////////////////////////////// if (millis () - set_timer1 <6000) {// Step motor 13, 1500 ilə 6000 saniyə arasında hərəkət edir. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } başqa if (milis () - on_timer <3000) {stepper13.setStep (-SPEED); // (- SPEED) tərs dönmə deməkdir} else if if (millis () - on_timer <4500) {stepper13.setStep (SPEED); } else if (millis () - on_timer 1000) {Serial1.write (0x01); say = 1; }} /////////////////////// if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setStep (HIZ); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } başqa əgər (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-HIZLI); stepper9.setStep (-HIZLI); stepper12.setStep (-SPEED); } else if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } başqa əgər (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-HIZLI); stepper9.setStep (-HIZLI); stepper12.setStep (-SPEED); } başqa {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} başqa {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); } başqa əgər (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-HIZLI); } else if (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } başqa əgər (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-HIZLI); stepper7.setStep (-HIZLI); } başqa {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} başqa {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); } başqa if (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-HIZLI); stepper4.setStep (-HIZLI); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-HIZLI); } 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); } başqa əgər (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-HIZLI); stepper4.setStep (-HIZLI); stepper5.setStep (-SPEED); stepper6.setStep (-HIZLI); stepper10.setStep (-SPEED); stepper11.setStep (-HIZLI); } başqa {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} başqa {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); } başqa if (millis () - on_timer <5000) {stepper3.setStep (-SPEED); stepper4.setStep (-HIZLI); stepper8.setStep (-HIZLI); stepper9.setStep (-HIZLI); stepper10.setStep (-SPEED); stepper11.setStep (-HIZLI); 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); } başqa əgər (millis () - on_timer <8000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-HIZLI); stepper10.setStep (-SPEED); stepper11.setStep (-HIZLI); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } başqa {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} başqa {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 kodlaşdırma

və..

#daxil edin

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 sayı = 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; boşluq döngəsi () {

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

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

ikinci kodlaşdırma

Addım 6: Kodlamadan əvvəl …

Kodlamadan əvvəl …
Kodlamadan əvvəl …

Addım motorları ilə əlaqəli yeni bir kitabxana əlavə etməlisiniz.

Beləliklə, bu sayta girin və yeni bir kitabxana yükləyin.

blog.danggun.net/2092

Addım 7: Serial Rabitə

İki arduino mega telekommunikasiya etməlisiniz.

əgər (start_count == 0) {

int Data = Serial1.read (); Serial.println (Məlumat); əgər (Məlumat == 0x01) {start_count = 1; }

Hər şeydən əvvəl, Maine Arduino Mega -da bu kodlaşdırmaya ehtiyacımız var.

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

Serial rabitə alan Arduino Mega bu kodlamaya ehtiyac duyur.

Birinci kodlaşdırma, ikinci aduinonun hərəkət etməli olduğu yerə yerləşdirilir.

Tövsiyə: