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

Պայծառության վերահսկում, Arduino (անիմացիաներով) ՝ 7 քայլ
Պայծառության վերահսկում, Arduino (անիմացիաներով) ՝ 7 քայլ

Video: Պայծառության վերահսկում, Arduino (անիմացիաներով) ՝ 7 քայլ

Video: Պայծառության վերահսկում, Arduino (անիմացիաներով) ՝ 7 քայլ
Video: BTT SKR2 - I2C BlinkM on SKR 2 (Rev B) 2024, Հուլիսի
Anonim
Image
Image

Վերջին մի քանի տարիների ընթացքում ես կառուցել եմ երկու փինբոլ մեքենա (pinballdesign.com) և երկու ռոբոտի գլուխ (grahamasker.com), որոնցից յուրաքանչյուրը վերահսկվում է Արդուինոսի կողմից: Ինժեներ -ճարտարագետի կարիերա ունենալով ՝ ես լավ եմ մեխանիզմների նախագծման հարցում, սակայն ես պայքարում եմ ծրագրավորման հետ: Ես որոշեցի անիմացիաներ ստեղծել `պատկերելու Arduino- ի որոշ հիմնական հասկացությունները: Ես կարծում էի, որ դա կօգնի ինձ և ուրիշներին հասկանալ դրանք: Նկարը արժե հազար բառ, իսկ անիմացիան ՝ հազար նկար:

Այսպիսով, ահա անիմացիոն բացատրություն Brightness Control առարկայի վերաբերյալ: Վերոնշյալ անիմացիան ցույց է տալիս Arduino- ին միացված պոտենցիոմետրի սխեմատիկ պատկերը: Այն ցույց է տալիս, թե ինչպես է պոտենցիոմետրի դիրքը կարգավորելը կարող է փոխել լուսադիոդի պայծառությունը: Ես պատրաստվում եմ բացատրել այս գործընթացի բոլոր տարրերը: Նրանց համար, ովքեր ծանոթ չեն պոտենցիոմետրերի և լուսադիոդների հետ, ես կսկսեմ դրանցից: Այնուհետև ես կբացատրեմ, թե ինչու է led- ը պետք միացված լինել PWM- ով աշխատող Arduino քորոցին և ինչպես է MAP գործառույթը օգտագործվում Arduino- ի էսքիզի մեջ `պոտենցիոմետրից մուտքը ելքի փոխարկելու համար, որը հարմար է led- ի վերահսկման համար:

Եթե ծանոթ եք լուսադիոդային և պոտենցիոմետրերին, ապա կարող եք բաց թողնել 1 -ին և 2 -րդ բաժինները:

Քայլ 1. LED- ների մասին

LED- ների մասին
LED- ների մասին

Վերևի ձախ նկարը ցույց է տալիս led- ի սխեմայի խորհրդանիշը և առաջնորդվող ոտքերի բևեռականությունը: Ընթացիկ հոսանքը միայն LED- ով կանցնի մեկ ուղղությամբ, այնպես որ բևեռականությունը կարևոր է: Ավելի երկար ոտքը դրական է: Բացի այդ, եզրին կա հարթ կողմ, սա բացասական կողմն է:

ԼՐԱՈ andՄ և ԸՆԹԱԻԿ

LED- ի պահանջվող լարումը տատանվում է մոտ 2.2 վ -ից մինչև 3.2 վոլտ ՝ կախված դրա գույնից: Նրանց ընթացիկ գնահատականը սովորաբար 20 մԱ է: Ընթացքը սահմանափակելու և LED- ի գերտաքացումից խուսափելու համար անհրաժեշտ է յուրաքանչյուր LED- ի հետ միասին օգտագործել դիմադրություն: Ես խորհուրդ եմ տալիս մոտ 300 օմ:

Վերևի աջ կողմի նկարազարդումը ցույց է տալիս, թե ինչպես կարելի է ռեզիստորը զոդել մի լեդ ոտքի վրա և մեկուսացնել այն տաքացնող թևով:

Քայլ 2. ՊՈՏԵՆՍԻՈՄԵՏՐ

ՊՈՏԵՆՍԻՈՄԵՏՐ
ՊՈՏԵՆՍԻՈՄԵՏՐ

Արդուինոյի առումով պոտենցիոմետրը սենսոր է: «Սենսոր» -ը վերաբերում է ցանկացած արտաքին սարքի, որը միացնելիս մուտքային կապումներին կարող է զգալ Arduino- ն: Մենք պատրաստվում ենք օգտագործել պոտենցիոմետր, որը միացված է Arduino- ին ՝ LED լուսավորությունը վերահսկելու համար: Պոտենցիոմետրը երբեմն կոչվում է լարման բաժանարար, ինչը, կարծում եմ, ավելի լավ նկարագրություն է: Վերևի ձախ գծապատկերը ցույց է տալիս լարման բաժանարարի սկզբունքը: Այս օրինակում ռեզիստորը մի ծայրում միացված է գետնին և պահվում է, ինչ -որ էներգիայի աղբյուրով `մյուս ծայրում` 5 վ -ով: Եթե սահնակը շարժվում է դիմադրության երկայնքով, այն ձախ ծայրում կլինի 0 վ լարման, իսկ աջ ծայրում ՝ 5 վ: Otherանկացած այլ դիրքում այն կլինի 0v- ից 5v- ի սահմաններում: Wayանապարհի կեսին, օրինակ, կլինի 2,5 Վ լարման տակ: Եթե մենք վերափոխենք դասավորությունը, ինչպես ցույց է տրված վերևի աջ կողմում, ապա սա ներկայացնում է պտտվող պոտենցիոմետրի գործողությունը:

Քայլ 3. ՇՐIRԱՆԸ

ՇՐIRԱՆԸ
ՇՐIRԱՆԸ

Վերոնշյալ նկարազարդումը ցույց է տալիս, թե ինչպես է պետք պոտենցիոմետրը և led- ը միացնել Arduino- ին:

Արդունիոն պետք է զգա պոտենցիոմետրով իրեն սնվող լարումը: Լարումը սահուն փոխվում է, երբ պոտենցիոմետրը պտտվում է, ուստի դա անալոգային ազդանշան է, ուստի անհրաժեշտ է միացնել Arduino- ի անալոգային մուտքի քորոցին: Այս կապի լարումը կարդալու է Arduino- ն ամեն անգամ, երբ ծրագիրը դա պահանջում է «analogRead» գործառույթի միջոցով:

Arduino- ն ունի միայն թվային ելքային կապիչներ: Այնուամենայնիվ, այդ կապերը, որոնց կողքին կա տիլդա (~), նմանակում են անալոգային ելքը, որը հարմար է վերահսկել Led- ի պայծառությունը: Այս գործընթացը կոչվում է Pulse Width Modulation (PWM) և բացատրվում է հաջորդ անիմացիայի ՝ Քայլ 4 -ի միջոցով:

Քայլ 4: PWM

PWM, Pulse Width Modulation

Ինչպես արդեն նշվել էր, tilda- ով «~» կապում են դրանց կողքին PWM կապում: Քանի որ կապումներն թվային են, դրանք կարող են լինել միայն 0v կամ 5v- ի դեպքում, սակայն PWM- ով դրանք կարող են օգտագործվել լուսադիոդի լուսավորման կամ շարժիչի արագությունը վերահսկելու համար: Նրանք դա անում են LED- ին մատակարարելով 5 վ, բայց զարկերակելով այն 0 վ -ից մինչև 5 վ 500 Հց հաճախականությամբ (վայրկյանում 500 անգամ) և ձգելով կամ նվազեցնելով զարկերակի յուրաքանչյուր 0 վ և 5 վ տարրերի տևողությունը: Քանի որ LED- ն տեսնում է ավելի երկար 5 վ զարկերակ, քան 0 վ զարկերակը, այն դառնում է ավելի պայծառ: Մեր ծրագրում մենք օգտագործում ենք analogueWrite () գործառույթը ՝ PWM «քառակուսի ալիք» թողարկելու համար: Այն ունի 256 աճ, eroրոյը տալիս է 0% աշխատանքային ցիկլ, իսկ 255 -ը ՝ 100% «աշխատանքային ցիկլ», այսինքն ՝ շարունակական 5 վոլտ: Այսպիսով, 127 -ը կտա 50% աշխատանքային ցիկլ ՝ կես ժամանակը 0 վ -ով և կեսը 5 վ -ով: Վերոնշյալ անիմացիան ցույց է տալիս, թե ինչպես է այս գործառնական ցիկլը ձգվում 100% -ով, ապա led- ն ավելի պայծառ է դառնում:

Քայլ 5. GRՐԱԳԻՐ (ARDUINO SKETCH)

Image
Image

Վերոնշյալ տեսանյութը անցնում է ծրագրի (ուրվագծի) միջոցով, որը կարող է օգտագործվել պոտենցիոմետրի միջոցով լուսադիոդի պայծառությունը վերահսկելու համար: Շղթան նույնն է, ինչ ցույց է տրված 3 -րդ քայլում:

Եթե գտնում եք, որ այս տեսանյութը արագ (կամ դանդաղ) է հարմարավետ ընթերցելու համար, կարող եք հարմարեցնել դրա արագությունը: Ստորին կառավարման վահանի աջ ծայրում տեղադրված է փոխանցման անիվի տեսքով խորհրդանիշ (երբեմն կարմիր «HD» պիտակով դրա վրա).) Սեղմելու դեպքում այն կհայտնվի ընտրացանկ, որը ներառում է «նվագարկման արագություն»:

Իհարկե, ավելի լավ կլիներ, եթե կարողանայիք սեղմել մի կոճակ ՝ ձեր արագությամբ ծրագրի յուրաքանչյուր տող անցնելու համար, սակայն, ցավոք, այստեղ հնարավոր չէ տրամադրել այդ ինտերակտիվ մեթոդը: Եթե նախընտրում եք օգտագործել այդ մեթոդը այս թեմայի և Arduino- ի շատ այլ թեմաների վերաբերյալ, ապա կա animatedarduino.com կայքում տեղադրված ինտերակտիվ/անիմացիոն էլեկտրոնային գրքի անվճար նախադիտման տարբերակ:

Programրագրում կա մեկ առանձնահատկություն, որը, կարծում եմ, ավելի շատ բացատրության կարիք ունի. Տող 14 -ում օգտագործվում է «քարտեզ» գործառույթը: Դրա նպատակի վերաբերյալ բացատրություն կա հաջորդիվ ՝ 6 -րդ քայլում

Քայլ 6: Քարտեզ

Մենք ունենք պոտենցիոմետր, որը միացված է անալոգային քորոցին: Պոտենցիոմետրի լարումը տատանվում է 0v- ից 5v- ի սահմաններում: Այս միջակայքը գրանցված է պրոցեսորի մեջ 1024 քայլով: Երբ արժեքի մուտքագրումը օգտագործվում է PWM միացված թվային կապի միջոցով ելք ստեղծելու համար, այս տիրույթը պետք է քարտեզագրվի թվային քորոցի ելքային տիրույթում: Սա ունի 255 ավելացում: Քարտեզի գործառույթն օգտագործվում է այդ նպատակով և ապահովում է ելք, որը համաչափ է մուտքին:

Վերոնշյալ տեսանյութը ցույց է տալիս սա:

Քայլ 7: Անիմացիոն Arduino

Այս Ուղեցույցի պատկերները վերցված են իմ անիմացիոն Arduino էլեկտրոնային գրքից, որը հասանելի է www.animatedarduino.com կայքում, որտեղ ես նպատակ ունեմ ավելի լավ պատկերացում կազմել որոշ հասկացությունների մասին, որոնք հանդիպում են Arduino- ի ծրագրավորման ընթացքում:

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

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