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

Ինֆրակարմիր տվիչի օգտագործումը Arduino- ով. 8 քայլ (նկարներով)
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ով. 8 քայլ (նկարներով)

Video: Ինֆրակարմիր տվիչի օգտագործումը Arduino- ով. 8 քայլ (նկարներով)

Video: Ինֆրակարմիր տվիչի օգտագործումը Arduino- ով. 8 քայլ (նկարներով)
Video: Դաս 9 Գունային տվիչի օգտագործումը «Կրիայ» միջավայրում 2024, Հունիսի
Anonim
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ի հետ
Ինֆրակարմիր տվիչի օգտագործումը Arduino- ի հետ

Ի՞նչ է ինֆրակարմիր (հայտնի IR) սենսորը:

IR սենսորը էլեկտրոնային գործիք է, որը սկանավորում է IR ազդանշանները ստանդարտներով սահմանված որոշակի հաճախականությունների տիրույթներում և դրանք վերածում է ելքային ազդանշանի էլեկտրական ազդանշանների (սովորաբար կոչվում են ազդանշանային քորոց): IR ազդանշանները հիմնականում օգտագործվում են կարճ հեռավորության վրա (սովորաբար մի քանի մետր) օդով հրամաններ փոխանցելու համար, ինչպես այն, ինչով արդեն աշխատել եք հեռուստատեսության հեռակառավարման վահանակների կամ նման այլ էլեկտրոնային սարքերի վրա:

IR հաղորդակցության արձանագրություն

Յուրաքանչյուր ազդանշան ներկայացնում է որոշակի ծածկագիր: Էլեկտրական ազդանշանները կարող են վերադառնալ փաստացի տվյալների/ուղարկողի ուղարկած կոդի: Երբ սեղմում եք հեռուստացույցի հեռակառավարման վահանակի կոճակին, այն ազդանշան է ստեղծում, որը համապատասխանում է կոճակի կոդին (օրինակ ՝ միացված/անջատված, ձայնի բարձրացում և այլն) և այն ուղարկում է ընդունիչի (այս դեպքում ՝ ձեր հեռուստացույցի) համար: Եվ ուղարկողը, և ստացողը համաձայնեցին մի շարք ծածկագրերի շուրջ, որպեսզի ստացողը իմանա, թե ինչ պետք է անի յուրաքանչյուր կոդի հիման վրա: Կոդի ձևավորման (մոդելավորման) եղանակը որպես ազդանշան սահմանվում է տարբեր ստանդարտներով, և յուրաքանչյուր ցուցիչ արտադրող սովորաբար փորձում է արտադրել իրենց հետ համատեղելի արտադրանք, որպեսզի այն կարողանա օգտագործվել տարբեր սարքերում: Ամենահայտնի ստանդարտ արձանագրություններից մեկը NEC- ից է: Վիքիպեդիայում կարող եք գտնել IR արձանագրությունների հակիրճ պատմություն Consumer IR վերնագրի ներքո:

Քայլ 1: Ինչպե՞ս է նման IR սենսորը:

Ինչպես է IR սենսորը նման
Ինչպես է IR սենսորը նման
Ինչպես է IR սենսորը նման
Ինչպես է IR սենսորը նման
Ինչպես է IR սենսորը նման
Ինչպես է IR սենսորը նման

IR սենսորները հասանելի են տարբեր փաթեթների վրա: Այստեղ կարող եք տեսնել մի քանի տիպիկ փաթեթավորում IR ընդունիչի համար:

Քայլ 2: IR սենսորային բեկման տախտակ/մոդուլ

IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ
IR Sensor Breakout Board/մոդուլ

Դուք կարող եք դրանք գնել նաև որպես IR մոդուլ/բեկումնային տախտակ eBay- ում, Aliexpress- ում կամ Amazon- ում: Նման մոդուլները սովորաբար ներառում են վերը նշված սենսորներից մեկը ՝ գեղեցիկ տախտակի համար հարմար փաթեթով, LED- ի հետ միասին, որը կթափվի, երբ սենսորը ազդանշան է հայտնաբերում: Դրանով դուք կնկատեք, եթե որևէ տվյալ փոխանցվի: Ես բարձր եմ առաջարկում սկսել այս մոդուլներից մեկով:

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

