![Boe-Bot с инфрачервени детектори: 12 стъпки (със снимки) Boe-Bot с инфрачервени детектори: 12 стъпки (със снимки)](https://i.howwhatproduce.com/images/003/image-8953-16-j.webp)
Съдържание:
- Стъпка 1: Ресурси
- Стъпка 2: Разбиране как работи инфрачервеното откриване (по избор)
- Стъпка 3: Сглобяване на IR светодиоди
- Стъпка 4: Тестване на инфрачервени двойки - Верига
- Стъпка 5: Тестване на инфрачервени двойки - основен код
- Стъпка 6: Тестване на инфрачервени двойки - хардуер + софтуер
- Стъпка 7: Отстраняване на проблеми (за проблеми с последната стъпка)
- Стъпка 8: Втора IR двойка
- Стъпка 9: Откриване на инфрачервени смущения (по избор)
- Стъпка 10: Добавяне на още IR двойки
- Стъпка 11: Пет IR двойки - Верига
- Стъпка 12: Пет IR двойки - код
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36
![Boe-Bot с инфрачервени детектори Boe-Bot с инфрачервени детектори](https://i.howwhatproduce.com/images/003/image-8953-17-j.webp)
Тази инструкция ще покаже как да се изгради и кодира Boe-Bot, който може да се движи в лабиринт с помощта на инфрачервени детектори, за да избегне препятствия. Това е лесно за следване ръководство, което позволява лесни модификации според вашите нужди. Това изисква основно разбиране на схемите и програмирането. За този проект ще трябва да имате софтуер BASIC Stamp IDE. Безплатно за изтегляне тук. Както и роботът Boe-Bot
Стъпка 1: Ресурси
Електронни компоненти
Boe -Bot с съединителен кабел Parallax Store - BoeBot Kit
5 Паралакс магазин за инфрачервени светодиоди - комплект за монтаж на IR предавател
5 инфрачервени щита
5 инфрачервени детектора Parallax Store - BoeBot IR приемник
Резистори
- (2) 4,7 kΩ ABRA Electronics - 4,7 kΩ
- (5) 220 Ω ABRA електроника - 220 Ω
- (2) 1 kΩ ABRA Electronics - 1 kΩ
- (5) 2 k ABRA Electronics - 2 kΩ
Разнообразно окабеляване ABRA Electronics - проводник 22 габарита
3 LED ABRA Electronics - 5 мм червен светодиод
поддържа
Компютър
BASIC Stamp Editor - (Безплатен софтуер)
Инструменти
Резачка за тел ABRA Electronics - Резачка за тел (по избор)
Маша за отстраняване на кабели ABRA Electronics - Машина за отстраняване на тел
Разни
Стени (за изграждане на лабиринт)
Стъпка 2: Разбиране как работи инфрачервеното откриване (по избор)
![Разбиране как работи инфрачервеното откриване (по избор) Разбиране как работи инфрачервеното откриване (по избор)](https://i.howwhatproduce.com/images/003/image-8953-18-j.webp)
Инфрачервени фарове
Инфрачервената система за откриване на обекти, която ще изградим на Boe-Bot, е като фаровете на автомобила в няколко аспекта. Когато светлината от фаровете на колата се отразява от препятствията, очите ви откриват препятствията и мозъкът ви ги обработва и кара тялото ви да ръководи колата съответно. Boe-Bot ще използва инфрачервени светодиоди за фарове. Те излъчват инфрачервена връзка, а в някои случаи инфрачервената светлина отразява обектите и отскача обратно в посока Boe-Bot. Очите на Boe-Bot са инфрачервените детектори. Инфрачервените детектори изпращат сигнали, показващи дали откриват или не инфрачервена светлина, отразена от обект. Мозъкът на Boe-Bot, BASIC Stamp, взема решения и управлява серво моторите въз основа на този сензорен вход. Фигура 7-1 Откриване на обект с инфрачервени фарове ИЧ детекторите имат вградени оптични филтри, които пропускат много малко светлина, с изключение на инфрачервения 980 nm, който искаме да открием с неговия вътрешен фотодиоден сензор. Инфрачервеният детектор също има електронен филтър, който позволява само преминаване на сигнали около 38,5 kHz. С други думи, детекторът търси само инфрачервена връзка, която мига и изключва 38, 500 пъти в секунда. Това предотвратява IR смущенията от често срещани източници като слънчева светлина и вътрешно осветление. Слънчевата светлина е с постоянни смущения (0 Hz), а вътрешното осветление има тенденция да мига и изключва при 100 или 120 Hz, в зависимост от основния източник на захранване в региона. Тъй като 120 Hz е извън честотната лента на електронния филтър от 38,5 kHz, тя се игнорира напълно от инфрачервените детектори.
-Паралакс Студентско ръководство
Стъпка 3: Сглобяване на IR светодиоди
![Сглобяване на IR светодиоди Сглобяване на IR светодиоди](https://i.howwhatproduce.com/images/003/image-8953-19-j.webp)
Поставете IR LED в по -голямата част на корпуса
Затворете прозрачната част на светодиода с по -малката част на корпуса
Стъпка 4: Тестване на инфрачервени двойки - Верига
![Тестване на инфрачервени двойки - схема Тестване на инфрачервени двойки - схема](https://i.howwhatproduce.com/images/003/image-8953-20-j.webp)
![Тестване на инфрачервени двойки - схема Тестване на инфрачервени двойки - схема](https://i.howwhatproduce.com/images/003/image-8953-21-j.webp)
Преди да навлезем твърде дълбоко в нещо, ще тестваме, за да се уверим, че инфрачервената двойка работи (един инфрачервен светодиод и един инфрачервен детектор).
Започнете, като изградите горната схема на макета, монтиран върху вашия Boe-Bot
Стъпка 5: Тестване на инфрачервени двойки - основен код
Разбира се, ще трябва да напишем код, за да работят нашите IR двойки
За да направи това, ще използва командата FREQOUT. Тази команда е предназначена за аудио тонове, но може да се използва за създаване на честоти в инфрачервения диапазон. За този тест ще използваме командата:
ЧЕСТОТО 8, 1, 38500
това ще изпрати 38,8 kHz честота, която продължава 1 ms до P8. Инфрачервената LED верига, свързана към P8, ще излъчва тази честота. Ако инфрачервената светлина се отрази обратно към Boe-Bot от обект по пътя си, инфрачервеният детектор ще изпрати BASIC Stamp сигнал, за да го уведоми, че отразената инфрачервена светлина е засечена.
Ключът към работата на IR двойката е да изпратите 1 ms от 38,5 kHz FREQOUT и незабавно да съхраните изхода на IR детектора в променлива.
Този пример показва съхраняване на стойността на IR детектора в битова променлива с име irDectectLeft
ЧЕСТОТО 8, 1, 38500
irDetectLeft = IN9
Изходното състояние на IR детектора, когато не вижда IR сигнал, е високо. Когато инфрачервеният детектор види хармониката от 38500 Hz, отразена от обект, изходът му е нисък. Изходът на инфрачервения детектор остава нисък само за част от милисекунда, след като командата FREQOUT е изпратена, изпращайки хармониката, така че е от съществено значение да съхранявате изхода на инфрачервения детектор в променлива веднага след изпращането на командата FREQOUT. Стойността, съхранена от променливата, може след това да се покаже в терминала за отстраняване на грешки или да се използва за навигационни решения от Boe-Bot.
Стъпка 6: Тестване на инфрачервени двойки - хардуер + софтуер
![Тестване на инфрачервени двойки - хардуер + софтуер Тестване на инфрачервени двойки - хардуер + софтуер](https://i.howwhatproduce.com/images/003/image-8953-22-j.webp)
Сега, когато знаете основите, можем да съберем хардуера и софтуера заедно, за да тестваме една двойка заедно и да получим обратна връзка в реално време от това, което IR двойката открива
Можете да опитате да направите сами кода или да използвате кода по -долу
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Оставете Boe-Bot свързан към серийния кабел, защото ще използвате терминала DEBUG, за да тествате вашата IR двойка.
- Поставете обект, като например ръката си или лист хартия, на около сантиметър от лявата инфрачервена двойка
- Проверете, че когато поставите обект пред инфрачервената двойка, терминалът за отстраняване на грешки показва 0, а когато премахнете обекта отпред инфрачервената двойка, той показва 1.
- Ако терминалът за отстраняване на грешки не показва очакваните стойности, опитайте стъпките в Стъпката за отстраняване на проблеми.
Стъпка 7: Отстраняване на проблеми (за проблеми с последната стъпка)
DEBUG Терминал, показващ неочаквани стойности
Проверете веригата за къси съединения, неправилно поставени или липсващи конектори, повредени компоненти, неправилни резистори или друг видим проблем
Проверете програмата от логически или синтаксични грешки - Ако сте използвали свой собствен код за последната стъпка, помислете за използването на предоставения код
Винаги получавайки 0, дори когато няма обекти, се поставя пред Boe-Bot
Проверете дали в близост има обекти, които отразяват инфрачервения сигнал. Масата пред Boe-Bot може да е причината. Преместете Boe-Bot в открито пространство, така че инфрачервеният светодиод и детекторът да не могат да отразяват близки обекти.
Четенето е 1 през повечето време, когато няма обект пред Boe-Bot, но мига до 0 от време на време
Възможно е да има смущения от близка флуоресцентна светлина; Изключете всички близки флуоресцентни лампи и повторете тестовете си. Ако проблемът продължава, стъпка 9 може да разкрие проблема
Стъпка 8: Втора IR двойка
![Втора IR двойка Втора IR двойка](https://i.howwhatproduce.com/images/003/image-8953-23-j.webp)
Сега, когато имате програмата за лявата IR, е ваш ред да направите веригата и да програмирате правилната IR двойка
- Променете декларацията DEBUG, заглавието и коментарите, за да се обърнете към дясната IR двойка.
- Променете името на променливата от irDetectLeft на irDetectRight. Ще трябва да направите това на четири места в програмата.
- Променете аргумента Pin на командата FREQOUT от 8 на 2.
- Променете входния регистър, наблюдаван от променливата irDetectRight от IN9 на IN0.
- Повторете стъпките за тестване в тази дейност за дясната IR двойка; с веригата IR LED, свързана към P2 и детектора, свързан към P0.
Стъпка 9: Откриване на инфрачервени смущения (по избор)
![Откриване на инфрачервени смущения (по избор) Откриване на инфрачервени смущения (по избор)](https://i.howwhatproduce.com/images/003/image-8953-24-j.webp)
Независимо дали изпитвате проблеми с откриването на сигнали, които не трябва да бъдат открити, или планирате да демонстрирате IR откриването си на друго място, може да искате да тествате за смущения.
Концепцията на тази програма за тестване е доста проста, откривате за инфрачервени сигнали, без да изпращате никакви.
Можете да използвате същата схема, но ще трябва да промените кода. можете да изберете да напишете свой собствен код, но можете да използвате предоставения код по -долу:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR бит DO irDetectLeft = IN9 irDetectRight = IN0 АКО IN9 = 0 ИЛИ IN0 = 0 ТОГАВА ОТСТРАНЯВАНЕ "Смущения" ПАУЗА 100 LOOP
Ако все пак имате смущения, определете вероятния източник и го изключете/премахнете или преместете където работите с вашия Boe-Bot.
Стъпка 10: Добавяне на още IR двойки
![Добавяне на още IR двойки Добавяне на още IR двойки](https://i.howwhatproduce.com/images/003/image-8953-25-j.webp)
Ако искате по-голяма точност в движението на вашия Boe-Bot, може да искате да добавите още IR двойки. 3 Значително подобрява производителността в сравнение с две; можете да използвате централна двойка, за да сканирате за директно препятствие, и да използвате две странични IR, за да определите колко да завъртите. Недостатъкът на дизайна на 3 IR двойки е, че може да знаете, когато се плъзгате по стена, защото централната IR двойка се използва за откриване на препятствия. За да разрешите този проблем, можете да добавите IR двойка към всяка страна с висока стойност на съпротивление-следователно и инфрачервеният сигнал ще бъде открит само ако Boe-Bot е близо до страната или стена под лек ъгъл.
Стъпка 11: Пет IR двойки - Верига
![Пет IR двойки - схема Пет IR двойки - схема](https://i.howwhatproduce.com/images/003/image-8953-26-j.webp)
Бъдете внимателни, когато насочвате двата инфрачервени светодиода отстрани, тъй като усукването им може да доведе до докосване на проводниците и да причини късо съединение.
Стъпка 12: Пет IR двойки - код
![Пет IR двойки - код Пет IR двойки - код](https://i.howwhatproduce.com/images/003/image-8953-27-j.webp)
Може да опитате да програмирате вашия Boe-Bot, преди да използвате този код:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Код за откриване на пет IR двойки' Matthew Shaw '8 май 2019 г. (Версия 7)' Откриване на обекти и основна логическа обработка за решаване на лабиринти
irDetectLeft VAR Bit 'Променлива за ляво
IrDetectCentre VAR бит "Променлива за центъра irDetectRight VAR бит" Променлива за дясна irDetectLSide VAR бит "Променлива за лявата страна irDetectRSide VAR бит" Променлива за дясна страна irDetectLSideFar VAR бит "Променлива за лявата страна ниско съпротивление irDetectRS
mLoop VAR Word
Lmotor PIN 15 'Левият двигател е свързан към щифт 14, тук преминават импулси
PIN на Rmotor 14 'вдясно = 15
'скоростите са-> 650-750-850
LFast CON 850 'Конастант за ляв мотор при пълна скорост RFast CON 650' Конастант за десен мотор при пълна скорост
LStop CON 750 'Conastant за ляв мотор при пълна скорост
RStop CON 650 'Conastant за десен мотор при пълна скорост
LMid CON 830 'Conastant за ляв мотор при средна скорост
RMid CON 700 'Conastant за десен мотор при средна скорост
LSlow CON 770 'Conastant за ляв мотор при минимална скорост
RSlow CON 730 'Conastant за десен мотор при минимална скорост
LRev CON 650 'Conastant за ляв мотор при пълна скорост на заден ход
RRev CON 850 'Conastant за ляв мотор при пълна скорост на заден ход
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 AND irDetectRSide = 0 THEN main 'STARTING COMMAND махайте с ръце покрай двата странични детектора за стартиране на програмата
Основен:
ПАУЗА 1000 DO
PULSOUT Lmotor, LFast 'левият мотор работи на пълна скорост
PULSOUT Rmotor, RFast 'Дясният двигател работи на пълна скорост
FREQOUT 6, 1, 38500 'център
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Ляво затваряне
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'дясна страна
irDetectRSide = IN0
АКО irDetectLSide = 0 И irDetectRSide = 1 ТОГАВА
Направете PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'център
irDetectCentre = IN5 АКО irDetectCentre = 0 ТОГАВА цента
FREQOUT 10, 1, 38500 'Ляво затваряне
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'дясна страна
irDetectRight = IN2
LOOP UNTIL irDetectLSide = 1 ИЛИ irDetectRSide = 0
ELSEIF irDetectLSide = 1 И irDetectRSide = 0 ТОГАВА
Направете PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'център
irDetectCentre = IN5 АКО irDetectCentre = 0 ТОГАВА цента
FREQOUT 10, 1, 38500 'Ляво затваряне
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'дясна страна
irDetectRight = IN2
LOOP UNTIL irDetectLSide = 0 ИЛИ irDetectRSide = 1
'ENDIF
АКО irDetectCentre = 0 ТОГАВА СТАРТ
FREQOUT 7, 1, 38500 'лява страна irDetectLeft = IN8
FREQOUT 6, 1, 38500 'център
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'пауза за показване на открит сигнал
IF (irDetectLeft = 1 AND irDetectRight = 0) THEN 'оценявайте продължителността
GOSUB turnLeft
ELSEIF (irDetectLeft = 0 И irDetectRight = 1) ТОГАВА
GOSUB turnRight
ELSEIF (irDetectLeft = 1 И irDetectRight = 1) ТОГАВА
GOSUB turnDecide
ДРУГО
GOSUB turnReverse
ENDIF
ENDIF 'END
LOOP
КРАЙ
завийте наляво:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP UNTIL IN0 = 1 ВРЪЩАНЕ
обърни се на дясно:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP ДО 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 FREQOUT 5, 1, 4, 4, 38500 irDetectRight = IN0 LOOP ДО IN9 = 1
ВРЪЩАНЕ
turnDecide: 'използва по -ниско съпротивление, за да види по -нататък
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'дясна страна
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 И irDetectRSideFar = 0) ТОГАВА преценете продължителността
GOSUB turnLeft
ELSEIF (irDetectLSideFar = 0 И irDetectRSideFar = 1) ТОГАВА
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 И irDetectRSideFar = 1) ТОГАВА
GOSUB turnLeft
ДРУГО
GOSUB turnReverse
ENDIF
ВРЪЩАНЕ
Препоръчано:
LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)
![LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки) LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)](https://i.howwhatproduce.com/images/001/image-2315-j.webp)
LED светлини (и), захранвани от батерии, със слънчево зареждане: Жена ми учи хората как да правят сапун, повечето от часовете й бяха вечер и тук през зимата се стъмва около 16:30 ч. Някои от нейните ученици имаха проблеми с намирането на нашите къща. Имахме табела отпред, но дори и с улично осветление
Как да си направим LoT детектори за дим/алкохол и пожарни аларми с NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: 7 стъпки
![Как да си направим LoT детектори за дим/алкохол и пожарни аларми с NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: 7 стъпки Как да си направим LoT детектори за дим/алкохол и пожарни аларми с NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: 7 стъпки](https://i.howwhatproduce.com/images/002/image-3782-28-j.webp)
Как да си направим LoT детектори за дим/алкохол и пожарни аларми с NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: Повече подробности можете да гледате в моето видео в YouTube
Сензор за инфрачервени зарове: 5 стъпки
![Сензор за инфрачервени зарове: 5 стъпки Сензор за инфрачервени зарове: 5 стъпки](https://i.howwhatproduce.com/images/009/image-24748-j.webp)
Сензор за инфрачервени зарове: Казвам се Калвин и ще ви покажа как да направите инфрачервен сензор за зарове и ще обясня как работи. В момента съм студент от университета Тейлър, който изучава компютърно инженерство и моят екип и бях помолен да проектираме и изградим механизъм, който може да сортира всеки
Множество инфрачервени температурни сензори - MLX90614: 4 стъпки
![Множество инфрачервени температурни сензори - MLX90614: 4 стъпки Множество инфрачервени температурни сензори - MLX90614: 4 стъпки](https://i.howwhatproduce.com/images/012/image-33070-j.webp)
Множество инфрачервени температурни сензори - MLX90614: Това е кратко ръководство за това как да настроите множество безконтактни температурни сензори MLX90614B чрез I2C шината с Arduino uno и да покажете показанията на серийния монитор на Arduino IDE. Използвам предварително изградените платки, но ако закупите сензора b
Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки)
![Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки) Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11126816-custom-clock-with-photo-hands-5-steps-with-pictures-j.webp)
Персонализиран часовник със стрелки за снимки: Някои хора наблюдават часовника. Сега всеки може да бъде часовник. Други проекти персонализират лицето на часовника. Този персонализира стрелките на часовника. Изглежда скъп, но е по -малко от 5 долара и около 30 минути на часовник. Перфектен за Chr