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

Ինֆրակարմիր զառերի տվիչ ՝ 5 քայլ
Ինֆրակարմիր զառերի տվիչ ՝ 5 քայլ

Video: Ինֆրակարմիր զառերի տվիչ ՝ 5 քայլ

Video: Ինֆրակարմիր զառերի տվիչ ՝ 5 քայլ
Video: ԳՆԵՑԻ ՄԻ ԿՏՈՐ ՀԱՍԿԱՆՈՒՄ ԵՎ եփեցի Taco: խորոված. ինչպես La Capital-ը 2024, Հուլիսի
Anonim
Ինֆրակարմիր զառերի ցուցիչ
Ինֆրակարմիր զառերի ցուցիչ
Ինֆրակարմիր զառերի ցուցիչ
Ինֆրակարմիր զառերի ցուցիչ

Իմ անունը Կալվին է, և ես ձեզ ցույց կտամ, թե ինչպես պատրաստել ինֆրակարմիր զառերի ցուցիչ և կբացատրեմ, թե ինչպես է այն աշխատում:

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

makezine.com/2009/09/19/dice-reader-versio…

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

Պարագաներ

Հիմա մատակարարումների մասին.

Ձեզ հարկավոր կլինի.

1 x Arduino Uno

5 x IR ընդունիչ

5 x IR արտանետիչներ

www.sparkfun.com/products/241

5 x 270 օհմ ռեզիստորներ

5 x 10k ohm ռեզիստորներ

1 x 74HC595N չիպ

տարբեր արական վերնագրեր

1 x նախատիպ տախտակ (եթե չեք ստանում պատվերով աղացած տախտակ)

Քայլ 1: Հասկանալով, թե ինչպես է այն աշխատում

Հասկանալով, թե ինչպես է այն աշխատում
Հասկանալով, թե ինչպես է այն աշխատում
Հասկանալով, թե ինչպես է այն աշխատում
Հասկանալով, թե ինչպես է այն աշխատում

Այս սենսորը օգտագործում է 5 խողովակ ՝ զառերի դեմքերը կարդալու համար: Այն օգտագործում է ինֆրակարմիր ճառագայթ ՝ զառախաղի երեսից դուրս ցատկելու այս վայրերում և վերահսկիչին ասում է ՝ դա սպիտակ է, թե՞ սև:

Ձեզ կարող է հետաքրքրել, ինչու՞ այդ ժամանակ ընդամենը 5 խողովակաշար: Ձեզ հարկավոր չէ՞ր բոլոր 9 -ը ՝ զառերը արդյունավետ կարդալու համար:

Դե, զառի համաչափության պատճառով, զառի վրա 5 հատուկ վայր օգտագործելը կարող է բավական լինել `տարբեր կողմնորոշման վրա տարբերելու համար զառախաղի տարբեր թվերի միջև տարբերությունը (նկար 1): Սա զառերի սենսորն ավելի արդյունավետ է դարձնում, քանի որ այն փնտրում է միայն այն, ինչ իրեն անհրաժեշտ է և ոչ մի ավելորդ բան:

Այս ճառագայթիչն անցնում է սենսորի ստացողի տակ ՝ այս 5 խողովակներից յուրաքանչյուրի վրա, այնուհետև սենսորը թողարկում է IR լույսը, այնուհետև ստացողը կարդում է IR լույսի քանակը, որը ցատկում է զառախաղի երեսից: (նկար 3) Եթե ստացված արժեքը ավելի մեծ է, քան ճշգրտման համարները, ապա սենսորը այդ կետը կտեսնի որպես կետ, եթե ոչ, ապա դա սպիտակ տարածություն է: (նկար 2)

Քայլ 2. Նախագծում և պլանավորում

Նախագծում և պլանավորում
Նախագծում և պլանավորում
Նախագծում և պլանավորում
Նախագծում և պլանավորում
Նախագծում և պլանավորում
Նախագծում և պլանավորում
Նախագծում և պլանավորում
Նախագծում և պլանավորում

Dառերի սենսոր կառուցելու առաջին քայլը սխեմաների ստեղծումն է, սա կարող է լինել զարգացման ամենադժվար կամ ամենահեշտ քայլը: Նախ անհրաժեշտ է ծրագրային ապահովում, որը կոչվում է EAGLE Autodesk, սա այն ծրագիրն է, որն օգտագործել եմ սխեմաները ստեղծելու համար:

Ես ներառել եմ 2 տարբեր տեսակի սխեմաներ, որոնցից մեկը ունի հերթափոխի գրանցման չիպ, որն օգնում է սենսորը ավելի ճշգրիտ դարձնել, իսկ մյուսը ՝ առանց հերթափոխի գրանցման չիպի: հետագայում, այնպես որ դուք ստիպված կլինեք ինչ -որ բան ինքնուրույն մշակել:

Ես նաև ներառել եմ իմ տախտակի դասավորությունը սենսորի համար, որը ես նախագծել եմ հերթափոխի մատյանով:

Տախտակի ձևավորումը սկսելու համար դուք ունեք 5 IR ընդունիչ և 5 IR ճառագայթիչ, ընդունիչներին անհրաժեշտ է 10k դիմադրություն, իսկ թողարկողներինը ՝ 270 ohm դիմադրություն, ուստի այս տարրերից յուրաքանչյուրի համար դուք գնում եք.

VCC (5V) -> Resistor -> Անալոգային կարդալու Pin -> IR ընդունիչ -> GND

VCC (5V) -> Դիմադրություն -> IR թողարկիչ -> GND

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

Իմ սովորական տախտակի վրա ես օգտագործում եմ հերթափոխի ռեգիստրը `էներգիա ապահովելու համար թողարկող և ընդունիչ զույգերից յուրաքանչյուրին մեկ առ մեկ, որպեսզի խուսափեն մյուս ճառագայթիչներից IR լույսի արյունահոսությունից: Սա ինձ նույնիսկ ավելի ճշգրիտ ընթերցում է տալիս pip- ի յուրաքանչյուր վայրից, եթե դուք ընտրեցիք չօգտագործել հերթափոխի գրանցամատյանը, այն դեռ կաշխատի ձեզ համար, պարզապես կարող է մի փոքր ավելի քիչ ճշգրիտ լինել: Հերթափոխի գրանցամատյանում կարող եք միացնել 3-4 և 7-8 կապերը միասին, քանի որ դրանք լրիվ անհրաժեշտ չէ դրանք որպես վերնագրեր ունենալ: Ես դրանք թողեցի որպես վերնագրեր և թռիչքներ դրեցի վերնագրերի վրա, եթե հետագայում ցանկանայի զարգացում կատարել:

Սխեման մշակելուց հետո դուք պետք է կազմեք ձեր սխեմատիկայի տախտակի դասավորությունը: Այս մասը կարող է շատ բարդ լինել, քանի որ դուք պետք է համոզվեք, որ ձեր ուղիները չեն համընկնում և համոզվեք, որ ձեր ուղիներն ու անցքերը համապատասխանում են ձեր մեքենայի բնութագրերին: Տախտակի դասավորությունը, որը ես կցեցի, ուներ մեքենայի հատուկ չափսերը, որոնցով ես օգտագործում էի իմ տախտակը: Ես մի քանի ժամ անցկացնում եմ, որպեսզի տախտակը հնարավորինս փոքր լինի: Այս տախտակի վրա դեռ բարելավվելու տեղ կար, բայց դա ինձ մոտ աշխատեց, այնպես որ ես այն թողեցի այնպես, ինչպես կա: Կա պղնձե GND- ով տարբերակ, որը միացնում է Ground- ի բոլոր տարրերը, և տարբերակ `առանց կից:

Դուք կարող եք նաև օգտագործել ձեր սխեման ՝ այն կառուցելու համար տախտակի կամ նախատիպի տախտակի վրա, քանի որ դրանք շատ ավելի հեշտությամբ են ձեռք բերվում և ավելի էժան տարբերակ է, քանի որ ձեզ հարկավոր չէ ունենալ պատվերով աղացած աղյուս:

Տախտակի ձևավորումն ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Քայլ 3. Կառուցեք խորհուրդը

Կառուցելով խորհուրդը
Կառուցելով խորհուրդը
Կառուցելով խորհուրդը
Կառուցելով խորհուրդը
Կառուցելով խորհուրդը
Կառուցելով խորհուրդը

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

Եթե դուք ընտրել եք տախտակի աղալ, ապա այս գործընթացը ավելի պարզ է: Գրատախտակի ֆայլն ուղարկեք ջրաղացպանին `հատուկ ջրաղացողի պարամետրերով: Եթե դա ինքներդ եք անում, պատրաստեք այն հանելուց առաջ, համոզվեք, որ ամբողջ պղինձը պատշաճ կերպով աղացած է բավական խորը:

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

IR ընդունիչներ և արտանետիչներ տեղադրելիս համոզվեք, որ թողարկողը գտնվում է ընդունիչի տակ: Դուք ստիպված կլինեք խաղալ IR բաղադրիչների ոտքերը թեքելով ՝ դրանք ճիշտ տեղում գտնելու համար: Ձեռք բերեք նաև զառախաղ ՝ ստուգելու համար, թե արդյոք խողովակների տեղադրման վայրը այն վայրն է, որտեղ նրանք պետք է լինեն:

Երբ ամեն ինչ կպցրեք և ավելացնեք գրատախտակին, դուք պետք է ծրագրավորեք սենսորը:

Քայլ 4. Խորհրդի ծրագրավորում

Խորհրդի ծրագրավորում
Խորհրդի ծրագրավորում
Խորհրդի ծրագրավորում
Խորհրդի ծրագրավորում

Սա սենսորը հնարավորինս ճշգրիտ դարձնելու, տախտակը ծրագրավորելու բարդ մասն է: Բարեբախտաբար, ես ձեզ համար ստեղծել եմ գրադարան, որը կարող եք օգտագործել ձեր նորաստեղծ սենսորով `այն ծրագրավորումը շատ ավելի դյուրին դարձնելու համար:

Սկսելու համար դուք պետք է ունենաք Arduino ՝ այս սենսորին միանալու համար: Այն օգտագործում է 5 անալոգային կապում և 3 թվային կապում:

Դուք ունակ եք օգտագործելու իմ ստեղծած գրադարանը ՝ ընտրելու ձեր սեփական անալոգային և թվային կապերը, բայց ես դա կբացատրեմ ՝ օգտագործելով սենսորների հետ ինտերֆեյսի համար արված կապերը: Նշել եմ կապի համարների և գունավոր տուփերի հետ կապված պատկերը, որը հեշտությամբ բացատրում է, թե որ քորոցն է միանում որտե՞ղ:

Սենսորի վրա 1-5 կարմիր կապում են A0-A4, այնպես որ Կարմիր 1-ը անցնում է A0 և այլն: 1-8 կապում Սպիտակները մի փոքր ավելի շատ բացատրություն են պահանջում:

Սպիտակ 1 - Տվյալների քորոց, այստեղ Arduino- ն տվյալներն ուղարկում է հերթափոխի ռեգիստր: Ես այս կապը դրել եմ Arduino- ի թվային 3 -ի վրա

Սպիտակ 2 - Q0, այս դեպքում հնացած, ես այն ներառեցի այն դեպքում, երբ ընդհանրապես որոշեցի ընդլայնել

Սպիտակ 3 և 4 - Կզուգավորվեն, դուք կարող եք կամ զոդել այս երկուսը միասին, կամ օգտագործել jumper, ինչպես ես արեցի:

Սպիտակ 5 - սողնակի քորոց, շատ կարևոր քորոց, որը գործընթացի վերջին քայլն է ՝ տեսնելու, թե ինչպես են պտուտակները միանում և անջատվում: Այս քորոցը Arduino- ի վրա դրեցի 12 -ի

Սպիտակ 6 - ժամացույցի պտուտակ, Սա ապահովում է ժամացույցը Arduino- ից մինչև հերթափոխի գրանցամատյան: Ես սա դրել եմ թվային փին 13 -ի վրա:

Սպիտակ 7 և 8 - Կզուգավորվեն, կարող եք կամ զոդել այս երկուսը միասին, կամ օգտագործել ցատկիչ, ինչպես ես արեցի:

Սպիտակ տուփի կողքին դուք ունեք Ground և VCC կապում: Դուք պետք է Arvino- ից կամ մեկ այլ աղբյուրից տրամադրեք 5 վ լարման այս սենսորը սնուցելու համար:

PIP Տեղադրության համարները կարելի է գտնել ծածկագրում:

Այժմ, երբ դուք պետք է այն կապեք, մենք պետք է այն չափագրենք: Իմ նպատակն էր ստեղծել այնպիսի սցենար, որը կկարողանա ճշգրտել այն ձեզ համար, բայց դրա համար ժամանակ չունեցա: Կալիբրացման ժամանակ դուք պետք է համոզվեք, որ սենսորը գտնվում է վերահսկվող լուսավորության միջավայրում `զգայուն արտաքին արտացոլված լույսի նկատմամբ: Դուք պետք է ստանաք մի արժեք յուրաքանչյուր պիպ տեղից ՝ սև և սպիտակ կետերով և միջին հաշվարկելով տարբերությունը: Կալիբրացման համար ես օգտագործել եմ զառի միայն երկու կողմը, ես օգտագործել եմ 1 -ին, 6 -րդ և 6 -րդ կողմերը 90 աստիճանով պտտվող կողմերը: Երբ դուք ունեք մի շարք սպիտակի և սևերի համար յուրաքանչյուր պիպի գտնվելու վայրի համար, դուք պետք է դրանք միջինացնեք և գտնեք երկու թվերի միջինը: Օրինակ, եթե ես առաջին պիպի տեղից սպիտակի համար ստացա 200, իսկ առաջին խողովակի գտնվելու վայրի մուգ արժեքի համար `300, ապա տրամաչափման թիվը կլինի 250. Երբ դա անեք բոլոր 5 խողովակաշարերի համար, ձեր տվիչը ճիշտ է calibrated, ապա կարող եք օգտագործել dice. ReadFace (); ստանալ զառի ներկայիս դեմքը:

Քայլ 5: Դիմում

Դիմում
Դիմում
Դիմում
Դիմում
Դիմում
Դիմում

Դուք այժմ հաջողությամբ ստեղծել եք զառերի ցուցիչ: Շնորհավորում եմ: Սա երկար փորձաշրջան էր ինձ համար այս սենսոր ստեղծելու համար, ուստի իմ նպատակն է օգնել այնտեղ գտնվող բոլորին, ովքեր ցանկանում են զառերի տվիչ ստեղծել:

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

Այս սենսորի հնարավորությունն անսպառ է, եթե դրան միտքդ դնես: Հուսով եմ, որ այս ձեռնարկը ձեզ համար հաճելի և ուսանելի կլինի, և ես հույս ունեմ, որ կփորձեք ինքներդ պատրաստել:

Աստված օրհնի!

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