Хязгааргүй толь бүхий хөдөлгөөнт сүлжээ: 7 алхам
Хязгааргүй толь бүхий хөдөлгөөнт сүлжээ: 7 алхам
Anonim
Image
Image

эдгээр видео нь видео хийж, видео хөдөлгөж байна.

Бид дүүжин орон зайг хөдөлгөөнт сүлжээгээр, хязгааргүй тольоор дамжуулан орон зайн мэдрэмжийг илүү үр дүнтэй харуулахыг хүссэн.

Бидний ажил бол урд болон арын хавтан гэсэн хоёр нийлэг хавтангаас бүрдэх бөгөөд тэдгээр нь хүмүүсийг хэрхэн хутгах арга замыг харуулдаг бөгөөд арын хавтан нь хөдөлгөөнийг бий болгодог 25 шатлалт мотортой.

Энэхүү бүтээл нь орон зайн гялбаа харуулах урд самбар, дунд хөдөлгөөнийг гүйцэтгэдэг модон саваа, саваа хөтөч, 25 шатлалт мотороор дамжуулан хөдөлгөөнийг бий болгодог арын самбараас бүрдэнэ.

25 шатлалт мотортой холбогдсон сүлжээний 25 оргил нь кодчилсон утгын дагуу өөр өөр хэв маягийг гаргадаг. Нэмж дурдахад компани ил тод акрилийг урд хагас толин хальс, хойд толь, хар гэрэлтэй Infinity тольтой хослуулан орон зайг нэмэгдүүлэхийг хүсчээ. Усны долгион дээр үндэслэн хийсэн долгион ба драб дээр үндэслэн янз бүрийн хөдөлгөөнт дүрс хийдэг.

Хангамж

Хангамж

1. Хэт улаан туяаны LED 12V 840см

2. Резин цагаан 12 мм 750 см

3. Arduino мега 2560 x2

4. Мотор драйвер x25

5. Stepper x25

6. stepper моторт x25 хоёр туйлт кабель

7. Модон цилиндр x25

8. PVC (9мм) x25

9. Хавар x 25

10. нийлэг 700мм*700мм

11. Хагас толин тусгал хальс 1524mm * 1M

12. Загас барих шугам

13. Эрчим хүч 12V 12.5A, 12V 75A

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 Pin холболтын дугаар

2. цахилгааныг хоёр хэсэгт хуваа

3. Stepper мотор ба мотор жолоочийн хэлхээ

4. Хоёр Arduino mega2560s нь TX ба RX -ийг гаталж цуваа холболтоор холбогддог.

Алхам 5: Код

#оруулах

Олон алхам (200, 2, 3, 4, 5); // stepper мотор дугаарлах 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 = миллис (); 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 тоо = 0; int init_set_speed

хүчингүй тохиргоо ()

Цуваа 1. эхлэх (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 (millis () - set_timer1 <6000) {// Stepper motor 13 нь 1500-6000 секундын хооронд хөдөлдөг. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } if if (millis () - on_timer <3000) {stepper13.setStep (-SPEED); // (- SPEED) гэдэг нь урвуу эргэлт гэсэн утгатай} өөр тохиолдолд} (millis () - on_timer <4500) {stepper13.setStep (SPEED); } if 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); } if if (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } if if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } if 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); step5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } if if (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } if if (millis () - on_timer <5500) {stepper2.setStep (SPEED); step5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } if if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); step5.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); step2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); step5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } if if (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); step5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } if 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); } if if (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); step5.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); } if 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); } if 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); } if 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.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }

гарын кодчилол

ба..

#оруулах

Олон алхам (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 = миллис (); uint32_t set_timer2 = миллис (); uint32_t set_timer3 = миллис (); uint32_t set_timer4 = миллис (); uint32_t set_timer5 = миллис (); uint32_t set_timer6 = millis (); uint32_t set_timer7 = миллис (); uint32_t set_timer8 = миллис (); uint32_t set_timer9 = миллис (); uint32_t set_timer10 = миллис (); int тоо = 0; int init_set_speed = 10; void setup () Serial1.begin (115200); Цуваа эхлэх (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.setАлхам (SPEED); } if if (millis () - on_timer <3000) {stepper13.setStep (-SPEED); } if if (millis () - on_timer <4500) {stepper13.setStep (SPEED); } if if (millis () - on_timer 1000) {Serial1.write (0x01); тоолох = 1; }} /////////////////////// if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setSte ㄴ p (ХУРД); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } if if (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } if if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } if 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); step5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } if if (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } if if (millis () - on_timer <5500) {stepper2.setStep (SPEED); step5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } if if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); step5.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); } if if (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); step5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } if if (millis () - on_timer <6500) {stepper.setStep (SPEED); step2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); step5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } if if (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); step5.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); } if 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); } if 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); } if 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.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; }

Юуны өмнө бидэнд Maine Arduino Mega дээрх кодчилол хэрэгтэй байна.

if (count == 0) {if (millis () - set_timer1> 1000) {Serial1.write (0x01); тоолох = 1; }

Цуваа холболт хүлээн авдаг Ардуино Мегад энэ кодчилол хэрэгтэй.

Эхний кодчилолыг хоёр дахь адуино хөдлөх ёстой газарт байрлуулна.

Зөвлөмж болгож буй: