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

«Տանը մենակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար. 5 քայլ
«Տանը մենակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար. 5 քայլ

Video: «Տանը մենակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար. 5 քայլ

Video: «Տանը մենակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար. 5 քայլ
Video: Կողոպտիչը բռնվեց դեպքի վայրում 2024, Նոյեմբեր
Anonim
«Տանը միայնակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար
«Տանը միայնակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար
«Տանը միայնակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար
«Տանը միայնակ» կողոպտիչին զսպող/ օգտագործեք Attiny13 ՝ տափաստան և սերվո քշելու համար

Սա կարող է լինել իմ ամենատարօրինակ նախագծերից մեկը. Ձեզանից շատերը կհիշեն «Տանը միայնակ» ֆիլմը, որտեղ Մաքքոլի Կալկինը փորձում է գողերին ներկայանալ, թե իրականում ինքը տանը չէ ՝ ձայնագրիչի վրա դնելով ստվարաթղթե պատկեր և լարեր դնելով մեկ այլ ստվարաթղթի վրա, որպեսզի կարողանա նմանակել մարդկանց: պարում եմ կարծես ինչ -որ մեկը ներկա է: Ես ավելացրեցի «կեղծ հեռուստատեսություն», որը թվում է, թե հեռուստացույց է խաղում: Այս ամենը օգնում է, բայց եթե խոսքը վերաբերում է ներկայության մոդելավորմանը, իրական շարժումից ավելի լավ բան չկա: Այսպիսով, ինձ պետք էր ինչ -որ բան, որը շարժվում էր, և քանի որ ես ձայնագրիչ չունեմ և ուզում էի ինչ -որ բան, որը կարող էր գործել, երբ ես բացակայել էի, ինձ պետք էր մի փոքր ավելի ամուր վիճակ: Ստվարաթղթե կերպար ունենալու շարժման տպավորություն ստեղծելու ամենաակնհայտ միջոցը կլիներ այն 90 աստիճանով շրջելու համար, որպեսզի այն այլընտրանքորեն փակի լույսը և չփակի լույսը: Սկզբում դա արեցի էժան սերվոյով, բայց դա տվեց երկու խնդիր. Դժվար էր ստվարաթղթե պատկեր ավելացնել նույնիսկ առանցքին և մեկ անգամ Ես դա արեցի, քաշումը պարզապես շատ կլիներ այդ սերվոյի համար: Ավելի հզոր servo- ն շատ կտրուկ թանկացավ, ուստի ես սկսեցի մտածել «Steppermotor» - ի մասին: Ես դեռ ունեի մեկը, որը ծանր էր դրա վրա ամրացված տաքացուցիչի պատճառով, և այն իդեալական թվաց: Ստեփերմոտորին շրջելու ծրագիրը հեշտությամբ գրվում էր Arduino- ի վրա, բայց քաշելը դեռ մի փոքր խնդիր էր առաջացնում, քանի որ իմ ստվարաթղթե պատկերը չափսեր ուներ մարդու իրան (մոտ 80 սմ երկարություն): Ես կամ պետք է ամրացնեի ստվարաթուղթը ՝ այն դարձնելով ավելի ծանր, կամ պետք է այն փոքրացնեի: Վերջինս, կարծես, լավագույն լուծումն էր, քանի որ ես այն կարող էի պարզապես ավելի մոտեցնել լույսին: Այդ ամբողջ ընթացքում ես նաև խաղում էի այն կերպարի հետ, որ ոտքի կանգնեմ: Շարժիչներ, ճախարակներ և այլն մտքովս անցան, և չնայած ես լիովին չեմ հրաժարվել այդ գաղափարից, առայժմ ես պարզապես որոշեցի մի փոքրիկ հատկություն ավելացնել ստվարաթղթե պատկերին, և դա շարժվող գլուխ էր: Իմ գաղափարն էր, որ գործիչը շրջեր 90 աստիճան, այնպես որ այն լիովին ստվեր կթողնի, իսկ հետո կբաժանի գլուխը: և դա այն է, որտեղ իմ սերվոն նորից եկավ: Ես իրականում չէի ուզում զոհաբերել մի ամբողջ arduino պարզապես ստվարաթղթե կերպարանք դարձնելու համար: Մոտավորապես, ես կռահեցի, որ Attiny13- ը, որի շուրջը ես պառկած էի, կարող է նույնքան լավ կատարել աշխատանքը. դա հենց այն է, ինչ պետք է առաջարկի Attiny13- ը: Ես ընդունում եմ, որ երբեմն ես կարող եմ լինել շատ խիտ, քանի որ ես մտածում էի բոլոր տեսակի սցենարների մասին, թե ինչպես վարվել հակազդեցությունը գործելու որոշակի ժամանակ, որոշակի ժամանակ, քանի որ իդեալականորեն ես ուզում էի վերահսկել այն ավելի վաղ նշած «Տանը սիմուլյատոր» -ից: Այսպիսով, ես մտածեցի մետաղալարերի կամ անլար սարքերի մասին, բայց այն ժամանակ Attin13- ը ամենալավ գաղափարը չէր, որը Manchestercode- ի խնդիր ունի: Ինձ ստացողի համար քորոց էր պետք, և այդ էժան ընդունիչների զգայունությունը այդքան էլ մեծ չէր: Այսպիսով, ես արդեն մտածում էի պարզապես առևտրային ժամաչափի անջատիչի մասին, բայց հետո հասկացա, որ ես ապուշ եմ: Քանի որ բանը կարիք կունենա իր սեփական PSU- ին, ինչու չվերցնել պատի պատը և այն տեղադրել Հեռակառավարման անջատիչում, որը ես արդեն կարող էի կառավարել իմ At Simulator- ից: Այսպիսով, ես սկսեցի կառուցել իմ վերջնական դիզայնը: BOM

Էժան ServoA SteppermotorA ստվարաթղթե տուփ An Attiny13An 8 կապում IC վարդակից Կտորի մի կտոր 9 շերտ 17 անցքից Որոշ servo երկարացման լարեր ULN2003A 16 կապում IC վարդակից 10 k դիմադրություն Պլաստիկ կտրող տախտակ (կամ թեթև նյութի այլ կտոր) 3 փին արական վերնագիր (servo- ի համար) 6 փին արական վերնագիր (տատան շարժիչի համար) սոսնձված ժապավեն (իհարկե)

Լրացուցիչ. Attiny- ի ծրագրավորման միջոց

Ուղղակի դիտողություն Steppermotor- ին: Ես օգտագործում եմ հին 55SI-25DAWC- ը, բայց եթե դեռ ստիպված եք գնել այն, մատչելի է շատ էժան տիպի շարժիչով/վարորդով համակցված մոդելը `28BYJ-48- ը: Շարժիչն ինքնին արժե 1.50 եվրո, բայց 2 եվրոյի դիմաց կարող եք ձեռք բերել նույն շարժիչը վարորդի տախտակով: այնպես որ դա լավ գործարք է

Քայլ 1 ՝ «Տանը մենակ» Ստվարաթղթե մարդու կառուցում

«Տանը մենակ» Ստվարաթղթե տղամարդու կառուցում
«Տանը մենակ» Ստվարաթղթե տղամարդու կառուցում
«Տանը մենակ» Ստվարաթղթե տղամարդու կառուցում
«Տանը մենակ» Ստվարաթղթե տղամարդու կառուցում

Տուփից կտրեցի 40x20 սմ չափսի կտոր և 18x18 կտոր: Ես երկու մասերը միասին ամրացրեցի որպես գլուխ և իրան ՝ օգտագործելով կպչուն ժապավեն ՝ թողնելով մի փոքր բացվածք երկու կտորների միջև, բայց ծածկված կպչուն ժապավենով ՝ պարանոցի համար հանգույց ձևավորելու համար: (Նկարները դա շատ պարզ են դարձնում) Հին կտրող տախտակից ես կտրեցի մի կտոր 20 սմ երկարությամբ, մոտ կես սմ հաստությամբ (տախտակի հաստությունը) և մոտ 1,5 սմ լայնությամբ: 1,5 սանտիմետրը բավական էր, որ տեղավորվեր իմ սանդուղքի առանցքը: եթե ունեք այլ սլաք, ապա համոզվեք, որ ձեր կտրած կտորը բավական լայն է ձեր սանդղակի առանցքի համար: Հորատված անցք է կատարել, որը կհամապատասխանի իմ առանցքին: այնուհետև ես պլաստիկը սոսնձեցի ստվարաթղթե «Տորսո» ստվարաթղթի հիմքին: «պարանոցի» տակ, ստվարաթղթե կտորներից ես ամրացրի իմ սերվոյի պահոցը: Իհարկե, դա կարելի է անել անկյունային երկաթով (կամ պլաստմասսայով), բայց դա մի փոքր դժվար է ամրացնել ստվարաթղթե իրանին, այնպես որ ես պարզապես ստվարաթուղթ էի օգտագործում սերվոյին տեղավորելու համար: Ես կտրիչ տախտակից 11 x 0.6 x 0.6 պլաստմասսայից պատրաստված թևն ավելացրեցի սերվոյին և ամրացրեցի այն Սերվոյին: Կրկին, նայեք նկարներին `տեսնելու համար, թե ինչպես է դա արվում: Թեև իմ քայլը բավական ծանր էր ստվարաթղթե կերպար տանելու համար, պտտման հետևանքով առաջացած ոլորող մոմենտը և քաշքշուկը կստիպեր շարժիչին սկսել« քայլել », այնպես որ ես դրա համար հիմքի ափսե ստեղծեցի: 24 * 11 սմ կտրող տախտակ: Ես երկու անցք բացեցի, որպեսզի ամրացնեմ շարժիչով շարժիչը և դեռ հսկայական տարածք ունեմ վերահսկիչի համար: Չնայած որ սերվոն շրջում է 180 աստիճանով, ես թևն այնպես եմ տեղադրել, որ գլուխը ամբողջովին ուղիղ չի դնում: Այդ կերպ այն հեշտությամբ հետ է ընկնում, երբ servo- ն հետ է դառնում 0 դիրքի

Քայլ 2. «Տանը մենակ» Կառավարիչի կառուցում

«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում
«Տանը մենակ» Կառավարիչի կառուցում

Կառավարիչը An Attiny13 է ՝ կցված ULN2003- ին: Թեև իմ տարբերակում ես մի փոքր ավելի շատ կապում եմ օգտագործել ՝ տախտակը ավելի ճկուն դարձնելու համար, այլ նախագծերի համար օգտագործելու համար, բայց միայն ձեզ անհրաժեշտ են 3 փին արու servo վերնագիր և stepper- ի համար 6 փին արական վերնագիր:

Քայլ 3. «Տանը մենակ». Ծրագրակազմը

EDIT 2019 Նախագիծը կազմվել է Attiny- ի համար երբևէ հանրաճանաչ «Smeezekitty» միջուկի հիման վրա: Այժմ հաճախ օգտագործվող MicroCore- ը MCUDude- ից, ըստ երևույթին, խնդիրներ ունի փոփոխությունների հետաձգման մեջ Միկրո վայրկյան հայտարարություններում: Եթե դուք օգտագործում եք այդ մեկը, փոխարինեք "delayMicroseconds (300 + p * (2500 /180));" «ուշացումով (5)»;

Վերոնշյալ ծրագիրը ցույց է տալիս, թե ինչպես վարել իմ հատուկ սանդուղքը, և գուցե ձեզ անհրաժեշտ լինի փոխել PORTB- ով գրվող արժեքները, եթե ունեք այլընտրանքային աստիճան: Քանի որ Attiny13- ը բավականին փոքր է հիշողության մեջ և նաև շատ քորոցներ չի ապահովում, ծրագիրը բաց է թողնում որոշակի բարդություն: Ուղղակի PORTB- ին գրելը նորմալ է, բայց այս դեպքում այն նաև «0» է գրում PB4 և PB5 համարներին: PB5- ը մեծ խնդիր չէ, բայց գուցե ցանկանաք օգտագործել PB4- ը: Իմ դեպքում ես այնտեղ եմ դնում իմ սերվոն, և դա իսկապես խնդիր չի առաջացնում, քանի որ ես դրանք միևնույն ժամանակ չեմ օգտագործում:

Այնուամենայնիվ, եթե ցանկանում եք օգտագործել մեկ այլ միկրոկառավարիչ, ինչպիսին է 328-ը և ցանկանում եք խուսափել PB4 և PB5 և PB6 և PB7 համարներին գրելուց, դիմակ օգտագործեք միայն 0-3 բիթին գրելու համար: Դա անելու դիմակն է B00001111:

Եթե ցանկանում եք 0 և 2 բիթեր դնել, գնացեք այսպես.

PORTB = 5 -ի փոխարեն նշեք ՝ PORTB = (PORTB & ~ դիմակ) | (B00000101);

Նրանց համար, ովքեր կարծում են, որ սա շատ գաղտնի է.

այն նախ AND- ի արժեքը PORTB- ով է NOT դիմակով, կամ OR- ը արդյունքն է այն արժեքով, որը մենք ցանկանում ենք գրել, և այն վերագրում է PORTB- ին:

Այսպիսով, ենթադրենք PORTB = 00010000, և մենք ցանկանում ենք դրան գրել 00000101, մենք չենք կարող դա անմիջապես նշանակել, քանի որ դա կջնջի PB4- ը:

Այնուամենայնիվ, եթե մենք անենք այնպես, ինչպես նկարագրված է, այն դառնում է.

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 & 11110000) | 00000101

PORTB = 00010000 | 00000101

PORTB = 00010101

Մենք գրել ենք մեր արժեքը և պահել PB4- ը

Ուրեմն, ինչու՞ չենք կարող անմիջապես ԿԱՄ ՊՈՏԲՈՐ ՝ այն արժեքով, որը մենք ցանկանում ենք փոխարենը և այն նախապես տալու:

Դե, քանի որ դա կարող է պահել PB4 և PB5 … բայց այն նաև անփոփոխ է պահում PB3-PB0- ն, եթե դրանցից մեկն արդեն պարունակում էր «1»

Իհարկե, դիմակը շրջելը անհրաժեշտ չէր, եթե մենք այն արդեն շրջված բնորոշեինք, բայց դա սովորական պրակտիկա է դա անել որպես այդպիսին

Քայլ 4. «Տանը մենակ» կողոպտիչ կանխող միջոց. Օգտագործեք

դիտեք տեսանյութը, որպեսզի տեսնեք, որ այն աշխատում է (այն պտտվել է -90 աստիճան, կներեք դրա համար)

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

Քայլ 5 ՝ «Տանը մենակ», ինչը չաշխատեց ……

Այս տեսահոլովակը ցույց է տալիս իմ ավելի վաղ փորձերից մեկը ավելի մեծ իրանով և պարզապես մի պարզ սերվոյով: Ակնհայտ է, որ լավ դիզայն չէ

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