Քայլ 3: Պահանջվող մասեր և բաղադրիչներ

Պահանջվող մասեր և բաղադրիչներ
Պահանջվող մասեր և բաղադրիչներ

Այստեղ դուք կարող եք գտնել այն բաղադրիչների ցանկը, որոնք ձեզ անհրաժեշտ են այս ձեռնարկը լրացնելու համար.

eBay հղումներ

  • 1 x Arduino Uno ՝
  • 1 x IR տվիչի մոդուլ ՝ հեռակառավարմամբ ՝
  • 4 x 220 օմ դիմադրություն ՝
  • 4 x LED:
  • 8 x Dupont մալուխ ՝
  • 1 x Եռակցման տախտակ ՝
  • 1 x մինի տախտակ (ըստ ցանկության) ՝

Amazon.com- ի հղումներ

  • 1 x Arduino Uno ՝
  • 1 x IR տվիչի մոդուլ ՝ հեռակառավարմամբ ՝
  • 1 x Եռակցման տախտակ ՝
  • 4 x 220 օմ դիմադրողներ ՝
  • 4 x LED:
  • 8 x Dupont մալուխ ՝
  • 1 x մինի տախտակ (ըստ ցանկության) ՝

Քայլ 4. IR սենսորը միացնելով Arduino- ին

IR սենսորը միացնելով Arduino- ին
IR սենսորը միացնելով Arduino- ին
IR սենսորը միացնելով Arduino- ին
IR սենսորը միացնելով Arduino- ին
IR սենսորը միացնելով Arduino- ին
IR սենսորը միացնելով Arduino- ին

IR սենսորային կապը Arduino- ի հետ շատ պարզ է: VCC- ի և GND կապի կողքին, սենսորը ունի միայն մեկ ելքային քորոց, որը պետք է միացված լինի Arduino- ի թվային կապումներից մեկին: Այս դեպքում այն միացված է 13 -րդ կապին:

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

Քայլ 5. Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը

Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը
Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը
Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը
Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը
Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը
Գտեք հեռակառավարման վահանակի յուրաքանչյուր բանալին համապատասխան ծածկագիրը

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

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

Կարող եք նաև մուտք գործել իմ Arduino վեբ խմբագրիչում տարածված իրական աղբյուրի կոդը `ir-key-code-logger:

Նշում. Մի վախեցեք, եթե ինչ -որ տեղ տեսնեք FFFFFF- ի նման կոդ: Նշանակում է, որ որոշ ժամանակ սեղմել և պահել եք կոճակը: Հետագայում կանդրադառնանք դրան: Առայժմ պարզապես անտեսեք դրանք և կենտրոնացեք այլ կոդերի վրա:

Քայլ 6: Կառավարեք LED- ների մի շարք IR հեռակառավարման միջոցով

Վերահսկեք LED- ների մի շարք IR IR հեռակառավարման միջոցով
Վերահսկեք LED- ների մի շարք IR IR հեռակառավարման միջոցով
Վերահսկեք LED- ների մի շարք IR IR հեռակառավարման միջոցով
Վերահսկեք LED- ների մի շարք IR IR հեռակառավարման միջոցով
Վերահսկեք LED- ների մի շարք IR հեռակառավարման միջոցով
Վերահսկեք LED- ների մի շարք IR հեռակառավարման միջոցով

Այժմ, երբ մենք ունենք յուրաքանչյուր կոճակի ծածկագիր, ժամանակն է կենտրոնանալ դրանք օգտագործելու եղանակի վրա: Սովորաբար դուք օգտագործում եք IR հեռակառավարիչը ՝ Arduino- ին հրամաններ ուղարկելու համար ՝ լամպը միացնելու կամ անջատելու համար, ռոբոտին որոշակի ուղղությամբ տեղափոխելու, LCD/OLED էկրանին ինչ -որ բան ցուցադրելու և այլն: Այստեղ մենք փորձում ենք ցույց տալ գործընթացը ՝ օգտագործելով մի պարզ միացում, որը բաղկացած է 4 LED- ից `տարբեր գույներով: Մենք ցանկանում ենք նրանցից յուրաքանչյուրը միացնել կամ անջատել IR հեռակառավարման վահանակի հատուկ կոճակով: Ինչպես տեսնում եք սխեմատիկայում, դուք պետք է Arduino- ն միացնեք LED- ների և սենսորների հետևյալ եղանակներին.

Arduino GND -> IR տվիչ GND:

Arduino VCC -> IR տվիչ VCC:

Arduino 13 -> IR տվիչի ազդանշանի ելք:

Arduino 2 -> կապույտ LED- ի անոդ (կապույտ LED- ի ավելի կարճ կապում)

Arduino 3 -> Կանաչ LED- ի անոդ (կանաչ LED- ի ավելի կարճ կապում)

Arduino 4 -> Դեղին LED- ի անոդ (դեղին LED- ի ավելի կարճ քորոց)

Arduino 5 -> կարմիր LED- ի անոդ (կարմիր LED- ի ավելի կարճ կապում)

Arduino GND -> Բոլոր LED- ների կաթոդ 220 օմ դիմադրության միջոցով (LED- ների ավելի երկար քորոց)

Այս սխեմանին համապատասխան ծածկագիրը կարող եք գտնել կից ֆայլում կամ իմ Arduino վեբ խմբագրիչում ՝ ir-led-control:

Քայլ 7: Խնդիրների վերացում

Ձեր նախագիծը կազմավորելիս և քայլերին հետևելիս կարող եք հանդիպել շատ տարօրինակ իրավիճակների: Ահա մի քանի սովորական սխալների ցանկը, որոնք կարող են առաջանալ IR սենսորով աշխատելիս:

Ստանալով FFFFFF ստեղնը սեղմելիս

Կոճակը սեղմելիս կարող եք նկատել, որ շատ ժամանակ այն հայտնում է FFFFFF- ի նման կոդի մասին: Դա տեղի է ունենում, երբ սեղմում եք կոճակը և պահում այն որոշ ժամանակ, նույնիսկ կարճ ժամանակով: Սցենարն այն է, որ երբ սկզբում սեղմում ես կոճակը, IR հեռակառավարիչը ուղարկում է կոճակի ծածկագիրը, և քանի դեռ դու պահում ես կոճակը, այն կրկնում է FFFFFF ուղարկելը, ինչը նշանակում է, որ օգտվողը դեռ սեղմում է վերջերս հայտնված կոճակը: Դա լավ կլիներ: Դուք պարզապես կարող եք դրանք բաց թողնել: Փաստացի կոդն այն է, որը դուք ստացել եք անմիջապես FFFFFF- ից Սերիական մոնիտորի վրա:

IR սենսորն ընդհանրապես չի արձագանքում և կարծես թե տաքանում է:

Կտրեք հոսանքը !!! Եթե վստահ եք, որ առանցքային կոդի գրանցիչի ուրվագիծը ճիշտ է, ապա խնդիրը գուցե ձեր լարերի սխալ տեղադրման պատճառով է: Ինձ հետ պատահած սցենարն այն էր, որ իմ IR մոդուլի (տախտակին կցվածի) համար ես միացրել էի VCC- ն և GND- ը հակառակ ձևով (կապող լարերիս համար համապատասխան գույներ չօգտագործելու պատճառով): Դրանով սենսորի բաղադրիչն այրվեց, և մի գեղեցիկ կապույտ ծուխ բարձրացավ: Ես գնել եմ մի փաթեթ չմշակված IR սենսորներ և փորձել եմ այն փոխարինել, և այժմ այն աշխատում է որպես հմայք:): Unfortunatelyավոք, ես նույն սխալն արեցի, երբ փորձարկում էի չմշակված IR սենսորով, և այս անգամ ոչինչ տեղի չունեցավ, բացի սենսորի տաքացումից: Այսպիսով, միշտ միացրեք էլեկտրահաղորդումը հոսանքը միացնելուց առաջ:

Երբեմն սենսորը հայտնաբերում է այնպիսի կոդ, որը ես երբեք չէի տեսել

Սա ամենատարածված հարցերից մեկն է: Ամենայն հավանականությամբ, դա պայմանավորված է հետևյալ պատճառներից մեկով.

Դուք ձեր IR հեռակառավարման վահանակը չեք ուղղում դեպի սենսորը

Սա կհանգեցնի որոշ նոր կոդերի (հիմնականում ավելի երկար կոդերի), որոնք նախկինում երբեք չեք ստացել և սովորաբար չեն համընկնում արդեն իսկ ունեցած կոդերի երկարության հետ: Ուստի հիշեք, որ միշտ հեռակառավարիչը ուղղեք դեպի ձեր տվիչը:

Դուք օգտագործում եք էժան IR հեռակառավարիչ (ինչպես այն, ինչ ես օգտագործել եմ այս ձեռնարկում)

Էժան անկանխատեսելի հեռակառավարման վահանակների փոխարեն կարող եք փորձել նույն սցենարը `օգտագործելով ձեր հեռուստատեսության կամ DVD նվագարկիչի հեռակառավարման վահանակը կամ ձեր ունեցած ցանկացած սարքի IR հեռակառավարիչը: Նրանք սովորաբար ունեն լավ ազդանշանի/սարքավորումների որակ (և, իհարկե, ավելի թանկ) և, իմ փորձից ելնելով, նրանք սովորաբար լավ են աշխատում, նույնիսկ եթե ձեր հեռակառավարիչը ուղղակիորեն դեպի սենսորը չեք ուղղում:

Ինչպես կարող եմ իմանալ, եթե մուտքագրված կոդը աղբ չէ

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

1111 1111 0111 1010 1000 0101

Ձախից աջ ՝ 4 թվանշաններից յուրաքանչյուր խմբաքանակը բնույթի ներկայացում է սկզբնական տասնվեցերորդ թվով: Ինչպես տեսնում եք, 7 -ին համապատասխանող խմբաքանակը 0111 է, իսկ 8 -ին համապատասխանող խմբաքանակը ՝ 1000, ինչը դրա ճշգրիտ մերժումն է: Ationխտմամբ ես նկատի ունեմ, որ բոլոր 0 -երը կլինեն 1 -եր, և բոլոր 1 -երը կփոխարինվեն 0 -ով: Նույնը վերաբերում է հաջորդին, որը A (1010) և 5 (0101) է:

Քայլ 8: Ի՞նչ անել հաջորդը:

Հիմա ձեր հերթն է: Ամեն ինչ կախված է ձեր երևակայությունից ՝ տեսնել, թե ինչ կարող եք անել ձեր ձեռքում եղած այս փոքրիկ պարզ սենսորով: Ահա մի քանի գաղափար ՝ սկսելու համար.

  • Օգտագործեք տանը գտնվող սարքերից մեկի (հեռուստացույց, ստերեո և այլն) IR հեռակառավարման վահանակը և փորձեք օգտագործել այն ձեր Arduino նախագծում
  • Փորձեք միանգամից միացնել բոլոր LED- ները ՝ սեղմելով ստեղնը, այնուհետև անջատեք դրանք ՝ օգտագործելով մեկ այլ ստեղն
  • Օգտագործեք հեռակառավարման վահանակի վեր/վար կոճակը ՝ LED- ները մեկ առ մեկ միացնելու/անջատելու համար, մինչև բոլորը միացվեն/անջատվեն
  • Ստեղծեք լուսացույց LED- ների միջոցով և կառավարեք այն հեռակառավարման վահանակի միջոցով
  • Եթե ձեռքի տակ ունեք մի փոքր DC շարժիչ, փորձեք միացնել/դադարեցնել կամ փոխել դրա պտույտի ուղղությունը IR հեռակառավարման վահանակի միջոցով
  • Դուք կարող եք օգտագործել ձեր հեռուստատեսության հեռակառավարիչը ՝ վերահսկելու ձեր ռոբոտը կամ միացնելու/անջատելու դրա վրա որոշ տվիչներ/գործարկիչներ

Տեղեկացրեք ինձ մեկնաբանությունների վերաբերյալ, թե ինչ կանեիք (կամ արդեն արել եք) IR հեռակառավարման վահանակի միջոցով:

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