Mündəricat:

Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)

Video: Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)

Video: Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
Video: Elektronik cihazları smartfonunuzla idarə edin - Smart IR Remote | Tech-Tips #22 2024, Iyun
Anonim
Arduino ilə İnfraqırmızı Sensorun İstifadəsi
Arduino ilə İnfraqırmızı Sensorun İstifadəsi

İnfraqırmızı sensoru (aka IR) nədir?

IR sensoru, standartlar tərəfindən müəyyən edilmiş müəyyən bir tezlik aralığında İQ siqnallarını tarayan və çıxış pinindəki elektrik siqnallarına çevirən elektron cihazdır (adətən siqnal pimi adlanır). IR siqnalları əsasən televizorun uzaqdan idarəetmə pultlarında və ya digər oxşar elektron cihazlarda işlədiyiniz kimi qısa məsafələrdə (adətən bir neçə metr) əmrləri havadan ötürmək üçün istifadə olunur.

IR rabitə protokolu

Hər bir siqnal müəyyən bir kodu təmsil edir. Elektrik siqnalları, göndərənin göndərdiyi faktiki məlumatlara/koda çevrilə bilər. Televizorunuzun pultundakı bir düyməyə basdığınızda, düymə koduna uyğun bir siqnal yaradır (məsələn, Açma/Kapama, Səsin Yüksəldilməsi və s.) Və alıcıya (bu halda TV) göndərir. Həm göndərən, həm də alıcı bir sıra kodlar üzərində razılığa gəldi ki, alıcı hər bir kod əsasında nə edəcəyini bilsin. Bir siqnalın fərqli bir modulda (modelləşdirilməsinin) yolu fərqli bir standartda müəyyən edilir və hər bir sensor istehsalçısı normal olaraq fərqli cihazlarda istifadə edilməsi üçün onlarla uyğun bir məhsul istehsal etməyə çalışır. Ən məşhur standart protokollardan biri NEC -dir. İQ protokollarının qısa tarixçəsini Vikipediyada İstehlakçı MR başlığı altında tapa bilərsiniz.

Addım 1: IR sensoru necə görünür?

IR sensoru necə görünür?
IR sensoru necə görünür?
IR sensoru necə görünür?
IR sensoru necə görünür?
IR sensoru necə görünür?
IR sensoru necə görünür?

IR sensorlar müxtəlif paketlərdə mövcuddur. Burada IR alıcısı üçün tipik bir qablaşdırma görə bilərsiniz.

Addım 2: IR Sensor Breakout Board/modul

IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul

Onları eBay, Aliexpress və ya Amazon -da IR modulu/kəsmə lövhəsi olaraq da ala bilərsiniz. Bu cür modullar, adətən yuxarıda göstərilən sensorlardan birini, gözəl bir çörək bortu dostu paketi ilə birlikdə, sensor bir siqnal alanda yanıb -sönəcək bir LED -i özündə birləşdirir. Bunu etməklə hər hansı bir məlumatın ötürüldüyünü görəcəksiniz. Bu modullardan birindən başlamağı şiddətlə təklif edirəm.

Qeyd: Xam IR sensoru varsa, heç bir şey dəyişməyəcək, ancaq sensoru düzgün bağladığınızdan əmin olmaq üçün məlumat cədvəlini yoxlamalısınız, çünki əks halda qoxusu olan gözəl mavi tüstü ola bilər. saat Nə demək istədiyimi bilirsən;)

Addım 3: Lazım olan hissələr və komponentlər

Lazım olan hissələr və komponentlər
Lazım olan hissələr və komponentlər

Bu təlimatı tamamlamaq üçün lazım olan komponentlərin siyahısını burada tapa bilərsiniz:

eBay bağlantıları:

  • 1 x Arduino Uno:
  • Uzaqdan idarə olunan 1 x IR sensor modulu:
  • 4 x 220 ohm rezistorlar:
  • 4 x LED:
  • 8 x Dupont kabeli:
  • 1 x Lehimsiz çörək taxtası:
  • 1 x Mini çörək taxtası (isteğe bağlı):

Amazon.com bağlantıları:

  • 1 x Arduino Uno:
  • Uzaqdan idarə olunan 1 x IR sensor modulu:
  • 1 x Lehimsiz çörək taxtası:
  • 4 x 220 ohm rezistorlar:
  • 4 x LED:
  • 8 x Dupont kabeli:
  • 1 x Mini çörək taxtası (isteğe bağlı):

Addım 4: IR Sensorunu Arduinoya bağlayın

IR Sensorunu Arduino -ya bağlayın
IR Sensorunu Arduino -ya bağlayın
IR Sensorunu Arduino -ya bağlayın
IR Sensorunu Arduino -ya bağlayın
IR Sensorunu Arduino -ya bağlayın
IR Sensorunu Arduino -ya bağlayın

Arduino ilə IR sensoru bağlantısının qurulması çox sadədir. VCC və GND pininin yanında, sensorun Arduinonun rəqəmsal pinlərindən birinə bağlanmalı olan yalnız bir çıxış pimi var. Bu vəziyyətdə pin 13 -ə bağlanır.

Həm IR sensoru modulunu, həm də xam IR sensoru quruluşunu nümayiş etdirməyə çalışdım. Şəkillərdə göründüyü kimi, sensor modulundakı VCC və GND sancaqlarının mövqeyi xam sensorun əksidir. Ancaq sensorunuzda belə olmaya bilər, buna görə də əvvəlki addımda qeyd edildiyi kimi, xam sensordan istifadə edildikdə əvvəlcə məlumat cədvəlini yoxlayın.

Addım 5: Uzaqdan Hər Açarına Uyğun Kodu Tapın

Uzaqdan Hər Açarına Uyğun Kod tapın
Uzaqdan Hər Açarına Uyğun Kod tapın
Uzaqdan hər bir açara uyğun gələn kodu tapın
Uzaqdan hər bir açara uyğun gələn kodu tapın
Uzaqdan hər bir açara uyğun gələn kodu tapın
Uzaqdan hər bir açara uyğun gələn kodu tapın

Uzaqdan idarəetmə düyməsinə basdığınızda Arduinonun bir şey etməsini proqramlaşdırmaq üçün əvvəlcə həmin düyməyə uyğun olan kod olmalıdır. Açar kodu normal olaraq onaltılıq olaraq təqdim olunan bir rəqəmdir. Hər bir uzaqdan idarəedicinin öz açar kodları dəsti var, iki idarəedicinin eyni kodu fərqli məqsədlər üçün paylaşması mümkündür. Fərqli açar kodlarının olması, fərqli tezlik aralığının istifadəsi, fərqli cihazların iki uzaqdan idarəedicisinin müdaxilə etməməsini təmin edir. Buna görə TV kanalınızı dəyişdirdiyiniz zaman DVD pleyeriniz heç bir reaksiya vermir.

IR uzaqdan idarəetmə sisteminizin kodlarını aşkar etmək üçün əvvəlcə bir düyməyə basıldıqda kodu sensordan oxumağa çalışan və bunu Serial Monitor vasitələrindən istifadə edərək əldə edə biləcəyiniz kompüterə serial portu ilə göndərən sadə bir eskiz hazırlamalısınız. Arduino IDE. Bu hissəyə əlavə edilmiş eskiz bunu edir. Gələcəkdə bu kodu yenidən işlətməyiniz üçün kodu görmək və kodların siyahısını bir yerə yazmaq üçün hər düyməni basmaq daha yaxşı olar. Şəkildə bir cədvəl olaraq gördüyünüz açar kodların siyahısı əslində ucuz IR uzaqdan idarəetmə düymələrimə basarkən aldığım kodlardır.

İrdu-key-logger-də Arduino veb redaktorumda paylaşılan faktiki mənbə koduna da daxil ola bilərsiniz.

Qeyd: Arada bir yerdə FFFFFF kimi bir kod görsəniz qorxmayın. Bir düyməni bir müddət basıb saxlayın deməkdir. Daha sonra buna yenidən qayıdacağıq. Hələlik onlara məhəl qoymayın və digər kodlara diqqət yetirin.

Addım 6: IR Uzaqdan istifadə edərək bir LED dəstini idarə edin

IR Uzaqdan istifadə edərək bir LED dəstini idarə edin
IR Uzaqdan istifadə edərək bir LED dəstini idarə edin
IR Uzaqdan istifadə edərək bir LED dəstini idarə edin
IR Uzaqdan istifadə edərək bir LED dəstini idarə edin
IR Uzaqdan istifadə edərək bir LED dəstini idarə edin
IR Uzaqdan istifadə edərək bir LED dəstini idarə edin

İndi hər bir düymə üçün bir kodumuz var, onlardan istifadə etmə üsulumuza diqqət yetirməyin vaxtı gəldi. Normalda IR uzaqdan istifadə edərək lampanı yandırmaq və ya söndürmək, robotu müəyyən istiqamətdə hərəkət etdirmək, LCD/OLED ekranda bir şey göstərmək və s. müxtəlif rəngli 4 LEDdən ibarət dövrə. IR uzaqdan idarəetmə düyməsinin hər birini açmaq və ya söndürmək istəyirik. Şemada gördüyünüz kimi, Arduino'yu LED və sensora aşağıdakı şəkildə bağlamalısınız:

Arduino GND -> IR sensoru GND.

Arduino VCC -> IR sensoru VCC.

Arduino 13 -> IR sensoru siqnal çıxışı.

Arduino 2 -> Mavi LED anotu (mavi LED -in daha qısa pin)

Arduino 3 -> Yaşıl LED -in anodu (yaşıl LED -in daha qısa pimi)

Arduino 4 -> Sarı LED anodu (sarı LEDin daha qısa pin)

Arduino 5 -> Qırmızı LED anodu (qırmızı LED -in daha qısa pin)

Arduino GND -> 220 ohm rezistor vasitəsilə bütün LED -lərin katotu (LED -lərin daha uzun pimi)

Bu sxemə uyğun kodu əlavə edilmiş faylda və ya ir-led-nəzarətdəki Arduino veb redaktorumda tapa bilərsiniz.

Addım 7: Problemlərin aradan qaldırılması

Layihənizi qurarkən və addımları izləyərkən bir çox qəribə vəziyyətlə qarşılaşa bilərsiniz. IR sensoru ilə işləyərkən əldə edə biləcəyiniz bəzi ümumi səhvlərin siyahısı.

Bir düyməyə basarkən FFFFFF əldə etmək

Bir düyməni basarkən, çox vaxt FFFFFF kimi bir kodu bildirdiyini görə bilərsiniz. Bu, bir düyməni basıb bir müddət, hətta qısa bir müddət saxladığınız zaman olur. Ssenari budur ki, əvvəlcə düyməni basdığınız zaman, IR uzaqdan düymə kodunu göndərir və düyməni basılı tutduğunuz müddətdə FFFFFF göndərilməsini təkrarlayır, bu da istifadəçinin hələ də son vaxtlar bildirdiyi düyməni basdığını göstərir. Yaxşı olardı. Onları sadəcə buraxa bilərsiniz. Əsl kod, Serial Monitorda FFFFFF -dən əvvəl əldə etdiyiniz koddur.

IR Sensor heç bir reaksiya vermir və sanki istiləşir

Gücü kəsin !!! Açar kod yazan eskizinin düzgün olduğuna əminsinizsə, problem tellərinizin düzgün qurulmamasına görə ola bilər. Başıma gələn ssenari, IR modulum üçün (lövhəyə yapışdırılmış) VCC və GND -ni əksinə bağladığım (bağlama tellərim üçün uyğun rənglərdən istifadə etməməyim) idi. Bunu etməklə sensor komponenti yandı və gözəl mavi tüstü qalxdı. Bir paket xam IR sensoru aldım və onu dəyişdirməyə çalışdım və indi bir cazibədarlıq kimi işləyir:). Təəssüf ki, çiy IR sensoru ilə test edərkən eyni səhvi etdim və bu dəfə sensorun istiləşməsindən başqa heç nə baş vermədi. Buna görə gücü açmadan əvvəl həmişə dövrə yoxlayın!

