Mundarija:

Infraqizil sensorni Arduino bilan ishlatish: 8 qadam (rasmlar bilan)
Infraqizil sensorni Arduino bilan ishlatish: 8 qadam (rasmlar bilan)

Video: Infraqizil sensorni Arduino bilan ishlatish: 8 qadam (rasmlar bilan)

Video: Infraqizil sensorni Arduino bilan ishlatish: 8 qadam (rasmlar bilan)
Video: Использование датчика расстояния Sharp IR GP2Y0A51SK0F с Arduino (от 2 см до 15 см) 2024, Iyun
Anonim
Arduino bilan infraqizil sensordan foydalanish
Arduino bilan infraqizil sensordan foydalanish

Infraqizil (IR) sensori nima?

IQ sensori - bu IQ signallarini standartlar tomonidan aniqlangan ma'lum chastota diapazonlarida skanerlaydigan va ularni chiqish pinidagi (odatda signal pimi deb ataladigan) elektr signallariga o'zgartiradigan elektron asbob. IQ signallari asosan qisqa masofalarda (odatda bir necha metr) havoda buyruqlarni uzatish uchun ishlatiladi, masalan, siz televizorning masofadan boshqarish pultlarida yoki shunga o'xshash boshqa elektron qurilmalarda ishlagansiz.

IR aloqa protokoli

Har bir signal ma'lum bir kodni bildiradi. Elektr signallarini jo'natuvchi yuborgan ma'lumotlarga/kodga qaytarish mumkin. Televizorning masofadan boshqarish pultidagi tugmani bosganingizda, u tugma kodiga mos keladigan signalni chiqaradi (masalan, yoqish/o'chirish, ovoz balandligini ko'tarish va hk) va uni qabul qilgichga yuboradi (bu holda sizning televizoringiz). Yuboruvchi ham, qabul qiluvchi ham kodlar to'plami to'g'risida kelishib oldilar, shunda qabul qiluvchi har bir kod asosida nima qilishni biladi. Kodni modulyatsiya qilish (modellashtirish) usuli signal sifatida har xil standartda belgilanadi va har bir sensor ishlab chiqaruvchisi odatda har xil qurilmalarda ishlatilishi uchun ularga mos mahsulot ishlab chiqarishga harakat qiladi. Eng mashhur standart protokollardan biri NEC. Siz IQ protokollarining qisqacha tarixini Vikipediyada Consumer IR sarlavhasi ostida topishingiz mumkin.

1 -qadam: IQ sensori qanday ko'rinishga ega?

IQ sensori qanday ko'rinishga ega?
IQ sensori qanday ko'rinishga ega?
IQ sensori qanday ko'rinishga ega?
IQ sensori qanday ko'rinishga ega?
IQ sensori qanday ko'rinishga ega?
IQ sensori qanday ko'rinishga ega?

IQ sensorlar turli xil paketlarda mavjud. Bu erda siz IR qabul qilgich uchun odatiy qadoqlarni ko'rishingiz mumkin.

2 -qadam: IQ sensori uzilish taxtasi/moduli

IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli
IQ sensori uzilish taxtasi/moduli

Siz ularni eBay, Aliexpress yoki Amazon -da IR moduli/kesish taxtasi sifatida ham sotib olishingiz mumkin. Bunday modullar odatda yuqorida aytib o'tilgan datchiklardan birini sensorli signalni aniqlaganda yonib turadigan LED bilan birga non paneli uchun qulay paketni o'z ichiga oladi. Shunday qilib, ma'lumotlar uzatilayotganligini sezasiz. Men ushbu modullardan birini boshlashni taklif qilaman.

Eslatma: agar sizda infraqizil infraqizil sensori bo'lsa, hech narsa o'zgarmaydi, faqat sensorning ma'lumotlar jadvalini tekshirib ko'rishingiz kerak, chunki siz uni to'g'ri ulaganingizga ishonch hosil qilishingiz kerak, aks holda sizda hidli go'zal ko'k tutun bo'lishi mumkin. soat. Nima demoqchi ekanligingizni bilaman;)

3 -qadam: Kerakli qismlar va komponentlar

Kerakli qismlar va komponentlar
Kerakli qismlar va komponentlar

Bu erda siz ushbu qo'llanmani to'ldirishingiz kerak bo'lgan komponentlar ro'yxatini topishingiz mumkin:

eBay havolalari:

  • 1 ta Arduino Uno:
  • Masofadan boshqarish pulti bilan 1 ta IQ sensori moduli:
  • 4 x 220 ohmli rezistorlar:
  • 4 x LED:
  • 8 x Dupont kabeli:
  • 1 x lehimsiz non paneli:
  • 1 x Mini non paneli (ixtiyoriy):

Amazon.com havolalari:

  • 1 x Arduino Uno:
  • Masofadan boshqarish pulti bilan 1 ta IQ sensori moduli:
  • 1 x lehimsiz non paneli:
  • 4 x 220 ohmli rezistorlar:
  • 4 x LED:
  • 8 x Dupont kabeli:
  • 1 x Mini non paneli (ixtiyoriy):

4 -qadam: IQ sensorini Arduino -ga ulash

IQ sensorini Arduino -ga ulash
IQ sensorini Arduino -ga ulash
IQ sensorini Arduino -ga ulash
IQ sensorini Arduino -ga ulash
IQ sensorini Arduino -ga ulash
IQ sensorini Arduino -ga ulash

Arduino -ga IQ sensori ulanishini o'rnatish juda oddiy. Sensor VCC va GND pinidan tashqari, Arduino raqamli pinlaridan biriga ulanishi kerak bo'lgan bitta chiqish piniga ega. Bunday holda, u 13 -pin bilan bog'langan.

Men ham IQ sensori modulini, ham IQ sensori xomini o'rnatishga harakat qildim. Rasmlarda ko'rinib turibdiki, sensor modulidagi VCC va GND pinlarining o'rni xom sensorga qarama -qarshi. Sensoringiz bunday bo'lmasligi mumkin, shuning uchun oldingi bosqichda aytib o'tilganidek, xom sensor ishlatilganda, avval ma'lumotlar jadvalini tekshiring.

5 -qadam: Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping

Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping
Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping
Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping
Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping
Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping
Masofadan boshqarish pultidagi har bir kalitga mos keladigan kodni toping

Masofadan boshqarish pultidagi tugmachani bosganingizda Arduino -ni biror narsa qilishini dasturlash uchun avval siz ushbu kalitga mos keladigan kodga ega bo'lishingiz kerak. Kalit kod odatda o'n oltilik sifatida ko'rsatiladigan raqamdir. Har bir masofadan boshqarish pultining o'ziga xos kalit kodlari bor, lekin ikkita boshqaruvchi bir xil kodni har xil maqsadlarda ishlatishi mumkin. Har xil chastota diapazonlarini ishlatish bilan bir qatorda, har xil kalit kodlari bo'lishi, har xil qurilmalarning ikkita masofadan boshqarish pultiga hech qanday shovqin bo'lmasligini ta'minlaydi. Shuning uchun siz telekanalni o'zgartirganda, DVD pleeringiz umuman javob bermaydi.

IR masofadan boshqarish pultining kodlarini aniqlash uchun siz avval tugmachani bosganingizda kodni sensordan o'qishga harakat qiladigan va uni ketma -ket port orqali kompyuteringizga yuboradigan, uni Serial Monitor asboblari yordamida kirishingiz mumkin bo'lgan oddiy eskizni ishga tushirishingiz kerak. Arduino IDE. Bu bo'limga biriktirilgan eskiz shunday qiladi. Kodni ko'rish uchun har bir tugmani bosish va kodlar ro'yxatini biror joyga yozib qo'yish yaxshiroq bo'lardi, shunda kelajakda bu kodni qayta ishga tushirish kerak bo'lmaydi. Siz rasmda jadval sifatida ko'rayotgan kalit kodlar ro'yxati, aslida, men arzon IR masofadan boshqarish pultidagi tugmachalarni bosganimda olgan kodlardir.

Siz shuningdek, mening Arduino veb-tahrirlovchisida ulangan haqiqiy manba kodiga ir-key-code-logger-ga kirishingiz mumkin.

Eslatma: Agar siz biron bir joyda FFFFFF kabi kodni ko'rsangiz qo'rqmang. Bu shuni anglatadiki, siz tugmani bir muddat bosib turasiz. Keyinroq bunga qaytamiz. Hozircha ularga e'tibor bermang va boshqa kodlarga e'tibor qarating.

6 -qadam: IR masofadan boshqarish pultidan foydalanib, LEDlar to'plamini boshqaring

IR masofadan boshqarish pulti yordamida LEDlar to'plamini boshqaring
IR masofadan boshqarish pulti yordamida LEDlar to'plamini boshqaring
IR masofadan boshqarish pultidan foydalanib, LEDlar to'plamini boshqaring
IR masofadan boshqarish pultidan foydalanib, LEDlar to'plamini boshqaring
IR masofadan boshqarish pulti yordamida LEDlar to'plamini boshqaring
IR masofadan boshqarish pulti yordamida LEDlar to'plamini boshqaring

Endi bizda har bir tugmachaning kodi bor, ulardan foydalanish usullariga e'tibor qaratish vaqti keldi. Odatda siz IR masofadan boshqarish pulti yordamida Arduino -ga chiroqni yoqish yoki o'chirish, robotni ma'lum yo'nalishda harakatlantirish, LCD/OLED ekranida biror narsa ko'rsatish kabi buyruqlar yuborasiz. har xil rangdagi 4 ta LEDdan tashkil topgan sxema. Biz ularning har birini IR masofadan boshqarish pultining maxsus tugmasi yordamida yoqishni yoki o'chirishni xohlaymiz. Sxemada ko'rib turganingizdek, Arduino -ni LED va sensorga quyidagicha ulashingiz kerak:

Arduino GND -> IR sensori GND.

Arduino VCC -> VCC IQ sensori.

Arduino 13 -> IQ sensori signalining chiqishi.

Arduino 2 -> Moviy LED anod (ko'k LEDning qisqichi)

Arduino 3 -> Yashil LEDli anod (yashil LEDning qisqichi)

Arduino 4 -> Sariq LEDli anod (sariq LEDning qisqichi)

Arduino 5 -> Qizil LEDli anod (qizil LEDning qisqichi)

Arduino GND -> 220 ohmli rezistor orqali barcha LEDlarning katodi (LEDlarning uzunroq pimi)

Siz ushbu zanjirga mos keladigan kodni biriktirilgan faylda yoki mening Arduino veb-muharririda ir-led-control orqali topishingiz mumkin.

7 -qadam: Muammolarni bartaraf etish

Loyihani tuzayotganda va qadamlarni bajarayotganda siz juda g'alati holatlarga duch kelishingiz mumkin. Bu erda IQ sensori bilan ishlashda tez -tez uchraydigan xatolar ro'yxati keltirilgan.

Tugma bosilganda FFFFFF olish

Tugmani bosganingizda, u ko'pincha FFFFFF kabi kodni bildirishini ko'rishingiz mumkin. Bu tugmani bosib, uni bir muddat, hatto qisqa vaqt ushlab turganda sodir bo'ladi. Ssenariy shundan iboratki, siz tugmani dastlab bosganingizda, IR masofadan boshqarish pulti tugma kodini yuboradi va tugmani bosib tursangiz, u FFFFFF yuborilishini takrorlaydi, demak foydalanuvchi yaqinda xabar qilingan tugmani bosadi. Bu yaxshi bo'lardi. Siz shunchaki ularni o'tkazib yuborishingiz mumkin. Haqiqiy kod Serial monitorda FFFFFFdan oldin siz olgan koddir.

IQ sensori hech qanday munosabat bildirmaydi va u isib ketayotgandek

Quvvatni kesing !!! Agar siz kalit kod yozuvchi eskizining to'g'riligiga ishonchingiz komil bo'lsa, muammo simlarning noto'g'ri sozlanishi bo'lishi mumkin. Men bilan sodir bo'lgan stsenariy shundan iboratki, men IR moduli uchun (taxtaga biriktirilgan) VCC va GND ni teskari yo'nalishda uladim (ulanish simlarim uchun to'g'ri rang ishlatilmagani uchun). Shunday qilib, sensor komponenti yondi va yaxshi ko'k tutun ko'tarildi. Men xom IR sensorlar to'plamini sotib oldim va uni almashtirishga harakat qildim, endi u joziba kabi ishlaydi:). Afsuski, men IR infraqizil sensori bilan sinab ko'rganimda ham xuddi shu xatoni qildim va bu safar sensori qizib ketganidan boshqa narsa sodir bo'lmadi. Shunday qilib, quvvatni yoqishdan oldin har doim sxemani tekshiring!

Ba'zida sensor men ilgari ko'rmagan kodni aniqlaydi

Bu eng keng tarqalgan muammolardan biridir. Bu, ehtimol, quyidagi sabablardan biriga bog'liq:

Siz IR masofadan boshqarish pultini to'g'ridan -to'g'ri sensorga qaratmaysiz

Bu siz ilgari hech qachon olmagan va odatda sizda mavjud bo'lgan kodlarning uzunligiga mos kelmaydigan yangi kodlar (asosan uzunroq kodlar) ga olib keladi. Shunday qilib, har doim masofadan boshqarish pultini sensori tomon yo'naltirishni unutmang.

Siz arzon IR masofadan boshqarish pultidan foydalanayapsiz (men bu qo'llanmada ishlatgandek)

Siz oldindan aytib bo'lmaydigan arzon masofadan boshqarish pultlarini ishlatishning o'rniga, xuddi shu stsenariyni televizoringiz yoki DVD pleeringizdagi masofadan boshqarish pulti yoki sizda mavjud bo'lgan qurilmalarning IQ masofadan boshqarish pultidan foydalanib sinab ko'rishingiz mumkin. Odatda ular yaxshi signal/apparat sifatiga ega (va, albatta, qimmatroq) va mening tajribamga asoslanib, pultni to'g'ridan -to'g'ri sensorga yo'naltirmasangiz ham, ular odatda yaxshi ishlaydi.

Qayd qilingan kod axlat emasligini qanday bilsam bo'ladi

Kodlar odatda o'n oltilik formatda taqdim etiladi. Agar siz ularni mos keladigan ikkilik qiymatga aylantirsangiz, oxirgi baytning ikkilik tasviri baytni inkor etishidan oldin keladi. Agar siz buni bilsangiz, siz olgan kod haqiqiy yoki yo'qligini tekshirish uchun kodingizni tekshirishingiz mumkin. Misol sifatida, agar sizda FF7A85 bo'lsa, uning ikkilik ko'rinishi quyidagicha bo'ladi:

1111 1111 0111 1010 1000 0101

Chapdan o'ngga, 4 ta raqamdan iborat har bir partiya dastlabki o'n oltilik raqamdagi belgini ifodalaydi. Ko'rib turganingizdek, 7 ga mos keladigan to'plam 0111 va 8 ga mos keladigan to'plam 1000 ni tashkil etadi, bu uning to'liq rad etishidir. Rad etish bilan aytmoqchimanki, barcha 0lar 1s bo'ladi va hamma 1lar 0lar bilan almashtiriladi. Xuddi shu narsa A (1010) va 5 (0101) raqamlari uchun ham amal qiladi.

8 -qadam: Keyin nima qilish kerak?

Endi sizning navbatingiz. Qo'lingizdagi bu oddiy sensor bilan nima qila olishingizni o'zingiz tasavvur qilishingiz kerak. Bu erda boshlash kerak bo'lgan ba'zi fikrlar:

  • Uydagi qurilmalardan birining (televizor, stereo va boshqalar) IR masofadan boshqarish pultidan foydalaning va uni Arduino loyihangizda ishlatishga harakat qiling.
  • Bir vaqtning o'zida tugmachani bosib barcha LEDlarni yoqishga harakat qiling va keyin boshqa tugma yordamida o'chiring
  • LEDlarni birma -bir yoqish/o'chirish uchun masofadan boshqarish pultining yuqoriga/pastga tugmasidan foydalaning
  • LEDlar yordamida svetofor yarating va uni masofadan boshqarish pulti yordamida boshqaring
  • Agar sizda kichik shahar dvigateli bo'lsa, IR masofadan boshqarish pulti orqali uning aylanish yo'nalishini ishga tushirishga/to'xtatishga yoki o'zgartirishga harakat qiling
  • Siz televizorni masofadan boshqarish pulti yordamida robotni boshqarishingiz yoki undagi ba'zi sensorlar/aktuatorlarni yoqishingiz/o'chirishingiz mumkin

Izohlar haqida menga xabar bering, IR masofadan boshqarish pulti yordamida nima qilardingiz (yoki siz allaqachon qilgansiz).

Tavsiya: