Բովանդակություն:

Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց ՝ 7 քայլ (նկարներով)
Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց ՝ 7 քայլ (նկարներով)

Video: Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց ՝ 7 քայլ (նկարներով)

Video: Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց ՝ 7 քայլ (նկարներով)
Video: Machine VS microblading SOFTAP technique. ELENA RUSTAMOVA 2024, Նոյեմբեր
Anonim
Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց
Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց
Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց
Մեխանիկական յոթ հատվածի ցուցադրման ժամացույց

Մի քանի ամիս առաջ ես կառուցեցի երկնիշ մեխանիկական 7 հատվածի էկրան, որը վերածեցի հետհաշվարկի ժամաչափի: Այն բավականին լավ դուրս եկավ, և մի շարք մարդիկ առաջարկեցին կրկնապատկել էկրանին ՝ ժամացույց պատրաստելու համար: Խնդիրն այն էր, որ ես արդեն սպառվում էի PWM IO- ով իմ Arduino Mega- ով և չունեի բավարար հասանելիություն երկրորդ կամ երրորդ թվանշանների համար: Այնուհետև ես նշվեցի այս PCA9685 16 ալիքի PWM վարորդների ուղղությամբ, որն աշխատում է I2C ինտերֆեյսով: Դրանք հնարավորություն տվեցին քշել ինձ անհրաժեշտ 28 սպասարկող սարքերը ՝ օգտագործելով Arduino- ի երկու I2C կապերը: Այսպիսով, ես սկսեցի ժամացույց կառուցել, որն այժմ օգտագործում է DS1302 իրական ժամանակի ժամացույցի մոդուլ ՝ ժամանակը պահելու համար, և երկու 16 ալիքային սերվո վարորդ ՝ էկրանը կազմելու համար օգտագործվող 28 սերվոները կառավարելու համար, որոնք աշխատում են Arduino Uno- ով:

Եթե ձեզ դուր է գալիս այս հրահանգը, խնդրում ենք հաշվի առնել այն «ocksամացույցների մրցույթում»

Պարագաներ:

Ձեր ժամացույցը կառուցելու համար ձեզ հարկավոր են հետևյալ պարագաները ՝ ի լրումն որոշ հիմնական գործիքների.

  • Arduino Uno - Գնեք այստեղ
  • DS1302 ockամացույցի մոդուլ - գնեք այստեղ
  • 2 x PCA9685 16Ch սերվերի վարորդներ - գնեք այստեղ
  • 28 x Micro Servos - Գնեք այստեղ
  • Ibապավենային մալուխ - գնեք այստեղ
  • Արական քորոցի վերնագրի շերտեր - գնեք այստեղ
  • Իգական կապի վերնագրի շերտեր - գնեք այստեղ
  • 3 մմ MDF - գնեք այստեղ
  • Սև լակի ներկ - գնեք այստեղ
  • 5V 5A մարտկոցի վերացման շրջան - գնեք այստեղ
  • 12 Վ էլեկտրամատակարարում - գնեք այստեղ

Այս նախագծի համար ձեզ հարկավոր են նաև 3D տպագիր մասեր: Եթե դուք դեռ չունեք 3D տպիչ և հաճույք եք ստանում իրեր պատրաստելուց, ապա անպայման պետք է մտածեք այն գնելու մասին: Այստեղ օգտագործվող Creality Ender 3 Pro- ն մատչելի է և իր գնի համար արտադրում է բավականին լավ որակի տպագրություններ:

  • Օգտագործված 3D տպիչ - գնեք այստեղ
  • Թել - գնեք այստեղ

Քայլ 1: Պլաստիկ բաղադրիչների եռաչափ տպում

Պլաստիկ բաղադրիչների եռաչափ տպում
Պլաստիկ բաղադրիչների եռաչափ տպում
Պլաստիկ բաղադրիչների եռաչափ տպում
Պլաստիկ բաղադրիչների եռաչափ տպում
Պլաստիկ բաղադրիչների եռաչափ տպում
Պլաստիկ բաղադրիչների եռաչափ տպում