Bəzən sensor əvvəllər görmədiyim kodu aşkarlayır

Bu ən çox yayılmış problemlərdən biridir. Çox güman ki, aşağıdakı səbəblərdən biridir:

İQ pultunuzu birbaşa sensora yönəltmirsiniz

Bu, əvvəllər heç almadığınız və ümumiyyətlə mövcud kodların uzunluğuna uyğun gəlməyən bəzi yeni kodların (daha uzun kodların) olmasına səbəb olacaq. Unutmayın ki, pultu həmişə sensorunuza yönəltməyi unutmayın.

Ucuz bir IR uzaqdan istifadə edirsiniz (bu təlimatda istifadə etdiyim kimi)

Ucuz bir proqnozlaşdırıla bilməyən pultdan istifadə etmək əvəzinə, televizorunuzu və ya DVD pleyerinizi və ya əlinizdə olan hər hansı bir cihazın IR uzaqdan idarə etməsini istifadə edərək eyni ssenarini sınaya bilərsiniz. Normalda yaxşı bir siqnal/aparat keyfiyyətinə malikdirlər (və əlbəttə ki, daha bahalıdır) və təcrübəmə əsaslanaraq, pultunuzu birbaşa sensora yönəltməsəniz də normal işləyirlər.

Daxil olan bir kodun zibil olmadığını necə bilə bilərəm

Kodlar ümumiyyətlə onaltılıq formatda təqdim olunur. Onları müvafiq ikili dəyərə çevirsəniz, son baytın ikili təsvirinin baytın inkar edilməsi olduğunu görürsünüz. Bunu bilirsinizsə, aldığınız kodun əslində etibarlı olub olmadığını yoxlamaq üçün kodunuzu yoxlaya bilərsiniz. Məsələn, FF7A85 -ə sahib olsanız, onun ikili təmsilçiliyi aşağıdakı kimi olacaq:

1111 1111 0111 1010 1000 0101

Soldan sağa, 4 rəqəmdən ibarət hər bir dəstə, orijinal onaltılıq sayında bir xarakterin nümayəndəsidir. Gördüyünüz kimi, 7 -yə uyğun olan dəstə 0111, 8 -ə uyğun toplu isə 1000 -dir ki, bunun tam inkarıdır. İnkar etməklə demək istəyirəm ki, bütün 0 -lar 1s olacaq və bütün 1 -lər də 0 -larla əvəz olunacaq. Eyni şey A (1010) və 5 (0101) olan növbəti biri üçün də keçərlidir.

Addım 8: Bundan sonra nə etməli?

İndi növbə sənindir. Əlinizdəki bu kiçik sensorla nələr edə biləcəyinizi görmək yalnız xəyalınıza bağlıdır. Başlamaq üçün bəzi fikirlər:

  • Evinizdə olan cihazlardan birinin (TV, Stereo və s.) IR uzaqdan idarəetməsini istifadə edin və Arduino layihənizdə istifadə etməyə çalışın.
  • Bir düyməni basaraq bütün LEDləri bir anda açmağa çalışın və sonra başqa bir düyməni istifadə edərək söndürün
  • LED -lərin hamısı açılana/sönənə qədər bir -bir açmaq/açmaq üçün pultun yuxarı/aşağı düyməsini istifadə edin
  • LED -lərdən istifadə edərək svetofor yaradın və pultunuzla idarə edin
  • Əlinizdə kiçik bir DC mühərriki varsa, IR uzaqdan idarəetmə vasitəsi ilə başlamağa/dayandırmağa və ya fırlanma istiqamətini dəyişdirməyə çalışın
  • Robotunuzu idarə etmək və ya üzərindəki bəzi sensorları/aktuatorları işə salmaq/söndürmək üçün televizorunuzun pultundan istifadə edə bilərsiniz

Şərhlərdə mənə bildirin, IR uzaqdan istifadə edərək nə edərdiniz (və ya artıq etmisiniz).

Tövsiyə: