Мазмұны:

Arduino көмегімен инфрақызыл сенсорды қолдану: 8 қадам (суреттермен)
Arduino көмегімен инфрақызыл сенсорды қолдану: 8 қадам (суреттермен)

Бейне: Arduino көмегімен инфрақызыл сенсорды қолдану: 8 қадам (суреттермен)

Бейне: Arduino көмегімен инфрақызыл сенсорды қолдану: 8 қадам (суреттермен)
Бейне: E18-D80NK IR кедергілерден аулақ болудың сенсоры (инфрақызыл сенсор) E3F-R2 2024, Маусым
Anonim
Arduino көмегімен инфрақызыл сенсорды қолдану
Arduino көмегімен инфрақызыл сенсорды қолдану

Инфрақызыл сенсор дегеніміз не?

IR сенсоры - бұл стандартты анықталған жиілік диапазонындағы инфрақызыл сигналдарды сканерлейтін және оларды шығыс түйреуішіндегі электр сигналдарына түрлендіретін электрондық құрылғы (әдетте сигнал түйреуіші). Инфрақызыл сигналдар негізінен қысқа қашықтықта (әдетте бірнеше метр) әуедегі командаларды беру үшін қолданылады, мысалы, сіз теледидардың қашықтан басқару пультінде немесе басқа ұқсас электронды құрылғыларда жұмыс істеген сияқты.

IR байланыс протоколы

Әр сигнал белгілі бір кодты білдіреді. Электр сигналдарын жіберуші жіберген нақты деректерге/кодқа қайта түрлендіруге болады. Теледидардың қашықтан басқару пультіндегі түймені басқанда, ол түйме кодына сәйкес сигнал шығарады (мысалы, қосу/өшіру, дыбыс деңгейін жоғарылату және т.б.) және оны ресиверге жібереді (бұл жағдайда сіздің теледидар). Жіберуші де, алушы да кодтардың жиынтығын қабылдады, осылайша қабылдаушы әр код негізінде не істеу керектігін біледі. Кодты модульдеу (модельдеу) әдісі әр түрлі стандартта анықталған және әр сенсор өндірушісі әдетте олармен үйлесімді өнім шығаруға тырысады, сондықтан оны әр түрлі құрылғыларда қолдануға болады. Ең танымал стандартты хаттамалардың бірі - NEC. Сіз IR хаттамаларының қысқаша тарихын Уикипедияда Тұтынушы ИҚ тақырыбы бойынша таба аласыз.

1 -қадам: IR сенсоры қалай көрінеді?

IR сенсоры қалай көрінеді?
IR сенсоры қалай көрінеді?
IR сенсоры қалай көрінеді?
IR сенсоры қалай көрінеді?
IR сенсоры қалай көрінеді?
IR сенсоры қалай көрінеді?

IR сенсорлары әр түрлі пакеттерде бар. Мұнда сіз IR қабылдағыштың әдеттегі қаптамасын көре аласыз.

2 -қадам: IR сенсорының үзіліс тақтасы/модулі

IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі
IR сенсорының үзіліс тақтасы/модулі

Сіз оларды eBay, Aliexpress немесе Amazon -да IR модулі/ажырату тақтасы ретінде сатып ала аласыз. Мұндай модульдер әдетте сенсор сигналды анықтағанда жыпылықтайтын светодиоды бар тақтаның жақсы пакетімен жоғарыда аталған сенсорлардың бірін қамтиды. Осылайша сіз кез келген деректер тасымалданатынын байқайсыз. Мен осы модульдердің бірінен бастауды ұсынамын.

Ескертпе: егер сізде инфрақызыл сенсор болса, онда ештеңе өзгермейді, тек сенсордың деректер кестесін тексеріп, оны дұрыс қосқаныңызға көз жеткізіңіз, себебі сізде иісі бар әдемі көк түтін болуы мүмкін. сағат Не айтқым келіп тұрғанын түсінесің;)

3 -қадам: Қажетті бөлшектер мен компоненттер

Қажетті бөлшектер мен компоненттер
Қажетті бөлшектер мен компоненттер

Мұнда сіз оқулықты аяқтау үшін қажет компоненттердің тізімін таба аласыз:

eBay сілтемелері:

  • 1 x Arduino Uno:
  • Қашықтан басқару пульті бар 1 x IR сенсорлық модулі:
  • 4х220 Ом резисторлары:
  • 4 x жарық диоды:
  • 8 x Dupont кабелі:
  • 1 x дәнекерленбеген тақта:
  • 1 x шағын тақта (міндетті емес):

Amazon.com сілтемелері:

  • 1 x Arduino Uno:
  • Қашықтан басқару пульті бар 1 x IR сенсорлық модулі:
  • 1 x дәнекерленбеген тақта:
  • 4х220 Ом резисторлары:
  • 4 x жарық диоды:
  • 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 -істікшеге қосылады.

Мен ИҚ сенсор модулін де, ИҚ сенсорының шикі қондырғысын да көрсетуге тырыстым. Суреттерде көрініп тұрғандай, сенсорлық модульдегі VCC және GND түйреуіштерінің орны шикі сенсорға қарама -қарсы орналасқан. Бірақ бұл сенсорға сәйкес келмеуі мүмкін, сондықтан алдыңғы қадамда айтылғандай, шикізат сенсоры қолданылған жағдайда алдымен деректер кестесін тексеріңіз.

5 -қадам: Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз

Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз
Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз
Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз
Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз
Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз
Қашықтан басқару пультіндегі әр кілтке сәйкес келетін кодты табыңыз

Қашықтан басқару пультіндегі пернені басқанда Arduino -ны бірдеңе жасауға бағдарламалау үшін алдымен осы пернеге сәйкес келетін код болуы керек. Негізгі код - әдетте он алтылық ретінде ұсынылатын сан. Әр қашықтан басқару пультінің жеке кілт кодтары бар, бірақ екі контроллер әр түрлі мақсаттар үшін бір кодты бөлісуі мүмкін. Әр түрлі жиілік диапазондарын қолдана отырып, әр түрлі кілт кодтарының болуы әр түрлі құрылғылардың екі қашықтан басқару пульті кедергі жасамайтынын қамтамасыз етеді. Сондықтан сіз телеарнаны ауыстырған кезде DVD ойнатқышы мүлде жауап бермейді.

IR қашықтан басқару пультінің кодтарын анықтау үшін алдымен түймені басқан кезде сенсордан кодты оқуға тырысатын қарапайым эскизді іске қосу керек және оны сериялық порт арқылы компьютерге жіберуге болады, онда сіз оған Serial Monitor құралдарының көмегімен қол жеткізе аласыз. Arduino IDE. Бұл бөлімге бекітілген эскиз осылай жасайды. Келешекте бұл кодты қайта іске қосудың қажеті болмас үшін кодты көру және кодтардың тізімін жазу үшін әр түймені басқан дұрыс болар еді. Сіз суреттегі кесте ретінде көретін негізгі кодтардың тізімі - бұл менің арзан IR пультіндегі түймелерді басу кезінде алынған кодтар.

Сіз сондай-ақ irdu-key-code-logger-де Arduino веб-редакторында ортақ нақты кодқа қол жеткізе аласыз.

Ескерту: Егер сіз FFFFFF сияқты кодты бір жерден көрсеңіз, қорықпаңыз. Бұл түймені біраз уақыт басып тұрғаныңызды білдіреді. Біз оған кейінірек ораламыз. Әзірге оларды елемей, басқа кодтарға назар аударыңыз.

6 -қадам: IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқару

IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқарыңыз
IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқарыңыз
IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқарыңыз
IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқарыңыз
IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқарыңыз
IR қашықтан басқару пультінің көмегімен жарық диодтар жиынтығын басқарыңыз

Енді бізде әр батырманың коды бар болғандықтан, оларды қолдану тәсіліне назар аударатын кез келді. Әдетте сіз IR қашықтан басқару пультін Arduino -ға шамды қосу немесе өшіру, роботты белгілі бір бағытта жылжыту, СКД/OLED экранында бірдеңе көрсету сияқты командаларды жіберу үшін қолданасыз. Бұл жерде біз процесті қарапайым көмегімен көрсетуге тырысамыз. түрлі түсті 4 светодиодтан тұратын схема. Біз олардың әрқайсысын ИҚ пультінің арнайы түймесі арқылы қосқымыз немесе өшіргіміз келеді. Схемада көріп тұрғаныңыздай, Arduino -ды келесі жолмен светодиодтар мен сенсорға қосу керек:

Arduino GND -> IR сенсоры GND.

Arduino VCC -> VCC IR сенсоры.

Arduino 13 -> ИҚ сенсорының сигнал шығысы.

Arduino 2 -> көк жарықдиодты анод (көк жарық диодының қысқа түйреуіші)

Arduino 3 -> Жасыл жарықдиодты анод (жасыл светодиоды қысқа түйреуіш)

Arduino 4 -> сары жарықдиодты анод (сары жарықдиодты қысқа түйреуіш)

Arduino 5 -> қызыл жарықдиодты анод (қызыл светодиоды қысқа түйреуіш)

Arduino GND -> 220 Ом резистор арқылы барлық светодиодтардың катодтары (светодиодтардың ұзын штыры)

Сіз осы схемаға сәйкес келетін кодты қоса берілген файлдан немесе менің Arduino веб-редакторынан ir-led-control арқылы таба аласыз.

7 -қадам: ақауларды жою

Жобаны құру және қадамдарды орындау кезінде сіз көптеген оғаш жағдайларға тап болуыңыз мүмкін. Міне, IR сенсорымен жұмыс жасау кезінде жиі кездесетін қателердің тізімі.

Пернені басқанда FFFFFF алу

Түймені басқан кезде, ол көбінесе FFFFFF сияқты кодты беретінін байқай аласыз. Бұл түймені басып, оны аз уақытқа ұстап тұрғанда болады. Сценарий бойынша, түймені алғаш басқанда, IR қашықтан басқару пульті түйменің кодын жібереді және сіз түймені басып тұрғанда, ол FFFFFF жіберуді қайталайды, яғни пайдаланушы жақында хабарланған түймені басады. Бұл жақсы болар еді. Сіз оларды жай ғана жібере аласыз. Нақты код - бұл сериялық мониторда FFFFFF алдында.

IR сенсоры мүлдем әрекет етпейді және ол жылынып жатқан сияқты

Қуатты өшіріңіз !!! Егер сіз кодты тіркеуші кілтінің дұрыс екеніне сенімді болсаңыз, онда мәселе сымдардың дұрыс орнатылмағандығынан болуы мүмкін. Менімен болған сценарий менің IR модулім үшін (тақтаға бекітілген) мен VCC мен GND -ны қарама -қарсы түрде қосқан болатынмын (менің сымдар үшін дұрыс түстерді пайдаланбағандықтан). Осылайша сенсордың құрамдас бөлігі жанып, көк түтін көтерілді. Мен шикі инфрақызыл сенсорлар пакетін сатып алдым және оны ауыстыруға тырыстым, енді ол очаровка сияқты жұмыс істейді:). Өкінішке орай, мен шикі инфрақызыл сенсормен тестілеу кезінде дәл осындай қателік жасадым және бұл жолы сенсор жылынғаннан басқа ештеңе болған жоқ. Сондықтан қуатты қоспас бұрын әрқашан тізбекті тексеріңіз!

Кейде сенсор бұрын мен көрмеген кодты анықтайды

Бұл жиі кездесетін мәселелердің бірі. Мүмкін, бұл келесі себептердің біріне байланысты:

Сіз IR қашықтан басқару пультін тікелей сенсорға бағыттамайсыз

Бұл сіз бұрын қабылдамаған және әдетте сізде бар кодтардың ұзындығына сәйкес келмейтін кейбір жаңа кодтардың (негізінен ұзағырақ кодтардың) болуына әкеледі. Сондықтан қашықтан басқару құралын сенсорға бағыттауды ұмытпаңыз.

Сіз арзан IR қашықтан басқару пультін қолданасыз (мен осы оқулықта қолданған сияқты)

Болжамайтын арзан қашықтан басқару құралын пайдаланудың орнына, сіз теледидарды немесе DVD ойнатқышты қашықтан басқару пультін немесе кез келген құрылғыдағы ИҚ пультін қолдана отырып, сол сценарийді қолданып көре аласыз. Олар әдетте сигналдың/аппараттық құралдардың жақсы сапасына ие (және, әрине, қымбатырақ) және менің тәжірибеме сүйене отырып, олар қашықтан басқару пультін сенсорға бағыттамағанның өзінде жақсы жұмыс істейді.

Тіркелген код қоқыс емес екенін қалай білуге болады

Кодтар әдетте он алтылық форматта беріледі. Егер сіз оларды сәйкес бинарлық мәнге түрлендірсеңіз, онда соңғы байттың екілік бейнесі байтты жоққа шығару екенін көрсетеді. Егер сіз мұны білсеңіз, сіз алған кодтың жарамды екеніне көз жеткізу үшін кодты тексере аласыз. Мысал ретінде, егер сізде FF7A85 болса, оның екілік бейнесі төмендегідей болады:

1111 1111 0111 1010 1000 0101

Солдан оңға қарай 4 цифрдан тұратын әр партия бастапқы он алтылық сандағы таңбаны білдіреді. Көріп отырғаныңыздай, 7 -ге сәйкес келетін партия - 0111, ал 8 -ге сәйкес келетін пакет - 1000, бұл оны жоққа шығару. Бас тарту арқылы мен 0 -дің барлығы 1 -ге тең болады, ал барлық 1 -ді 0 -ге ауыстырады. Бұл келесіге қатысты: A (1010) және 5 (0101).

8 -қадам: Әрі қарай не істеу керек?

Енді сіздің кезегіңіз. Қолыңыздағы осы кішкентай сенсормен не істеуге болатынын көру сіздің қиялыңызға байланысты. Міне, бастау үшін бірнеше идеялар:

  • Үйдегі құрылғылардың бірінің (теледидар, стерео және т.б.) IR қашықтан басқару пультін қолданыңыз және оны Arduino жобасында қолдануға тырысыңыз.
  • Барлық светодиодтарды пернені басу арқылы бірден қосуға тырысыңыз, содан кейін басқа пернені қолданып өшіріңіз
  • Светодиодтардың барлығын қосқанша/өшіргенше, оларды бірінен кейін бірін қосу/өшіру үшін қашықтан басқару пультінің Жоғары/Төмен түймесін пайдаланыңыз
  • Жарықдиодты қолданып бағдаршам жасаңыз және оны пульттің көмегімен басқарыңыз
  • Егер сіздің қолыңызда тұрақты ток қозғалтқышы бар болса, IR қашықтан басқару пульті арқылы оның айналу бағытын қосуға/тоқтатуға немесе өзгертуге тырысыңыз
  • Теледидардың қашықтан басқару пультін роботты басқаруға немесе ондағы кейбір сенсорларды/жетектерді қосуға/ажыратуға болады

Маған түсініктемелерде айтыңыз, сіз IR қашықтан басқару пульті арқылы не істер едіңіз (немесе сіз қазірдің өзінде жасадыңыз).

Ұсынылған: