Mundarija:
- 1 -qadam: Resurslar
- 2 -qadam: Infraqizil algılamanın qanday ishlashini tushunish (ixtiyoriy)
- 3 -qadam: IQ LEDlarini yig'ish
- 4 -qadam: Infraqizil juftlarni sinab ko'rish - O'chirish
- 5 -qadam: Infraqizil juftlarni sinovdan o'tkazish - asosiy kod
- 6 -qadam: Infraqizil juftlarni sinovdan o'tkazish - Uskuna + dasturiy ta'minot
- 7-qadam: Muammolarni bartaraf etish (oxirgi qadam bilan bog'liq muammolar uchun)
- 8 -qadam: Ikkinchi IR juftligi
- 9 -qadam: Infraqizil shovqinlarni aniqlash (ixtiyoriy)
- 10 -qadam: Ko'proq IR juftlarini qo'shish
- 11 -qadam: beshta IR juftligi - davr
- 12 -qadam: beshta IR juftligi - kod
Video: Infraqizil detektorli Boe-Bot: 12 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Bu ko'rsatma to'siqlardan qochish uchun infraqizil detektor yordamida labirintni boshqaradigan Boe-Botni qanday qurish va kodlashni ko'rsatib beradi. Bu sizning ehtiyojlaringizga mos keladigan o'zgartirishlarni osonlik bilan bajarishga imkon beradigan qo'llanma. Buning uchun sxemalar va dasturlash haqida asosiy tushuncha kerak. Ushbu loyiha uchun siz BASIC Stamp IDE dasturiga ega bo'lishingiz kerak bo'ladi. Bu erda bepul yuklab olish. Boe-Bot roboti kabi
1 -qadam: Resurslar
Elektron komponentlar
Boe -Bot ulagich kabeli bilan Parallax Store - BoeBot Kit
5 Infraqizil LEDning Parallax do'koni - IQ uzatuvchi yig'ish to'plami
5 ta infraqizil qalqonni yig'ish
5 ta infraqizil detektor Parallax do'koni - BoeBot IQ qabul qiluvchisi
Rezistorlar
- (2) 4,7 kΩ ABRA Electronics - 4,7 kΩ
- (5) 220 Ω ABRA Electronics - 220 Ω
- (2) 1 kΩ ABRA Electronics - 1 kΩ
- (5) 2 k ABRA Electronics - 2 kΩ
ABRA Electronics -ning turli xil simlari - 22 o'lchagichli sim
3 LEDli ABRA Electronics - 5 mm qizil LED
Qo'llab -quvvatlash
Kompyuter
BASIC muhri muharriri - (bepul dasturiy ta'minot)
Asboblar
Tel kesuvchi ABRA Electronics - sim kesuvchi (ixtiyoriy)
Tel -stripper ABRA Electronics - simlarni tortuvchi
Boshqa
Devorlar (labirint qurish uchun)
2 -qadam: Infraqizil algılamanın qanday ishlashini tushunish (ixtiyoriy)
Infraqizil faralar
Biz Boe-Botda quradigan infraqizil ob'ektlarni aniqlash tizimi ko'p jihatdan avtomobilning faralariga o'xshaydi. Agar mashina faralaridagi yorug'lik to'siqlarni aks ettirsa, sizning ko'zingiz to'siqlarni aniqlaydi va miyangiz ularni qayta ishlaydi va tanangizni mos ravishda mashinaga yo'naltiradi. Boe-Bot faralar uchun infraqizil LEDlardan foydalanadi. Ular infraqizil nurlar chiqaradi va ba'zi hollarda infraqizil ob'ektlarni aks ettiradi va Boe-Bot yo'nalishi bo'yicha orqaga qaytadi. Boe-Botning ko'zlari-infraqizil detektorlar. Infraqizil detektorlari ob'ektdan aks ettirilgan infraqizilni aniqlayaptimi yoki yo'qligini ko'rsatuvchi signallarni yuboradi. Boe-Botning miyasi, BASIC shtampi, sensorlar kiritgan ma'lumotlarga asoslanib, qaror qabul qiladi va servo dvigatellarni boshqaradi. 7-1-rasm IQ faralari yordamida ob'ektni aniqlash IQ detektorlari ichki fotodiod sensori yordamida aniqlamoqchi bo'lgan 980 nm infraqizil nurdan tashqari juda kam yorug'likka ruxsat beruvchi o'rnatilgan optik filtrlarga ega. Infraqizil detektorda elektron filtr ham mavjud bo'lib, u faqat 38,5 kHz atrofida signallarni o'tkazishga imkon beradi. Boshqacha aytganda, detektor faqat sekundiga 38,500 marta yonib -o'chadigan infraqizilni qidiradi. Bu quyosh nuri va ichki yoritish kabi umumiy manbalardan IQ aralashuvining oldini oladi. Quyosh nuri - bu DC aralashuvi (0 Gts) va ichki yoritish mintaqadagi asosiy quvvat manbaiga qarab 100 yoki 120 Gts chastotada yonadi va o'chadi. 120 Gts chastotali elektron filtrning 38,5 kHz chastotali chastotasi tashqarisida bo'lgani uchun, IQ detektorlari tomonidan umuman e'tiborga olinmaydi.
-Paralax talabalar uchun qo'llanma
3 -qadam: IQ LEDlarini yig'ish
IQ LEDini korpusning katta qismiga joylashtiring
LEDning aniq qismini korpusining kichikroq qismi bilan o'rab oling
4 -qadam: Infraqizil juftlarni sinab ko'rish - O'chirish
Biz hech narsaga chuqurroq kirishimizdan oldin, biz IQ juftligining ishlashini tekshiramiz (bitta infraqizil LED va bitta infraqizil detektor).
Yuqoridagi sxemani Boe-Botning tepasiga o'rnatilgan non panelida qurishdan boshlang
5 -qadam: Infraqizil juftlarni sinovdan o'tkazish - asosiy kod
Albatta, biz IR juftlarimiz ishlashi uchun kod yozishimiz kerak bo'ladi
Buning uchun FREQOUT buyrug'i ishlatiladi. Bu buyruq ovozli ohanglar uchun mo'ljallangan, biroq infraqizil diapazonda chastotalarni ishlab chiqarish uchun ishlatilishi mumkin. Ushbu test uchun biz buyruqni ishlatamiz:
FREQOUT 8, 1, 38500
bu 38,5 kHz chastotani 1 ms davom etadigan P8 ga yuboradi. P8 ga ulangan infraqizil LED sxemasi bu chastotani uzatadi. Agar infraqizil nur Boe-Botga o'z yo'lidagi ob'ekt tomonidan qaytarilsa, infraqizil detektori BASIC shtampiga signalni yuborib, aks ettirilgan infraqizil nur aniqlanganligini bildiradi.
IR juftligini ishlashning kaliti 38,5 kHz chastotali 1 msni yuborish va darhol IR detektorining chiqishini o'zgaruvchiga saqlashdir.
Bu misolda IR Detector qiymatining irDectectLeft nomli bit o'zgaruvchisida saqlanishi ko'rsatilgan
FREQOUT 8, 1, 38500
irDetectLeft = IN9
IQ signalining balandligi ko'rinmasa, IQ detektori chiqish holati. IQ detektori 38500 Gts chastotali harmonikani ob'ekt tomonidan aks ettirilganini ko'rganda, uning chiqishi past bo'ladi. IQ detektorining chiqishi FREQOUT buyrug'i harmonikani yuborganidan keyin millisekundning bir qismi uchun past darajada qoladi, shuning uchun FREQOUT buyrug'ini yuborganingizdan so'ng, IR detektorining chiqishini o'zgaruvchida saqlash juda muhimdir. O'zgaruvchi tomonidan saqlangan qiymat disk raskadrovka terminalida ko'rsatilishi yoki Boe-Bot tomonidan navigatsiya qarorlari uchun ishlatilishi mumkin.
6 -qadam: Infraqizil juftlarni sinovdan o'tkazish - Uskuna + dasturiy ta'minot
Endi siz asoslarni bilasiz, biz uskunani va dasturiy ta'minotni birlashtirib, bir juftni sinab ko'rishimiz va IR Pair aniqlagan narsadan real vaqtda fikr olishimiz mumkin.
Siz kodni o'zingiz sinab ko'rishingiz yoki quyidagi kodni ishlatishingiz mumkin
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP.
- Boe-Botni ketma-ket kabelga ulangan holda qoldiring, chunki siz IR juftligini sinab ko'rish uchun DEBUG terminalidan foydalanasiz.
- Qo'lingiz yoki qog'oz varag'i kabi ob'ektni chap IR juftligidan bir dyuym masofada joylashtiring
- IQ juftligi oldiga ob'ekt qo'yganingizda, Debug Terminalida 0 ko'rsatiladi va ob'ektni IQ juftligidan olib tashlasangiz, u 1 ni ko'rsatadi.
- Agar disk raskadrovka terminali kutilgan qiymatlarni ko'rsatmasa, muammoni hal qilish bosqichidagi qadamlarni ko'ring.
7-qadam: Muammolarni bartaraf etish (oxirgi qadam bilan bog'liq muammolar uchun)
Debug terminali kutilmagan qiymatlarni ko'rsatadi
Qisqa kontaktlar, noto'g'ri joylashtirilgan yoki etishmayotgan ulagichlar, shikastlangan komponentlar, noto'g'ri rezistorlar yoki boshqa ko'rinadigan muammolarni tekshiring
Dasturni mantiqiy yoki sintaksik xatolardan tekshiring - Agar siz oxirgi bosqichda o'z kodingizdan foydalansangiz, berilgan kodni ishlatishni o'ylab ko'ring
Boe-Bot oldida hech qanday ob'ekt bo'lmasa ham, har doim 0 olinadi
Yaqin atrofda infraqizil signalni aks ettiruvchi ob'ektlar mavjudligini tekshiring. Boe-Bot oldidagi stol bunga sabab bo'lishi mumkin. Boe-Botni ochiq maydonga o'tkazing, shunda IQ LED va detektor yaqin atrofdagi ob'ektni aks ettira olmaydi.
O'qish ko'pincha Boe-Bot oldida hech qanday ob'ekt bo'lmaganida, lekin vaqti-vaqti bilan 0 ga miltillaydi.
Yaqin atrofdagi lyuminestsent nurdan shovqin bo'lishi mumkin; Yaqin atrofdagi lyuminestsent chiroqlarni o'chiring va testlarni takrorlang. Agar muammo davom etsa, 9 -qadam muammoni ochib berishi mumkin
8 -qadam: Ikkinchi IR juftligi
Endi sizda chap infraqizil uchun dastur bor, sizning davrangiz sxemani tuzish va to'g'ri IR juftligini dasturlash
- To'g'ri IR juftligiga murojaat qilish uchun DEBUG bayonotini, sarlavhasini va sharhlarini o'zgartiring.
- IrDetectLeft -dan irDetectRight -ga o'zgaruvchining nomini o'zgartiring. Siz buni dasturning to'rtta joyida qilishingiz kerak bo'ladi.
- FREQOUT buyrug'ining Pin argumentini 8 dan 2 gacha o'zgartiring.
- IrDetectRight o'zgaruvchisi tomonidan nazorat qilinadigan kirish registrini IN9 dan IN0 ga o'zgartiring.
- To'g'ri IR juftligi uchun ushbu faoliyatda test bosqichlarini takrorlang; P2 ga ulangan IR LED sxemasi va P0 ga ulangan detektor bilan.
9 -qadam: Infraqizil shovqinlarni aniqlash (ixtiyoriy)
Siz aniqlanmasligi kerak bo'lgan signallarni aniqlash bilan bog'liq muammolarga duch keldingizmi yoki siz IR -ni boshqa joyda ko'rsatishni rejalashtirdingizmi, shovqinni tekshirib ko'rishingiz mumkin.
Ushbu test dasturining kontseptsiyasi juda oddiy, siz infraqizil signallarni hech qanday uzatmasdan aniqlaysiz.
Siz aynan bir xil sxemadan foydalanishingiz mumkin, lekin siz kodni o'zgartirishingiz kerak bo'ladi. Siz o'z kodingizni yozishni tanlashingiz mumkin, lekin quyida keltirilgan koddan foydalanishingiz mumkin:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IN9 = 0 YOKI IN0 = 0 BOSHLANISHI "Shovqin aniqlandi" 100 LOOP PAUSE.
Agar siz shovqinlarga duch kelsangiz, ehtimol manbani aniqlang, uni o'chiring/o'chiring yoki Boe-Bot ishlaydigan joyingizni o'zgartiring.
10 -qadam: Ko'proq IR juftlarini qo'shish
Agar siz Boe-Botingizning harakatini aniqroq qilishni xohlasangiz, ko'proq IR-juftlarni qo'shishingiz mumkin. 3 ikkiga nisbatan ishlashni sezilarli darajada yaxshilaydi; siz to'g'ridan -to'g'ri to'siqni qidirish uchun markaziy juftlikdan foydalanishingiz mumkin va qancha burilish kerakligini aniqlash uchun ikkita yon IR -dan foydalanishingiz mumkin. Biroq, 3 ta IQ juftlik dizaynining qulashi shundaki, siz devorga siljiyotganingizda bilishingiz mumkin, chunki markaziy IR juftligi to'siqlarni aniqlash uchun ishlatiladi. Ushbu muammoni hal qilish uchun siz har bir tomonga yuqori qarshilik qiymatiga ega bo'lgan IQ juftini qo'shishingiz mumkin va shuning uchun infraqizil signal faqat Boe-Bot yon tomonga yoki devorga yumshoq burchak ostida joylashganida aniqlanadi.
11 -qadam: beshta IR juftligi - davr
Ikkita IQ LEDni yon tomonga yo'naltirishda ehtiyot bo'ling, chunki ularni burish simlarning tegishiga va qisqa tutashuvga olib kelishi mumkin.
12 -qadam: beshta IR juftligi - kod
Siz ushbu kodni ishlatishdan oldin Boe-Bot dasturlashni sinab ko'rishingiz mumkin:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Beshta IR -juftlikni ajratish kodi' Metyu Shou '2019 yil 8 -may (7 -versiya)' Ob'ektlarni aniqlash va labirintlarni echish uchun asosiy mantiqiy ishlov berish.
irDetectLeft VAR bitining chap tomonidagi o'zgaruvchisi
irDetectCentre VAR biti markaz uchun o'zgaruvchidir irDetectRight VAR biti o'ng uchun o'zgaruvchan irDetectLSide VAR biti chap tomoni uchun o'zgaruvchan irDetectRSide VAR bit
mLoop VAR Word
Lmotor PIN 15 'Chap dvigatel 14 -pinga ulangan, bu erda impulslar o'tadi
Rmotor PIN 14 'o'ng = 15
tezligi-> 650-750-850
LFast CON 850 'To'liq tezlikda chap dvigatel uchun konstanta RFast CON 650' O'ng dvigatel uchun to'liq tezlikda konstant
LStop CON 750 'Chap dvigatel uchun to'liq tezlikda doimiy
RStop CON 650 'O'ng dvigatel uchun to'liq tezlikda doimiy
LMid CON 830 'O'rta tezlikda chap dvigatel uchun doimiy
RMid CON 700 'O'rtacha tezlikda o'ng dvigatel uchun doimiy
LSlow CON 770 'Chap dvigatel uchun minimal tezlikda doimiy
RSlow CON 730 'Minimal tezlikda o'ng dvigatel uchun doimiy
LRev CON 650 'Chap dvigatel uchun teskari to'liq tezlikda
RRev CON 850 'Chap dvigatel uchun teskari yo'nalishda to'liq tezlikda
FREQOUT 7, 1, 38500 'chap tomonda
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'markazi
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'o'ng tomonda
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Chap yopish
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'o'ng Yopish
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'o'ng tomonda
irDetectRSideFar = IN0
Agar irDetectLSide = 0 VA irDetectRSide = 0 BOShQA asosiy "STARTING COMMAND" dasturini ishga tushirish uchun qo'llaringizni ikki yon detektor yonidan siljiting.
Asosiy:
PAUSE 1000 DO
PULSOUT Lmotor, LFastning chap dvigateli to'liq tezlikda ishlaydi
PULSOUT Rmotor, RFast o'ng mexanizmi to'liq tezlikda ishlaydi
FREQOUT 6, 1, 38500 'markazi
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Chap yopish
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'o'ng tomonda
irDetectRSide = IN0
IF irDetectLSide = 0 VA irDetectRSide = 1 KEYIN
Lmotor, LFast -ni tortib oling
FREQOUT 6, 1, 38500 'markazi
irDetectCentre = IN5 IF irDetectCentre = 0 SON foiz
FREQOUT 10, 1, 38500 'Chap yopish
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'o'ng tomonda
irDetectRight = IN2
IrDetectLSide = 1 OR irDetectRSide = 0 gacha bo'lgan davr
ELSEIF irDetectLSide = 1 VA irDetectRSide = 0 KEYIN
Rmotor, RFast -ni tortib oling
FREQOUT 6, 1, 38500 'markazi
irDetectCentre = IN5 IF irDetectCentre = 0 SON foiz
FREQOUT 10, 1, 38500 'Chap yopish
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'o'ng tomonda
irDetectRight = IN2
IrDetectLSide = 0 yoki irDetectRSide = 1 gacha bo'lgan davr
ENDIF
Agar irDetectCentre = 0 BOSHLASH
FREQOUT 7, 1, 38500 'chap tomoni irDetectLeft = IN8
FREQOUT 6, 1, 38500 'markazi
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
Aniqlangan signalni ko'rsatish uchun PAUSE 1000 'pauzasi
IF (irDetectLeft = 1 VA irDetectRight = 0) SONRA vaqtni baholang
GOSUB chapga burilish
ELSEIF (irDetectLeft = 0 VA irDetectRight = 1) Keyin
GOSUB turnRight
ELSEIF (irDetectLeft = 1 VA irDetectRight = 1) Keyin
GOSUB turnDecide qaror qabul qiling
BOShQA
GOSUB -ni teskari aylantirish
ENDIF
ENDIF 'END
Loop
OXIRI
Chapga buriling:
LMotor PULSOUT, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 INO = 1 QAYTISH.
O'ng tomonga buriling:
Rmotorni tortib oling, RRevni takrorlang 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 IN9 = 1 gacha.
Qaytish
teskari aylantirish:
MLoop uchun = 0 dan 50 gacha Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 1, 38 FREQO 5, 38500 irDetectRight = IN0 IN9 = 1 gacha
Qaytish
turnDecide: 'yanada ko'rish uchun pastroq qarshilikdan foydalanadi
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'o'ng tomonda
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 VA irDetectRSideFar = 0) SONRA vaqtni baholang
GOSUB chapga burilish
ELSEIF (irDetectLSideFar = 0 VA irDetectRSideFar = 1) Keyin
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 VA irDetectRSideFar = 1) Keyin
GOSUB chapga burilish
BOShQA
GOSUB -ni teskari aylantirish
ENDIF
Qaytish
Tavsiya:
Infraqizil boshqariladigan MP3 pleer: 6 qadam (rasmlar bilan)
Infraqizil boshqariladigan MP3 pleer: taxminan 10 dollarga infraqizil masofadan boshqaruvchi MP3 pleer yarating. U odatiy xususiyatlarga ega: ijro etish, pauza qilish, keyingi yoki oldingi, bitta qo'shiqni yoki barcha qo'shiqlarni ijro etish. Bundan tashqari, ekvalayzer o'zgarishlari va ovozni boshqarish mavjud. Hammasi r orqali boshqariladi
Infraqizil sensorni Arduino bilan ishlatish: 8 qadam (rasmlar bilan)
Infraqizil sensorni Arduino bilan ishlatish: Infraqizil (IR) sensori nima? IQ sensori - standartlar bilan belgilangan ma'lum chastota diapazonlarida IQ signallarini skanerlaydigan va ularni chiqish pinidagi (odatda signal pimi deb ataladigan) elektr signallariga o'zgartiradigan elektron asbob. . IQ signal
Arduino lazerli infraqizil termometr: 7 qadam (rasmlar bilan)
Arduino lazerli infraqizil termometr: Ushbu loyihada men sizga 3D bosilgan maxsus korpusli raqamli lazerli infraqizil termometrni qanday qurishni ko'rsataman
Arduino infraqizil termometrli qurol MDF qutisi: 4 qadam (rasmlar bilan)
Arduino infraqizil termometrli qurol MDF qutisi: Ushbu loyiha Arduino yordamida infraqizil termometrni ishlab chiqarishga mo'ljallangan bo'lib, sxemasi MDF qutisiga joylashtirilgan bo'lib, bozorda tibbiy infraqizil termometrga o'xshaydi. Sensorli infraqizil termometr GY-906 ob'ekt haroratini kontaktsiz o'lchash uchun ishlatiladi, bu mumkin
Sensorli LED chiroq (9v, yorug'lik / qorong'i detektorli video bilan): 5 qadam
Sensorli LED chiroq (9v, yorug'lik / qorong'i detektorli video): Bu ko'rsatma yorug'lik / qorong'i sensori bilan LED chirog'ini yasash haqida. u qorong'i tushganda avtomatik ravishda yoqiladi va kunduzi o'chadi