Obsah:
- Krok 1: Zdroje
- Krok 2: Pochopenie toho, ako funguje infračervená detekcia (voliteľné)
- Krok 3: Zostavenie infračervených diód LED
- Krok 4: Testovanie infračervených párov - obvod
- Krok 5: Testovanie infračervených párov - základný kód
- Krok 6: Testovanie infračervených párov - hardvér + softvér
- Krok 7: Odstraňovanie problémov (problémy s posledným krokom)
- Krok 8: Druhý IR pár
- Krok 9: Detekcia infračerveného rušenia (voliteľné)
- Krok 10: Pridanie ďalších IR párov
- Krok 11: Päť IR párov - obvod
- Krok 12: Päť IR párov - kód
Video: Boe-Bot s infračervenými detektormi: 12 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Tento návod ukáže, ako postaviť a kódovať Boe-Bot, ktorý sa dokáže pohybovať v bludisku pomocou infračervených detektorov, aby sa vyhol prekážkam. Toto je ľahko použiteľný sprievodca, ktorý umožňuje jednoduché úpravy podľa vašich potrieb. To si vyžaduje základné znalosti obvodov a programovania. Na tento projekt budete potrebovať softvér BASIC Stamp IDE. Zadarmo na stiahnutie tu. Rovnako ako robot Boe-Bot
Krok 1: Zdroje
Elektronické komponenty
Boe -Bot s konektorovým káblom Parallax Store - BoeBot Kit
5 Infračervený LED obchod s paralaxou - súprava na montáž IR vysielača
5 zostáv infračerveného štítu
5 infračervených detektorov Parallax Store - BoeBot IR prijímač
Rezistory
- (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Ω
Rozmanité zapojenie ABRA Electronics - drôt 22
3 LED diódy ABRA Electronics - 5 mm červená LED
podpora
Počítač
ZÁKLADNÝ editor pečiatok - (freeware)
Nástroje
Orezávač drôtov ABRA Electronics - Orezávač drôtu (voliteľné)
Odizolovač drôtov ABRA Electronics - Odizolovovač drôtov
Rôzne
Steny (stavať bludisko)
Krok 2: Pochopenie toho, ako funguje infračervená detekcia (voliteľné)
Infračervené svetlomety
Infračervený systém detekcie predmetov, ktorý na Boe-Bot postavíme, je v niekoľkých ohľadoch ako svetlomety automobilu. Keď sa svetlo reflektorov automobilu odráža od prekážok, vaše oči prekážky rozpoznajú a váš mozog ich spracuje a vaše telo podľa toho auto navedie. Boe-Bot bude na svetlomety používať infračervené diódy LED. Vysielajú infračervené žiarenie a v niektorých prípadoch sa infračervené svetlo odráža od predmetov a odráža sa späť v smere Boe-Bot. Očami Boe-Bota sú infračervené detektory. Infračervené detektory vysielajú signály, ktoré indikujú, či detegujú infračervené svetlo odrazené od objektu alebo nie. Mozog Boe-Bota, BASIC Stamp, rozhoduje a obsluhuje servomotory na základe tohto vstupu senzora. Obrázok 7-1 Detekcia objektu pomocou infračervených svetlometov IR detektory majú vstavané optické filtre, ktoré prepúšťajú veľmi málo svetla okrem 980 nm infračerveného žiarenia, ktoré chceme detekovať svojim vnútorným snímačom fotodiód. Infračervený detektor má tiež elektronický filter, ktorý umožňuje prechod iba signálov okolo 38,5 kHz. Inými slovami, detektor hľadá iba infračervené žiarenie, ktoré bliká a zhasína 38 500 krát za sekundu. Tým sa zabráni IR rušeniu z bežných zdrojov, ako je slnečné svetlo a vnútorné osvetlenie. Slnečné svetlo je interferenciou jednosmerného prúdu (0 Hz) a vnútorné osvetlenie má tendenciu blikať a zapínať buď pri 100 alebo 120 Hz, v závislosti od hlavného zdroja energie v danej oblasti. Pretože 120 Hz je mimo pásmovú frekvenciu pásma 38,5 kHz elektronického filtra, IR detektory ho úplne ignorujú.
-Paralaxská študentská príručka
Krok 3: Zostavenie infračervených diód LED
Vložte IR LED do väčšej časti krytu
Jasnú časť diódy LED uzatvorte menšou časťou puzdra
Krok 4: Testovanie infračervených párov - obvod
Predtým, ako sa do ničoho dostaneme príliš hlboko, otestujeme, či IR pár funguje (jeden infračervený LED a jeden infračervený detektor).
Začnite tým, že vyššie uvedený obvod postavíte na doštičku namontovanú na vrchu vášho Boe-Bot
Krok 5: Testovanie infračervených párov - základný kód
Na to, aby naše IR páry fungovali, budeme samozrejme musieť napísať kód
Na tento účel použije príkaz FREQOUT. Tento príkaz bol navrhnutý pre zvukové tóny, dá sa však použiť na vytváranie frekvencií v infračervenom rozsahu. Na tento test použijeme príkaz:
FREQOUT 8, 1, 38500
to pošle na P8 frekvenciu 38,5 kHz, ktorá trvá 1 ms. Infračervený obvod LED pripojený k P8 bude vysielať túto frekvenciu. Ak sa infračervené svetlo odrazí späť na Boe-Bot predmetom, ktorý je v jeho ceste, infračervený detektor vyšle BASIC pečiatku signál, ktorý mu oznámi, že bolo detekované odrazené infračervené svetlo.
Kľúčom k fungovaniu IR páru je odoslať 1 ms FREQOUT s frekvenciou 38,5 kHz a okamžite uložiť výstup infračerveného detektora do premennej.
Tento príklad ukazuje uloženie hodnoty IR detektora do bitovej premennej s názvom irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
Výstupný stav infračerveného detektora, keď nevidí žiadny infračervený signál, je vysoký. Keď infračervený detektor vidí 38500 Hz harmonickú odrazenú objektom, jeho výstup je nízky. Výstup infračerveného detektora zostane nízky iba zlomok milisekundy po tom, ako príkaz FREQOUT odošle harmonickú, takže je nevyhnutné uložiť výstup infračerveného detektora do premennej bezprostredne po odoslaní príkazu FREQOUT. Hodnotu uloženú premennou je potom možné zobraziť v ladiacom termináli alebo použiť na navigačné rozhodnutia Boe-Bot.
Krok 6: Testovanie infračervených párov - hardvér + softvér
Teraz, keď poznáte základy, môžeme dať dohromady hardvér a softvér, aby sme mohli pár otestovať a získať spätnú väzbu v reálnom čase z toho, čo IR Pair zisťuje.
Môžete sa pokúsiť vytvoriť kód sami, alebo môžete použiť kód nižšie
'{$ STAMP BS2}
VAR bit „{$ PBASIC 2.5} irDetectLeft DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME," irDetectLeft = ", BIN1 irDetectLeft PAUSE 100 LOOP
- Nechajte Boe-Bot pripojený k sériovému káblu, pretože na testovanie vášho IR páru budete používať DEBUG Terminal.
- Umiestnite predmet, napríklad ruku alebo list papiera, asi palec od ľavého IR páru
- Overte si, že keď umiestnite predmet pred IR pár, ladiaci terminál zobrazí 0 a keď odstránite objekt spred IR páru, zobrazí 1.
- Ak ladiaci terminál nezobrazuje očakávané hodnoty, vyskúšajte kroky v kroku Riešenie problémov.
Krok 7: Odstraňovanie problémov (problémy s posledným krokom)
DEBUG Terminál zobrazujúci neočakávané hodnoty
Skontrolujte obvod, či nie je skratovaný, nemá správne umiestnené alebo nechýba konektory, poškodené súčasti, nesprávne odpory alebo iný viditeľný problém
Kontrola logických alebo syntaxových chýb v programe - Ak ste v poslednom kroku použili vlastný kód, zvážte použitie poskytnutého kódu
Pred Boe-Bot je vždy umiestnená 0, aj keď nie sú žiadne predmety
Skontrolujte, či sa v blízkosti nenachádzajú predmety, ktoré odrážajú infračervený signál. Príčinou môže byť stôl pred Boe-Botom. Premiestnite Boe-Bot do otvoreného priestoru tak, aby IR LED a detektor nemohli odrážať žiadny blízky predmet.
Čítanie je 1 väčšinu času, keď pred Boe-Botom nie je žiadny predmet, ale občas bliká na 0
V blízkosti môže dôjsť k rušeniu fluorescenčným svetlom; Vypnite všetky okolité žiarivky a zopakujte testy. Ak problém pretrváva, krok 9 môže problém odhaliť
Krok 8: Druhý IR pár
Teraz, keď máte program pre ľavé IR, ste na rade urobiť obvod a naprogramovať pravý IR pár
- Zmeňte príkaz DEBUG, názov a komentáre tak, aby odkazovali na správny pár IR.
- Zmeňte názov premennej z irDetectLeft na irDetectRight. Budete to musieť urobiť na štyroch miestach programu.
- Zmeňte argument Pin príkazu FREQOUT z 8 na 2.
- Zmeňte vstupný register monitorovaný premennou irDetectRight z IN9 na IN0.
- Zopakujte kroky testovania v tejto aktivite pre správny IR pár; s obvodom IR LED zapojeným do P2 a detektorom zapojeným do P0.
Krok 9: Detekcia infračerveného rušenia (voliteľné)
Bez ohľadu na to, či máte problémy s detekciou signálov, ktoré by nemali byť detekované, alebo plánujete predviesť svoju detekciu infračerveného žiarenia na alternatívnom mieste, možno budete chcieť otestovať rušenie.
Koncept tohto testovacieho programu je veľmi jednoduchý, detegujete infračervené signály bez toho, aby ste ich museli odosielať.
Môžete použiť presne ten istý obvod, ale budete musieť zmeniť kód. Môžete sa rozhodnúť napísať svoj vlastný kód, ale môžete použiť nižšie uvedený kód:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 OR IN0 = 0 THEN DEBUG "Interference found" PAUSE 100 LOOP
Ak dôjde k rušeniu, určte pravdepodobný zdroj a vypnite ho/odstráňte alebo premiestnite miesto, kde prevádzkujete Boe-Bot.
Krok 10: Pridanie ďalších IR párov
Ak požadujete väčšiu presnosť v pohybe vášho Boe-Bot, možno budete chcieť pridať ďalšie IR páry. 3 V porovnaní s dvoma výrazne zlepšuje výkon; Pomocou stredového páru môžete vyhľadať priamu prekážku a pomocou dvoch bočných infračervených infračervených svetiel určiť, koľko sa máte otočiť. Pád 3 IR párového dizajnu však je, že môžete vedieť, kedy sa kĺzate po stene, pretože stredový IR pár slúži na detekciu prekážok. Na vyriešenie tohto problému môžete na každú stranu pridať pár IR s vysokou hodnotou odporu-a preto bude infračervený signál detegovaný iba vtedy, ak bude Boe-Bot blízko boku alebo steny v miernom uhle.
Krok 11: Päť IR párov - obvod
Pri nasmerovaní dvoch infračervených diód LED na stranu buďte opatrní, pretože ich skrútenie môže spôsobiť dotyk vodičov a skrat.
Krok 12: Päť IR párov - kód
Pred použitím tohto kódu môžete skúsiť naprogramovať svoj Boe-Bot:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Five IR Pair Deatection Code' Matthew Shaw '8. mája 2019 (Verzia 7)' Detekcia objektov a základné logické spracovanie na riešenie bludísk
Bit VAR bitu irDetectLeft 'premenná pre ľavú stranu
Bit VAR bitu irDetectCentre „Variabilný pre stredový bit irDetectRight VAR“Premenný pre pravý irDetectLSide bit VAR „Premenný pre ľavú stranu irDetectRSide VAR bit“Premenný pre pravý bok irDetectLSideFar VAR bit „Premenný pre ľavý bok nízkeho odporu irDetectRSideFar bit VAR“premenný pre pravý bok
mLoop VAR Word
Lmotor PIN 15 'Ľavý motor je spojený s kolíkom 14, tadiaľ prechádzajú impulzy
PIN kolesa 14 'vpravo = 15
„rýchlosti sú-> 650-750-850
LFast CON 850 'Conastant pre ľavý motor pri plnej rýchlosti RFast CON 650' Conastant pre pravý motor pri plnej rýchlosti
LStop CON 750 'Conastant pre ľavý motor pri plnej rýchlosti
RStop CON 650 'Conastant pre pravý motor pri plnej rýchlosti
LMid CON 830 'Conastant pre ľavý motor pri stredných otáčkach
RMid CON 700 'Conastant pre pravý motor pri stredných otáčkach
LSlow CON 770 'Conastant pre ľavý motor pri minimálnych otáčkach
RSlow CON 730 'Conastant pre pravý motor pri minimálnych otáčkach
LRev CON 650 'Conastant pre ľavý motor pri plnej rýchlosti pri cúvaní
RRev CON 850 'Conastant pre ľavý motor pri plnej rýchlosti pri cúvaní
FREQOUT 7, 1, 38500 'ľavá strana
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'stred
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'pravá strana
irDetectRight = IN2
FREQOUT 10, 1, 38500 'vľavo Zavrieť
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'vpravo Zatvorte
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'pravá strana
irDetectRSideFar = IN0
IF irDetectLSide = 0 AND irDetectRSide = 0 THEN main 'STARTING COMMAND mávnutím rúk okolo dvoch bočných detektorov spustíte program
Hlavná:
PAUZA 1 000 DO
PULSOUT Lmotor, LFast 'ľavý motor beží na plné otáčky
PULSOUT Rmotor, RFast 'Pravý motor beží na plné otáčky
Stred FREQOUT 6, 1, 38500 '
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'vľavo Zavrieť
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'pravá strana
irDetectRSide = IN0
AK JE POTOM irDetectLSide = 0 A irDetectRSide = 1
VYSKOČTE Lmotor, LRýchlo
Stred FREQOUT 6, 1, 38500 '
irDetectCentre = IN5 IF irDetectCentre = 0 POTOM cent
FREQOUT 10, 1, 38500 'vľavo Zavrieť
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'pravá strana
irDetectRight = IN2
SLUČIŤ DO IRDetectLSide = 1 ALEBO irDetectRSide = 0
ELSEIF irDetectLSide = 1 AND irDetectRSide = 0 POTOM
VYRUŠTE Rmotor, RFast
FREQOUT 6, 1, 38500 'stred
irDetectCentre = IN5 IF irDetectCentre = 0 POTOM cent
FREQOUT 10, 1, 38500 'vľavo Zavrieť
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'pravá strana
irDetectRight = IN2
SLUČIŤ DO IRDetectLSide = 0 ALEBO irDetectRSide = 1
'KONIEC AK
AK irDetectCentre = 0, PAK ZAČNITE
FREQOUT 7, 1, 38500 'ľavá strana irDetectLeft = IN8
FREQOUT 6, 1, 38500 'stred
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'pauza na zobrazenie detekovaného signálu
IF (irDetectLeft = 1 AND irDetectRight = 0) POTOM vyhodnoťte trvanie
GOSUB odbočte vľavo
ELSEIF (irDetectLeft = 0 AND irDetectRight = 1) POTOM
GOSUB turnRight
ELSEIF (irDetectLeft = 1 AND irDetectRight = 1) POTOM
GOSUB turnDecide
INAK
GOSUB turnReverz
KONIEC AK
KONIEC KONIEC
SLUČKA
KONIEC
odbočiť vľavo:
VYMAZAJTE Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 SLUČKA DO IN0 = 1 NÁVRAT
odbočte vpravo:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 SLUČKA DO IN9 = 1
NÁVRAT
turnReverz:
FOR mLoop = 0 AŽ 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, 385, 38500 irDetectRight = IN0 SLUČKA DO IN9 = 1
NÁVRAT
turnDecide: 'používa nižší odpor, aby videl ďalej
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'pravá strana
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 AND irDetectRSideFar = 0) POTOM 'vyhodnotte trvanie
GOSUB odbočte vľavo
ELSEIF (irDetectLSideFar = 0 AND irDetectRSideFar = 1) POTOM
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 AND irDetectRSideFar = 1) POTOM
GOSUB odbočte vľavo
INAK
GOSUB turnReverz
KONIEC AK
NÁVRAT
Odporúča:
Ako: Inštalácia Raspberry PI 4 bezhlavého (VNC) s obrazovým procesorom Rpi a obrázkami: 7 krokov (s obrázkami)
Ako na to: Inštalácia Raspberry PI 4 bez hlavy (VNC) s obrázkom Rpi a obrázkami: Plánujem použiť tento nástroj Rapsberry PI v mnohých zábavných projektoch späť na mojom blogu. Neváhajte sa na to pozrieť. Chcel som sa vrátiť k používaniu svojho Raspberry PI, ale na novom mieste som nemal klávesnicu ani myš. Chvíľu to bolo, odkedy som nastavil Raspberry
Počítadlo krokov - mikro: bit: 12 krokov (s obrázkami)
Počítadlo krokov - mikro: bit: Tento projekt bude počítadlom krokov. Na meranie našich krokov použijeme senzor akcelerometra, ktorý je vstavaný v Micro: Bit. Zakaždým, keď sa Micro: Bit zatrasie, pridáme k počtu 2 a zobrazíme ho na obrazovke
Robot vyhýbajúci sa prekážkam s infračervenými snímačmi bez mikrokontroléra: 6 krokov
Robot vyhýbajúci sa prekážkam s infračervenými snímačmi bez mikrokontroléra: Tento projekt je starším projektom. Vytvoril som ho v roku 2014 v mesiaci júl alebo august a premýšľal som o tom, že sa oň s vami podelím. Je to jednoduchý robot na vyhýbanie sa prekážkam, ktorý používa IR senzory a funguje bez mikrokontroléra. IR senzory používajú opamp IC
Bolt - Nočné hodiny pre bezdrôtové nabíjanie DIY (6 krokov): 6 krokov (s obrázkami)
Bolt - Nočné hodiny bezdrôtového nabíjania DIY (6 krokov): Indukčné nabíjanie (tiež známe ako bezdrôtové nabíjanie alebo bezdrôtové nabíjanie) je typ bezdrôtového prenosu energie. Na prenos elektriny do prenosných zariadení používa elektromagnetickú indukciu. Najbežnejšou aplikáciou je bezdrôtové nabíjanie Qi
Ako rozobrať počítač pomocou jednoduchých krokov a fotografií: 13 krokov (s obrázkami)
Ako rozobrať počítač jednoduchými krokmi a obrázkami: Toto je návod, ako rozobrať počítač. Väčšina základných komponentov je modulárna a dá sa ľahko odstrániť. Je však dôležité, aby ste o tom boli organizovaní. Pomôže to zabrániť strate súčiastok a tiež pri opätovnej montáži