Ես նախագծեցի 7 հատվածի դիսփլեյները հնարավորինս պարզ: Servo- ն նաև աջակցության բրա է ՝ դրա վերևի հատվածը բարձր պահելու համար: Յուրաքանչյուր հատվածի համար պահանջվում է երկու 3D տպագիր բաղադրիչ, մի անջատիչի բլոկ `սերվոյի ներքևի մասում և ցուցադրման հատվածին, որը սոսնձում է անմիջապես servo թևի վրա:

Ներբեռնեք 3D տպման ֆայլեր - մեխանիկական 7 հատվածի ցուցադրման ժամացույց 3D տպման ֆայլեր

Տպեք սերվոյի հատվածներն ու կետերը ՝ օգտագործելով վառ գույնի PLA: Ես օգտագործում էի կիսաթափանցիկ կանաչ, բայց կարմիրը, նարնջագույնը կամ դեղինը նույնպես պետք է լավ աշխատեն: Ես օգտագործեցի սև PLA տարածության բլոկների և կետերի հենարանների համար, որպեսզի դրանք տեսանելի չլինեն, երբ հատվածները վերածվեն անջատված դիրքի:

Եթե 3D տպիչ չունեք, փորձեք առցանց տպագրության ծառայություններից մեկը: Կան մի շարք մատչելի ծառայություններ, որոնք տպելու են բաղադրիչները և դրանք հասցնելու են ձեր դուռը մի քանի օրից:

Քայլ 2. Պատրաստեք ձեր կառավարման վահանակները և լարերը

Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը
Պատրաստեք ձեր կառավարման վահանակները և լարերը

Ձեր 28 ժամյա սպասարկիչները քշելու համար հարկավոր է օգտագործել երկու PCA9685 16 ալիքի PWM վարորդ: Ես սերվոները բաժանեցի ժամի և րոպեի թվանշանների, որոնցից յուրաքանչյուր զույգ թվանշանը շարժվում էր մեկ տախտակով: Այսպիսով, ես ունեմ մեկ տախտակ, որը վերահսկում է սերվերը երկու ժամանոց թվանշանների համար, իսկ երկրորդը `սերվերը` երկու րոպեանոց թվանշանների համար:

Երկուսն իրար կապելու համար հարկավոր է կազմել 6 մետաղալար ժապավենային մալուխի միակցիչ և երկրորդ գլխիկի ժապավենը կպցնել առաջին servo կառավարման տախտակի մյուս ծայրին: Դուք նաև պետք է փոխեք I2C հասցեն երկրորդ տախտակի վրա, որպեսզի այն տարբերվի առաջինից և եզակի նույնականացվի:

Երեք տախտակը (երկու servo տախտակ և ժամացույցի մոդուլ) ձեր Arduino- ին միացնելու համար դուք նույնպես պետք է կազմեք էլեկտրագծերը: Ձեզ կպահանջվի 5V և GND յուրաքանչյուր տախտակին, ինչպես նաև I2C միացումներ ձեր Arduino կապում A4 և A5 (I2C Arduino Uno- ում), իսկ ժամացույցի մոդուլը ՝ CLK, DAT & RST, ձեր Arduino- ի 6, 7 և 8 կապում: համապատասխանաբար:

Էլեկտրաէներգիան մատակարարվում է Arduino- ին անմիջապես 12 Վ լարման աղբյուրից և սերվոներին `օգտագործելով 5V 5A BEC, որն այնուհետև միացված է PWM վարորդի վերևում գտնվող երկու տերմինալներին: Անհրաժեշտ է միայն մի servo վարորդ միացնել հոսանքին, և այն երկրորդին կփոխանցի 6 մետաղալար ժապավենի մալուխի միացման միջոցով:

Քայլ 3. Հավաքեք սերվերը

Հավաքեք Servos- ը
Հավաքեք Servos- ը
Հավաքեք Servos- ը
Հավաքեք Servos- ը
Հավաքեք Servos- ը
Հավաքեք Servos- ը

Ձեր հատվածները տպելուց հետո ձեզ հարկավոր է սև ցողել հետևի և կողային կողմերի վրա, որպեսզի դրանք ավելի քիչ տեսանելի լինեն, երբ դրանք 90 աստիճանով շրջվում են դեպի անջատված դիրքը:

Այնուհետև դուք պետք է հատվածները սոսնձեք ձեր servo թևերի վրա ՝ տաք հալվող սոսինձով: Այն օգնում է դրանք սոսնձել սերվոյի վրա ՝ թևն արդեն սերվոյի վրա, այս կերպ կարող եք ստուգել, որ դրանք սոսնձում եք ուղիղ և հարթ:

Դուք նաև պետք է սոսնձեք յուրաքանչյուր սերվոյի ներքևի հատվածի բլոկը:

Հավաքեք կետերը ՝ սոսնձելով մի փոքրիկ դոդ կամ քյաբաբի ձող, կետերի հետևի մասում, այնուհետև ՝ հիմքի բլոկների մեջ: Այս ձողերը նույնպես սփրեցի սև, որպեսզի դրանք ավելի քիչ տեսանելի լինեն, եթե դիտարկվեն մի տեսանկյունից:

Քայլ 4: Ստեղծեք և փորձարկեք

Կարգավորել և փորձարկել
Կարգավորել և փորձարկել
Կարգավորել և փորձարկել
Կարգավորել և փորձարկել

Ես համարակալեցի բոլոր սերվերը և համարը գրեցի յուրաքանչյուր կապարի վրա, որպեսզի ավելի հեշտ լինի դրանց հետևելը: Ես սկսեցի միավորների թվանշանի վերին հատվածից և տասնյակ թվանշանի վրա աշխատեցի մինչև միջին հատվածը: Սա նաև այն կարգն է, որով ես դրանք միացրել եմ servo կառավարման վահանակներին ՝ հիշելով, որ տախտակների նույնացուցիչները հաշվում են 0 -ից 13 -ը և ոչ թե 1 -ից 14 -ը:

Այնուհետև ես հատվածները դրեցի սեղանի վրա, որոնց միջև բավականաչափ տարածություն կա փորձարկման համար, որպեսզի ճանապարհորդության սահմաններն ու ուղղությունները սահմանելիս դրանք չմտնեն մեկի վրա: Եթե փորձեք դրանք մոտիկ կանգնեցնել, ամենայն հավանականությամբ մեկ կամ երկուսը կփորձեն ինչ -որ փուլում շարժվել սխալ ուղղությամբ կամ ճանապարհորդել և հարվածել մյուսին, ինչը կարող է վնասել հատվածը, սերվոյի թևը կամ շեղել սերվոյի շարժիչները:

Քայլ 5: Կոդի վերբեռնում

Կոդի վերբեռնում
Կոդի վերբեռնում
Կոդի վերբեռնում
Կոդի վերբեռնում
Կոդի վերբեռնում
Կոդի վերբեռնում

Կոդն առաջին հայացքից բարդ է թվում, բայց իրականում համեմատաբար պարզ է ՝ օգտագործված երկու գրադարանների շնորհիվ: Կա նաև շատ կրկնություն, քանի որ կան չորս տարբեր 7 հատվածների ցուցադրումներ, որոնք պետք է թարմացվեն:

Ահա ծածկագրի համառոտ նկարագրությունը, մանրամասն բացատրության համար նայեք ամբողջական ուղեցույցին և կոդը ներբեռնելու հղմանը `մեխանիկական 7 հատվածի ցուցադրման ժամացույց

Մենք սկսում ենք ներմուծել երկու գրադարան ՝ virtuabotixRTC.h ժամացույցի մոդուլի համար և Adafruit_PWMServoDriver.h ՝ սերվո վարորդների համար: Adafruit գրադարանը կարելի է ներբեռնել և տեղադրել անմիջապես IDE- ի գրադարանի մենեջերի միջոցով:

Այնուհետև մենք ստեղծում ենք օբյեկտ յուրաքանչյուր կառավարման տախտակի համար `համապատասխան հասցեով, մեկը ժամային և մեկ րոպե թվանշանների համար:

Այնուհետև մենք ունենք չորս զանգված ՝ յուրաքանչյուր սերվոյի միացման և անջատման դիրքերը պահելու համար: Առաջիկա քայլերում դուք պետք է ճշգրտումներ կատարեք այս թվերի վրա ՝ համոզվելու համար, որ ձեր սերվերը միացված վիճակում ուղղահայաց են, անջատված վիճակում ՝ 90 աստիճանի և ճանապարհորդության ընթացքում չեն գերազանցում:

Թվային զանգվածը պահում է ցուցադրվող յուրաքանչյուր թվանշանի յուրաքանչյուր հատվածի դիրքերը:

Այնուհետև մենք կարգավորում ենք ժամացույցի մոդուլը և ստեղծում ենք փոփոխականներ ՝ ընթացիկ և անցյալ առանձին թվանշանները պահելու համար:

Կարգավորման գործառույթում մենք սկսում և կարգավորում ենք PWM կառավարման վահանակները, ինչպես նաև անհրաժեշտության դեպքում թարմացնում ժամացույցի ժամանակը: Այնուհետև մենք անցնում ենք մի հանգույցով `ցուցադրումը 8 8: 8 8 սահմանելու համար, որպեսզի իմանանք բոլոր սերվերի մեկնարկային դիրքը: Սա նաև օգտագործվում է սերվոները այնպես տեղադրելու համար, որ դրանք բոլորը ճիշտ ուղղված լինեն դեպի վեր:

Հիմնական հանգույցում մենք ստանում ենք ժամացույցի մոդուլից թարմացված ժամանակը, այն թափում ենք չորս թվանշանների մեջ, այնուհետև ստուգում ՝ արդյո՞ք ժամանակը փոխվել է վերջին ստուգումից: Եթե ժամանակը փոխվել է, մենք թարմացնում ենք էկրանը, այնուհետև թարմացնում ենք նախորդ թվանշանները:

Թարմացման ցուցադրման գործառույթում մենք առաջին հերթին տեղափոխում ենք միջին հատվածները: Սա առաջին հերթին արվում է, քանի որ որոշակի տրամաբանություն է պահանջվում միջին հատվածին հարող երկու վերին հատվածները միջին հատվածը տեղափոխելուց փոքր -ինչ շեղել ճանապարհից, հակառակ դեպքում այն կհարվածի դրանց: Երբ միջին հատվածները տեղափոխվում են, մնացած հատվածները տեղափոխվում են ճիշտ դիրքեր:

Քայլ 6: theամացույցի հավաքում հետևի տախտակի վրա

Clամացույցի հավաքում հետևի տախտակի վրա
Clամացույցի հավաքում հետևի տախտակի վրա
Clամացույցի հավաքում հետևի տախտակի վրա
Clամացույցի հավաքում հետևի տախտակի վրա
Clամացույցի հավաքում հետևի տախտակի վրա
Clամացույցի հավաքում հետևի տախտակի վրա

Փորձարկումն ավարտելուց հետո ես սերվոները հավաքեցի հետևի տախտակի վրա ՝ օգտագործելով վերը նշված դասավորությունը որպես ուղեցույց:

Սպիտակ տարածքը տախտակի ընդհանուր չափն է, ավելի բաց մոխրագույնը յուրաքանչյուր նիշին շրջապատող տարածքն է, որտեղ սերվոյի հատվածները շարժվում են դեպի ներս, իսկ մուգ մոխրագույն հատվածի ուրվագիծը յուրաքանչյուր 6 թվանշանի համար արտաքին 6 հատվածների կենտրոնական գիծն է:

Ես կտրեցի տախտակը, նշեցի դասավորությունը և այնուհետև սոսնձեցի թվանշանները տեղում ՝ ժամացույցի դեմքը կազմելու համար:

Այնուհետև ես յուրաքանչյուր սերվոյի մոտ փոսեր բացեցի և լարերը փոխանցեցի տախտակի հետևի մասին, որպեսզի դրանք ավելի քիչ տեսանելի լինեն:

Ես էլեկտրոնիկան տեղադրեցի ժամացույցի հետևի մասում ՝ երկկողմանի ժապավենով:

Քայլ 7: Վերջնական կարգավորում և շահագործում

Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում
Վերջնական կարգավորում և շահագործում

Երբ սերվոները բոլորը պատրաստ էին, ես հանեցի բոլոր servo թևերը `հատվածների դիրքերի վերջնական ճշգրտման համար: Դուք պետք է միացնեք Arduino- ն այս վիճակում, որպեսզի ցուցադրվի 8 8: 8 8-ը, այնուհետև անջատեք հոսանքը: Սա կրկին կենտրոնացնում է ձեր բոլոր ծառայությունները, որպեսզի կարողանաք սերվոյի ձեռքերը նորից միացնել ուղղահայացին մոտ կանգնած հատվածներով: որքան հնարավոր է.

Այնուհետև ձեզ հարկավոր է հաջորդաբար միացնել ձեր Arduino- ն և ճշգրտումներ կատարել ձեր չորս զանգվածների միացման և անջատման դիրքերում, որպեսզի սպասարկողները միացված լինելիս կատարյալ ուղղահայաց լինեն, իսկ անջատված վիճակում ՝ առանց ճանապարհորդության: Այս քայլը բավականին ժամանակատար է և պահանջում է մի փոքր համբերություն, բայց վերջնական արդյունքը արժե այն:

Theամացույցը կարող է սնուցվել 12 Վ էլեկտրասնուցման միջոցով և դրան միացված 5 Վ BEC- ով: Եթե հոսանքն անջատվի, RTC մոդուլի մարտկոցը կպահպանի ժամանակը, որպեսզի էներգիան վերականգնվելուց հետո ժամացույցը ինքնաբերաբար վերակայվի ճիշտ ժամանակին:

Եթե ձեզ դուր եկավ այս հրահանգը, խնդրում ենք քվեարկեք դրա համար «ockամացույց» մրցույթում և տեղեկացրեք ինձ այն բարելավումների կամ առաջարկների մասին, որոնցով կարող եք հանդես գալ ստորև բերված մեկնաբանությունների բաժնում:

Ocksամացույցների մրցույթ
Ocksամացույցների մրցույթ
Ocksամացույցների մրցույթ
Ocksամացույցների մրցույթ

Priամացույցների մրցույթում երկրորդ մրցանակ

Խորհուրդ ենք տալիս: