Мазмуну:
- 1 -кадам: Ресурстар
- 2 -кадам: Инфракызыл аныктоо кантип иштээрин түшүнүү (Милдеттүү эмес)
- 3 -кадам: IR LEDлерин чогултуу
- 4 -кадам: Инфракызыл жуптарды тестирлөө - Район
- 5 -кадам: Инфракызыл жуптарды тестирлөө - Негизги код
- 6 -кадам: Инфракызыл жуптарды тестирлөө - Аппараттык + Программалык камсыздоо
- 7-кадам: Кыйынчылыктарды жоюу (Акыркы кадамдагы көйгөйлөр үчүн)
- 8 -кадам: Экинчи IR жуп
- 9 -кадам: Инфракызыл кийлигишүүнү аныктоо (Милдеттүү эмес)
- 10 -кадам: Көбүрөөк IR жуптарын кошуу
- 11 -кадам: Беш IR Pair - Circuit
- 12 -кадам: Беш IR Pair - Code
Video: Бое-бот инфракызыл детекторлор менен: 12 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул көрсөтмө тоскоолдуктарды болтурбоо үчүн инфракызыл детекторлордун жардамы менен лабиринтте чуркай турган Бое-Ботту кантип курууну жана коддоону көрсөтөт. Бул сиздин муктаждыктарыңызга ылайыктуу оңой өзгөртүүгө мүмкүндүк берүүчү ээрчүү оңой. Бул схема жана программалоо боюнча негизги түшүнүктү талап кылат. Бул долбоор үчүн BASIC Stamp IDE программасына ээ болушуңуз керек. Бул жерден жүктөп алуу үчүн бекер. Ошондой эле Boe-Bot роботу
1 -кадам: Ресурстар
Электрондук компоненттер
Boe -Bot туташтыргычы кабели бар Parallax Store - BoeBot Kit
5 Infrared LEDдин Параллакс дүкөнү - IR өткөргүчтөрүн жыйноочу комплект
5 Infrared Shield Assemblies
5 инфракызыл детекторлор Parallax Store - BoeBot IR Receiver
Резисторлор
- (2) 4,7 кΩ ABRA Electronics - 4,7 кОм
- (5) 220 Ω ABRA Electronics - 220 Ω
- (2) 1 kΩ ABRA Electronics - 1 кОм
- (5) 2 k ABRA Electronics - 2 кОм
Ассорти зым ABRA Electronics - 22 Gauge Wire
3 LED'дин ABRA Electronics - 5мм Кызыл LED
Колдоо
Компьютер
Негизги штамп редактору - (Freeware)
Куралдар
Wire Cutter ABRA Electronics - Wire Cutter (Милдеттүү эмес)
Wire Stripper ABRA Electronics - Зымдарды чечүүчү
Башка
Дубалдар (лабиринт куруу үчүн)
2 -кадам: Инфракызыл аныктоо кантип иштээрин түшүнүү (Милдеттүү эмес)
Инфракызыл фаралар
Бое-Ботко кура турган инфракызыл объекттерди аныктоо системасы бир нече жагынан машинанын фараларына окшош. Машинанын фарасынын жарыгы тоскоолдуктарды чагылдырганда, сиздин көзүңүз тоскоолдуктарды аныктайт жана мээңиз аларды иштетип, денеңизди ошого жараша жетектейт. Бое-Бот фаралар үчүн инфракызыл диоддорду колдонот. Алар инфракызыл нурларды чыгарышат, кээ бир учурларда инфракызыл объектилерди чагылдырат жана Бое-Бот багытында кайра секирет. Бое-Боттун көзү-инфракызыл детекторлор. Инфракызыл детекторлор объекттен чагылган инфракызылдын табылганын же жок экенин көрсөткөн сигналдарды жөнөтүшөт. Бое-Боттун мээси, BASIC Stamp, бул сенсордун киришинин негизинде чечим чыгарат жана servo моторлорду иштетет. Сүрөт 7-1 ИР фаралары менен объекттерди аныктоо IR детекторлорунда ички фотодиод сенсору менен аныктагыбыз келген 980 нм инфракызылдан башка өтө аз жарыкка жол берген камтылган оптикалык чыпкалар бар. Инфракызыл детектордо ошондой эле 38,5 кГц тегерегиндеги сигналдарды өткөрүүгө мүмкүндүк берген электрондук чыпкасы бар. Башкача айтканда, детектор секундасына 38, 500 жолу өчүп -күйгөн инфракызылды гана издейт. Бул күн нуру жана ички жарык сыяктуу жалпы булактардан IR кийлигишүүсүн алдын алат. Күндүн нуру DC кийлигишүүсү (0 Гц), ал эми ички жарыктандыруу региондогу негизги энергия булагына жараша 100 же 120 Гцте күйүп -өчөт. 120 Гц электрондук чыпканын 38.5 кГц жыштыктагы чегинен тышкары болгондуктан, аны IR детекторлору толугу менен этибарга албайт.
-Paralax Student Guide
3 -кадам: IR LEDлерин чогултуу
IR LEDди корпустун чоң бөлүгүнө салыңыз
LEDдин ачык бөлүгүн корпустун кичирээк бөлүгү менен жабыңыз
4 -кадам: Инфракызыл жуптарды тестирлөө - Район
Биз эч нерсеге өтө терең киришүүдөн мурун, биз IR түгөйүнүн иштешин текшерүү үчүн сынайбыз (Бир инфракызыл LED жана бир инфракызыл детектор).
Бое-Ботуңуздун үстүнө орнотулган нан тактасында жогорудагы схеманы куруудан баштаңыз
5 -кадам: Инфракызыл жуптарды тестирлөө - Негизги код
Албетте, биз IR түгөйлөрүбүздүн иштеши үчүн код жазышыбыз керек
Бул үчүн FREQOUT буйругун колдонот. Бул буйрук аудио обондор үчүн иштелип чыккан, бирок аны инфракызыл диапазондо жыштыктарды чыгаруу үчүн колдонсо болот. Бул сыноо үчүн биз буйрукту колдонобуз:
FREQOUT 8, 1, 38500
бул P8ге 1 мс созулган 38,5 кГц жыштыгын жөнөтөт. P8ге туташкан инфракызыл LED схемасы бул жыштыкты таратат. Эгерде инфракызыл нур Бое-Ботко жолундагы объект тарабынан кайра чагылдырылса, инфракызыл детектор BASIC маркасына сигналды жиберип, чагылдырылган инфракызыл жарыктын табылганын билдирет.
IR жуп иштешинин ачкычы 38,5 кГц FREQOUT 1 мс жөнөтүү жана IR детекторунун өндүрүшүн дароо өзгөрмөлүү сактоо.
Бул мисал IR Detector маанисин irDectectLeft деп аталган бир аз өзгөрмөсүндө сактоону көрсөтөт
FREQOUT 8, 1, 38500
irDetectLeft = IN9
IR детекторунун чыгуу абалы, ал эч кандай IR сигналын көргөндө. IR детектору объект тарабынан чагылдырылган 38500 Гц гармоникти көргөндө, анын өндүрүмдүүлүгү төмөн. IR детекторунун өндүрүшү FREQOUT командасы гармоникти жөнөткөндөн кийин миллисекундка чейин гана төмөн бойдон калат, андыктан IR детекторунун өндүрүшүн FREQOUT командасын жөнөткөндөн кийин дароо өзгөрмөгө сактоо керек. Өзгөрмө сакталган маани анда мүчүлүштүктөрдү оңдоо терминалында көрсөтүлүшү же Бое-Боттун навигациялык чечимдери үчүн колдонулушу мүмкүн.
6 -кадам: Инфракызыл жуптарды тестирлөө - Аппараттык + Программалык камсыздоо
Эми сиз негиздерди билесиз, биз аппараттык жабдыктарды жана программалык камсыздоону бирге коюп, бир жупту бирге сынап көрө алабыз жана IR Pair аныктап жаткан нерседен реалдуу убакытта жооп ала алабыз.
Сиз кодду өзүңүз жасап көрүңүз же төмөндөгү кодду колдонуңуз
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Бое-Ботту сериялык кабелге туташтырыңыз, анткени сиз IR түгөйүңүздү текшерүү үчүн DEBUG терминалын колдоносуз.
- Колуңуз же кагаз баракчаңыз сыяктуу объектти сол IR жуптан бир дюймдай аралыкта коюңуз
- IR жуптун алдына объектти койгондо, Debug Terminal 0ди көрсөтөөрүн текшериңиз, жана объектти IR түгөйүнүн алдынан алып салсаңыз, ал 1 көрсөтөт.
- Эгерде мүчүлүштүктөрдү оңдоо терминалы күтүлгөн баалуулуктарды көрсөтпөсө, Кыйынчылыктарды чечүү кадамындагы кадамдарды байкап көрүңүз.
7-кадам: Кыйынчылыктарды жоюу (Акыркы кадамдагы көйгөйлөр үчүн)
DEBUG Терминалы күтүлбөгөн баалуулуктарды көрсөтүүдө
Шор, кыска же туура эмес туташтыргычтар, бузулган компоненттер, туура эмес резисторлор же башка көрүнгөн маселе боюнча схеманы текшериңиз
Программаны логикалык же синтаксистик каталардан текшериңиз - Эгерде сиз акыркы кадам үчүн өз кодуңузду колдонгон болсоңуз, анда берилген кодду колдонууну карап көрүңүз
Дайыма 0 алуу, Бое-Боттун алдына эч кандай объекттер жок болсо дагы
Инфракызыл сигналды чагылдырган жакын жердеги объекттердин бар -жогун текшериңиз. Бое-Боттун алдындагы стол себеп болушу мүмкүн. Бое-Ботту ачык мейкиндикке жылдырыңыз, ошондо IR LED жана детектор жакынкы объектилерди чагылдыра албайт.
Бое-Боттун алдында эч нерсе жок болгон учурда окуу көбүнчө 1, бирок анда-санда 0 чейин жылып турат.
Жакын жердеги флюоресценттик жарыктан тоскоолдук болушу мүмкүн; Жакын жердеги люминесценттик жарыкты өчүрүп, сыноолорду кайталаңыз. Эгерде көйгөй чечилбесе, 9 -кадам көйгөйдү ачышы мүмкүн
8 -кадам: Экинчи IR жуп
Эми сизде IRдин сол программасы бар, бул сиздин схемаңызды жасоо жана туура IR Pair программасын түзүү
- Оң IR түгөйүнө кайрылуу үчүн DEBUG билдирүүсүн, аталышын жана комментарийлерин өзгөртүңүз.
- IrDetectLeftтен irDetectRightке өзгөрмөнүн атын өзгөртүү. Сиз муну программанын төрт жеринде жасашыңыз керек.
- FREQOUT командасынын Pin аргументин 8ден 2ге өзгөртүңүз.
- IrDetectRight өзгөрмөсү көзөмөлдөгөн киргизүү регистрин IN9дан IN0га өзгөртүңүз.
- Туура IR жуп үчүн бул ишмердүүлүктө тестирлөө кадамдарын кайталаңыз; IR LED схемасы P2ге жана детектор P0го туташкан.
9 -кадам: Инфракызыл кийлигишүүнү аныктоо (Милдеттүү эмес)
Сиз табылбашы керек болгон сигналдарды аныктоодо көйгөйлөргө туш болуп жатасызбы же башка жерде IR аныктооңузду көрсөтүүнү пландап жатасызбы, сиз кийлигишүүнү текшерип көрүшүңүз мүмкүн.
Бул тестирлөө программасынын концепциясы абдан жөнөкөй, сиз инфракызыл сигналдарды эч нерсени жөнөтпөстөн аныктайсыз.
Сиз так эле схеманы колдоно аласыз, бирок кодду өзгөртүүгө туура келет. сиз өзүңүздүн кодуңузду жазууну тандасаңыз болот, бирок төмөндө берилген кодду колдонсоңуз болот:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 ЖЕ IN0 = 0 ОНДО МЕБУГАТ "Тоскоолдуктар аныкталды" ТОКТОТУУ 100 ЛУП
Эгерде сиз тоскоолдуктарга дуушар болсоңуз, ыктымалдуу булакты аныктап, аны өчүрүп/алып салыңыз же Бое-Ботуңузду иштеткен жерге көчүрүңүз.
10 -кадам: Көбүрөөк IR жуптарын кошуу
Эгерде сиз Бое-Ботуңуздун кыймылынын тактыгын кааласаңыз, анда дагы IR жуптарын кошууну каалашыңыз мүмкүн. 3 Абдан жакшыртат эки караганда салыштырмалуу; түз тоскоолдукту издөө үчүн борбордук жупту колдонсоңуз болот жана канча бурулуш керек экендигин аныктоо үчүн эки капталдагы ИРди колдоно аласыз. Бирок, 3 IR жуп дизайнынын кыйрашы, дубалга сүзүлүп баратканыңызды билишиңиз мүмкүн, анткени борбордук IR жуп тоскоолдуктарды аныктоо үчүн колдонулат. Бул маселени чечүү үчүн, ар бир тарапка IR каршылыгын жогорку каршылык мааниси менен кошсоңуз болот, андыктан Бое-Бот капталга же жумшак бурчта дубалга жакын болгондо гана инфракызыл сигнал байкалат.
11 -кадам: Беш IR Pair - Circuit
Эки IR LEDди капталга багыттап жатканда этият болуңуз, анткени аларды буроо учтардын тийүүсүнө жана кыска туташууга алып келиши мүмкүн.
12 -кадам: Беш IR Pair - Code
Бул кодду колдонуудан мурун Бое-Ботуңузду программалап көргүңүз келиши мүмкүн:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Беш IR жупту ажыратуу коду' Мэттью Шоу 'Май 8 2019 (7 -версия)' Лабиринттерди чечүү үчүн объекттерди аныктоо жана негизги логикалык иштетүү
irDetectLeft VAR Bit 'Сол үчүн өзгөрмө
irDetectCentre VAR Bit 'борбор үчүн өзгөрмө irDetectRight VAR Bit' оңго өзгөрмө irDetectLSide VAR Bit 'солго өзгөрмө irDetectRSide VAR Bit' оң тарапка өзгөрмө
mLoop VAR Word
Lmotor PIN 15 'Сол мотор пин 14кө туташкан, импульстар бул жерден өтөт
Rmotor PIN 14 'оң = 15
ылдамдыгы-> 650-750-850
LFast CON 850 'Толук ылдамдыкта сол мотор үчүн констант RFast CON 650' Оң мотор үчүн толук ылдамдыкта констант
LStop CON 750 'Сол мотор үчүн толук ылдамдыкта констант
RStop CON 650 'Оң мотор үчүн толук ылдамдыкта констант
LMid CON 830 'Орто ылдамдыкта сол мотор үчүн констант
RMid CON 700 'Орто ылдамдыкта оң мотор үчүн констант
LSlow CON 770 'Минималдуу ылдамдыкта сол мотор үчүн констант
RSlow CON 730 'Минималдуу ылдамдыкта оң мотор үчүн констант
LRev CON 650 'Сол кыймылдаткыч үчүн констант толук ылдамдыкта
RRev CON 850 'Сол мотор үчүн констант толук ылдамдыкта
FREQOUT 7, 1, 38500 'сол жагы
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'борбору
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'оң жагы
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Солго жабуу
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'оң Жабуу
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'оң жагы
irDetectRSideFar = IN0
IF irDetectLSide = 0 ЖАНА irDetectRSide = 0 ОШОНДО негизги 'БАШТОО КОМАНДАСЫ программаны баштоо үчүн эки тараптуу детекторлордун жанынан колуңузду булгалаңыз
Негизги:
PAUSE 1000 DO
PULSOUT Lmotor, LFastтин сол мотору толук ылдамдыкта иштейт
PULSOUT Rmotor, RFast 'Right мотору толук ылдамдыкта иштейт
FREQOUT 6, 1, 38500 'борбору
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Солго жабуу
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'оң жагы
irDetectRSide = IN0
IF irDetectLSide = 0 ЖАНА irDetectRSide = 1 КИЙИН
Lmotor, LFast чыгарыңыз
FREQOUT 6, 1, 38500 'борбору
irDetectCentre = IN5 IF irDetectCentre = 0 ОШОНДО цент
FREQOUT 10, 1, 38500 'Солго жабуу
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'оң жагы
irDetectRight = IN2
IrDetectLSide = 1 ЖЕ irDetectRSide = 0 КӨРСӨТҮҮ
ELSEIF irDetectLSide = 1 ЖАНА irDetectRSide = 0 ОШОНДО
Rmotor, RFast чыгарыңыз
FREQOUT 6, 1, 38500 'борбору
irDetectCentre = IN5 IF irDetectCentre = 0 ОШОНДО цент
FREQOUT 10, 1, 38500 'Солго жабуу
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'оң жагы
irDetectRight = IN2
IrDetectLSide = 0 ЖЕ irDetectRSide = 1 КЕЛГЕНГЕ ЧЕЙИН
'ENDIF
IF irDetectCentre = 0 СОНУН БАШТА
FREQOUT 7, 1, 38500 'сол жагы irDetectLeft = IN8
FREQOUT 6, 1, 38500 'борбору
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'тыныгуу табылган сигналды көрсөтүү үчүн
ЭГЕР (irDetectLeft = 1 ЖАНА irDetectRight = 0) АНДА 'узактыгын баалаңыз
GOSUB turnLeft
ELSEIF (irDetectLeft = 0 ЖАНА irDetectRight = 1) СОНУН
GOSUB turnRight
ELSEIF (irDetectLeft = 1 ЖАНА irDetectRight = 1) СОНУН
GOSUB turnDecide
БАШКА
GOSUB turnReverse
ENDIF
ENDIF 'END
LOOP
АЯКТА
turnLeft:
LMotor PULSOUT, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 INO INO = 1 КАЙТУУ
оңго бурулуу:
RMotor PULSOUT, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 IN9 IN9 = 1
КАЙТУУ
turnReverse:
FOR mLoop = 0 to 50 PULSOUT Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 1, FREQO00 5 INR 1, 38500 irDetectRight = IN0 IN9 IN9 = 1
КАЙТУУ
turnDecide: 'ары көрүү үчүн төмөнкү каршылыкты колдонот
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'оң жагы
irDetectRSideFar = IN0
ЭГЕР (irDetectLSideFar = 1 ЖАНА irDetectRSideFar = 0) АНДА 'узактыгын баалоо
GOSUB turnLeft
ELSEIF (irDetectLSideFar = 0 ЖАНА irDetectRSideFar = 1) СОНУН
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 ЖАНА irDetectRSideFar = 1) СОНУН
GOSUB turnLeft
БАШКА
GOSUB turnReverse
ENDIF
КАЙТУУ
Сунушталууда:
Ардуино менен инфракызыл сенсорду колдонуу: 8 кадам (сүрөттөр менен)
Инфракызыл сенсорду Arduino менен колдонуу: Инфракызыл сенсор деген эмне? IR сенсор - бул IR сигналдарын стандарттар менен аныкталган белгилүү бир жыштык диапазондорунда сканерлеп, аларды электрдик сигналга айландыруучу электрондук аспап (адатта сигналдын пини деп аталат). . IR сигналы
Ардуино лазердик инфракызыл термометр: 7 кадам (сүрөттөр менен)
Ардуино лазердик инфракызыл термометр: Бул долбоордо мен сизге 3D басылган корпусу бар санарип лазердик инфракызыл термометрди кантип курууну көрсөтөм
Автоматтык инфракызыл суу краны 5 доллар: 12 кадам (сүрөттөр менен)
Автоматтык инфракызыл суу краны 5 доллардан: Бул долбоордо биз 5 долларга чейин автоматтык түрдө ачылуучу суу чоргосун жасайбыз. Бул инфрақызыл суу кранын жасоо үчүн биз IR сенсорун жана суу которгучту колдонобуз. Бул автоматтык инфракызыл суу кранын жасоо үчүн микроконтроллер колдонулбайт. Жөн гана
Резина боосу менен машине иштетүү, инфракызыл сезүү, ТВ коргонуучу робот: 5 кадам (сүрөттөр менен)
Резина боосу менен машине иштетүү, инфракызыл сезүү, ТВ коргоочу РОБОТ: Интегралдык микросхемаларды колдонбостон, бул робот стандарттуу сыналгынын пультунан инфракызыл сигналды күтөт, андан кийин резина тилкелеринин топтомун тез күйгүзөт. Эскертүү: "Иш столунун сайтын көрүү" Эгерде сиз видеону көрбөсөңүз. Жоопкерчиликтен баш тартуу: Бул долбоор
DIY жылуулук иштетүүчү инфракызыл камера: 3 кадам (сүрөттөр менен)
DIY Thermal Imaging Infrared Camera: Саламатсызбы! Мен дайыма физика сабактарым үчүн жаңы долбоорлорду издейм. Эки жыл мурун мен Melexisтен MLX90614 термикалык сенсорунун отчетун көрдүм. 5 ° FOV менен эң мыктысы (көрүү талаасы) өз алдынча жасалган термикалык камерага ылайыктуу болмок. Окуу үчүн