Kazalo:
- 1. korak: Viri
- 2. korak: Razumevanje delovanja infrardečega odkrivanja (neobvezno)
- 3. korak: Sestavljanje IR LED
- 4. korak: Preizkusite infrardeče pare - vezje
- 5. korak: Testiranje infrardečih parov - osnovna koda
- Korak 6: Testiranje infrardečih parov - strojna in programska oprema
- 7. korak: Odpravljanje težav (za težave z zadnjim korakom)
- 8. korak: Drugi par IR
- 9. korak: Odkrivanje infrardečih motenj (neobvezno)
- 10. korak: Dodajte več IR parov
- 11. korak: Pet IR parov - vezje
- 12. korak: Pet IR parov - Koda
Video: Boe-Bot z infrardečimi detektorji: 12 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Ta navodila bodo pokazala, kako zgraditi in kodirati Boe-Bot, ki se lahko premika po labirintu z infrardečimi detektorji, da se izogne oviram. To je preprost vodič, ki omogoča enostavne spremembe, ki ustrezajo vašim potrebam. To zahteva osnovno razumevanje vezja in programiranja. Za ta projekt boste potrebovali programsko opremo BASIC Stamp IDE. Brezplačno za prenos tukaj. Pa tudi Boe-Bot Robot
1. korak: Viri
Elektronske komponente
Boe -Bot s priključnim kablom Parallax Store - BoeBot Kit
5 Parallax Store za infrardeče LED - komplet za montažo IR oddajnika
5 sklopov infrardečega ščita
5 infrardečih detektorjev Parallax Store - BoeBot IR sprejemnik
Upori
- (2) 4,7 kΩ ABRA elektronika - 4,7 kΩ
- (5) 220 Ω ABRA elektronika - 220 Ω
- (2) 1 kΩ ABRA elektronika - 1 kΩ
- (5) 2 k ABRA elektronika - 2 kΩ
Razno ožičenje ABRA Electronics - 22 -žilna žica
3 LED -ja ABRA Electronics - 5 mm rdeča LED
Podpora
Računalnik
BASIC Stamp Editor - (brezplačna programska oprema)
Orodja
Rezalnik žice ABRA Electronics - Rezalnik žice (neobvezno)
Odstranjevalec žice ABRA Electronics - Odstranjevalec žice
Razno
Stene (za gradnjo labirinta)
2. korak: Razumevanje delovanja infrardečega odkrivanja (neobvezno)
Infrardeči žarometi
Infrardeči sistem za zaznavanje predmetov, ki ga bomo zgradili na Boe-Botu, je v več pogledih podoben žarometom avtomobila. Ko se svetloba avtomobilskih žarometov odbije od ovir, vaše oči zaznajo ovire, vaši možgani jih predelajo in vaše telo ustrezno vodi avto. Boe-Bot bo za žaromete uporabljal infrardeče LED diode. Oddajajo infrardečo svetlobo, v nekaterih primerih pa se infrardeča svetloba odbija od predmetov in odbija nazaj v smeri Boe-Bota. Oči Boe-Bota so infrardeči detektorji. Infrardeči detektorji pošiljajo signale, ki kažejo, ali zaznajo infrardečo svetlobo, ki se odbija od predmeta. Možgani Boe-Bota, BASIC Stamp, sprejemajo odločitve in upravljajo servo motorje na podlagi tega vhoda senzorja. Slika 7-1 Zaznavanje predmetov z IR-žarometi IR-detektorji imajo vgrajene optične filtre, ki prepuščajo zelo malo svetlobe, razen infrardeče svetlobe 980 nm, ki jo želimo zaznati s svojim notranjim senzorjem fotodiode. Infrardeči detektor ima tudi elektronski filter, ki omogoča prehod signalov le okoli 38,5 kHz. Z drugimi besedami, detektor išče samo infrardečo svetlobo, ki utripa in izklaplja 38, 500 -krat na sekundo. To preprečuje IR motnje iz običajnih virov, kot so sončna svetloba in notranja razsvetljava. Sončna svetloba je enosmerna motnja (0 Hz), notranja razsvetljava pa se običajno vklopi in izklopi pri 100 ali 120 Hz, odvisno od glavnega vira energije v regiji. Ker je 120 Hz zunaj pasovne frekvence elektronskega filtra 38,5 kHz, ga IR detektorji popolnoma prezrejo.
-Paralax študentski vodnik
3. korak: Sestavljanje IR LED
Vstavite IR LED v večji del ohišja
Prozoren del LED zaprite z manjšim delom ohišja
4. korak: Preizkusite infrardeče pare - vezje
Preden se preveč poglobimo v karkoli, bomo preverili, ali par IR deluje (ena infrardeča LED in en infrardeči detektor).
Začnite z izgradnjo zgornjega vezja na plošči, nameščeni na vrhu vašega Boe-Bota
5. korak: Testiranje infrardečih parov - osnovna koda
Seveda bomo morali za delovanje naših IR parov napisati kodo
Za to bo uporabil ukaz FREQOUT. Ta ukaz je bil zasnovan za zvočne tone, vendar se lahko uporablja za ustvarjanje frekvenc v infrardečem območju. Za ta test bomo uporabili ukaz:
FREQOUT 8, 1, 38500
to bo poslalo frekvenco 38,5 kHz, ki traja 1 ms, na P8. Infrardeče LED vezje, povezano s P8, bo oddajalo to frekvenco. Če se infrardeča svetloba odbije od objekta na poti nazaj v Boe-Bot, bo infrardeči detektor pošiljal OSNOVNI žig signal, ki bo sporočil, da je odsevana infrardeča svetloba zaznana.
Ključ do delovanja para IR je, da pošljete 1 ms frekvence 38,5 kHz in takoj shranite izhod IR detektorja v spremenljivko.
Ta primer prikazuje shranjevanje vrednosti IR detektorja v bitni spremenljivki z imenom irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
Izhodno stanje IR detektorja, ko ne vidi IR signala, je visoko. Ko IR detektor vidi harmoniko 38500 Hz, ki jo odbije objekt, je njegova izhodnost nizka. Izhod IR detektorja ostane nizek le del milisekunde po tem, ko ukaz FREQOUT pošlje harmoniko, zato je nujno, da se izhod IR detektorja shrani v spremenljivko takoj po pošiljanju ukaza FREQOUT. Vrednost, ki jo shrani spremenljivka, se lahko nato prikaže v terminalu za odpravljanje napak ali pa jo Boe-Bot uporabi za navigacijske odločitve.
Korak 6: Testiranje infrardečih parov - strojna in programska oprema
Zdaj, ko poznate osnove, lahko združimo strojno in programsko opremo, da skupaj preizkusimo par in v realnem času dobimo povratne informacije o tem, kar zaznava IR par
Kodo lahko poskusite narediti sami ali uporabite spodnjo kodo
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Pustite Boe-Bot priključen na serijski kabel, ker boste s terminalom DEBUG preizkusili svoj par IR.
- Predmet, na primer roko ali list papirja, postavite približno 1 cm od levega para IR
- Prepričajte se, da ko odložite predmet pred infrardečim parom, terminal za odpravljanje napak prikaže 0, in ko predmet odstranite izpred para IR, se prikaže 1.
- Če terminal za odpravljanje napak ne prikaže pričakovanih vrednosti, poskusite s koraki v koraku Odpravljanje težav.
7. korak: Odpravljanje težav (za težave z zadnjim korakom)
DEBUG Terminal, ki prikazuje nepričakovane vrednosti
Preverite vezje za kratke stike, napačno nameščene ali manjkajoče konektorje, poškodovane komponente, nepravilne upore ali kakšno drugo vidno težavo
Preverite program glede logičnih ali sintaktičnih napak - če ste za zadnji korak uporabili svojo kodo, razmislite o uporabi priložene kode
Vedno dobite 0, tudi če ni predmetov, postavite pred Boe-Bot
Preverite, ali so v bližini kakšni predmeti, ki odsevajo infrardeči signal. Vzrok je lahko miza pred Boe-Botom. Premaknite Boe-Bot v odprt prostor, tako da IR LED in detektor ne moreta odbijati od bližnjih predmetov.
Branje je največkrat 1, ko pred Boe-Botom ni nobenega predmeta, vendar občasno utripa na 0
Lahko pride do motenj zaradi bližnje fluorescenčne svetlobe; Izklopite vse bližnje fluorescenčne sijalke in ponovite teste. Če se težava ponavlja, lahko korak 9 razkrije težavo
8. korak: Drugi par IR
Zdaj, ko imate program za levo IR, ste na vrsti, da naredite vezje in programirate desni IR par
- Spremenite izjavo DEBUG, naslov in komentarje tako, da se nanašajo na desni par IR.
- Spremenite ime spremenljivke iz irDetectLeft v irDetectRight. To boste morali narediti na štirih mestih programa.
- Argument Pin ukaza FREQOUT spremenite iz 8 v 2.
- Spremenite vhodni register, ki ga spremlja spremenljivka irDetectRight, iz IN9 v IN0.
- Ponovite korake testiranja v tej dejavnosti za desni IR par; z IR LED vezjem, priključenim na P2, in detektorjem, priključenim na P0.
9. korak: Odkrivanje infrardečih motenj (neobvezno)
Ne glede na to, ali imate težave z zaznavanjem signalov, ki jih ne bi smeli zaznati, ali nameravate prikazati zaznavanje IR na drugi lokaciji, boste morda želeli preizkusiti motnje.
Koncept tega programa za testiranje je precej preprost, zaznavate infrardeče signale, ne da bi jih poslali.
Uporabite lahko popolnoma isto vezje, vendar boste morali spremeniti kodo. lahko se odločite za pisanje lastne kode, lahko pa uporabite spodnjo kodo:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 ALI IN0 = 0 TUDI RAZMERJANJE "Zaznane motnje" PAUSE 100 LOOP
Če pride do motenj, določite verjeten vir in ga izklopite/odstranite ali premestite na mesto, kjer upravljate svoj Boe-Bot.
10. korak: Dodajte več IR parov
Če želite večjo natančnost pri premikanju vašega Boe-Bota, lahko dodate več IR parov. 3 Odlično izboljša zmogljivost v primerjavi z dvema; lahko uporabite osrednji par za iskanje neposredne ovire in z dvema stranskima IR -jama določite, koliko obrniti. Vendar pa je pomanjkljivost zasnove 3 IR para ta, da morda veste, ko drsite ob steno, ker se sredinski IR par uporablja za zaznavanje ovir. Če želite rešiti to težavo, lahko na vsako stran dodate IR par z visoko vrednostjo upora-zato bo infrardeči signal zaznan le, če je Boe-Bot blizu strani ali stene pod rahlim kotom.
11. korak: Pet IR parov - vezje
Pri usmerjanju dveh IR LED na stran bodite previdni, saj se z njihovo zvijanjem lahko dotakneta kabla in povzroči kratek stik.
12. korak: Pet IR parov - Koda
Pred uporabo te kode lahko poskusite programirati svoj Boe-Bot:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Code of Detection Five IR Pair' Matthew Shaw '8. maj 2019 (različica 7)' Zaznavanje predmetov in osnovna logična obdelava za reševanje labirintov
irDetectLeft VAR Bit 'Spremenljivka za levo
IrDetectCentre VAR Bit 'Spremenljivka za sredino irDetectRight VAR Bit' Spremenljiva za desno irDetectLSide VAR Bit 'Spremenljiva za levo stran irDetectRSide VAR Bit' Spremenljiva za desno stran irDetectLSideFar VAR Bit 'Spremenljiva za levo stran Nizka odpornost nizka Vrednost desna Vrednost Vzdr.
mLoop VAR Word
PIN motorja 15 'Levi motor je priključen na zatič 14, tukaj prehajajo impulzi
PIN motorja 14 'desno = 15
'hitrosti so-> 650-750-850
LFast CON 850 'Konastant za levi motor pri polni hitrosti RFast CON 650' Conastant za desni motor pri polni hitrosti
LStop CON 750 'Conastant za levi motor pri polni hitrosti
RStop CON 650 'Conastant za desni motor pri polni hitrosti
LMid CON 830 'Konastant za levi motor pri srednji hitrosti
RMid CON 700 'Conastant za desni motor pri srednji hitrosti
LSlow CON 770 'Konastant za levi motor pri minimalni hitrosti
RSlow CON 730 'Konastant za desni motor pri minimalni hitrosti
LRev CON 650 'Konastant za levi motor pri polni hitrosti vzvratno
RRev CON 850 'Konastant za levi motor pri polni hitrosti vzvratno
FREQOUT 7, 1, 38500 'leva stran
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'center
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'desna stran
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Levo Zapri
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'desno Zapri
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'desna stran
irDetectRSideFar = IN0
IF irDetectLSide = 0 AND irDetectRSide = 0 THEN main 'STARTING COMMAND pomahajte z rokami mimo obeh stranskih detektorjev za zagon programa
Glavni:
ZAUSTAVI 1000 DO
PULSOUT Lmotor, LFast 'levi motor deluje s polno hitrostjo
PULSOUT Rmotor, RFast 'Desni motor deluje pri polni hitrosti
FREQOUT 6, 1, 38500 'center
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Levo Zapri
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'desna stran
irDetectRSide = IN0
ČE irDetectLSide = 0 IN irDetectRSide = 1 TUDI
Naredite PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'center
irDetectCentre = IN5 ČE irDetectCentre = 0 THEN cent
FREQOUT 10, 1, 38500 'Levo Zapri
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'desna stran
irDetectRight = IN2
LOOP DO IRDetectLSide = 1 ALI irDetectRSide = 0
ELSEIF irDetectLSide = 1 IN irDetectRSide = 0 THEN
Naredite PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'center
irDetectCentre = IN5 ČE irDetectCentre = 0 THEN cent
FREQOUT 10, 1, 38500 'Levo Zapri
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'desna stran
irDetectRight = IN2
LOOP DO IRDetectLSide = 0 ALI irDetectRSide = 1
'ENDIF
ČE irDetectCentre = 0 TUDI ZAČNITE
FREQOUT 7, 1, 38500 'leva stran irDetectLeft = IN8
FREQOUT 6, 1, 38500 'center
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'premor za prikaz zaznanega signala
IF (irDetectLeft = 1 AND irDetectRight = 0) THEN 'ocenite trajanje
GOSUB zavije levo
ELSEIF (irDetectLeft = 0 IN irDetectRight = 1) THEN
GOSUB turnRight
ELSEIF (irDetectLeft = 1 IN irDetectRight = 1) THEN
GOSUB turnDecide
DRUGO
GOSUB turnReverse
ENDIF
ENDIF 'END
LOOP
KONEC
zavijemo levo:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP DO IN0 = 1 RETURN
zavij desno:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP DO IN9 = 1
VRNITEV
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, 4, 5, 4, 4, 38500 irDetectRight = IN0 LOOP DO IN9 = 1
VRNITEV
turnDecide: 'uporablja manjši upor za nadaljnji ogled
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'desna stran
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 AND irDetectRSideFar = 0) THEN 'ocenite trajanje
GOSUB zavije levo
ELSEIF (irDetectLSideFar = 0 IN irDetectRSideFar = 1) TAKO
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 IN irDetectRSideFar = 1) TAKO
GOSUB zavije levo
DRUGO
GOSUB turnReverse
ENDIF
VRNITEV
Priporočena:
Covid varnostna čelada 1. del: uvod v Tinkercad vezja!: 20 korakov (s slikami)
Covid varnostna čelada 1. del: Uvod v vezja Tinkercad!: Pozdravljeni, prijatelj! V tej seriji iz dveh delov se bomo naučili uporabljati Tinkercadova vezja - zabavno, zmogljivo in izobraževalno orodje za spoznavanje delovanja vezij! Eden najboljših načinov za učenje je, da se učite. Zato bomo najprej zasnovali lasten projekt:
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-sliko in slikami: 7 korakov (s slikami)
Kako: Namestitev Raspberry PI 4 Headless (VNC) z Rpi-imagerjem in slikami: Ta Rapberry PI nameravam uporabiti v kopici zabavnih projektov v svojem blogu. Vabljeni, da to preverite. Želel sem se vrniti v uporabo Raspberry PI, vendar na novi lokaciji nisem imel tipkovnice ali miške. Nekaj časa je minilo, odkar sem nastavil malino
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Vijak - Nočna ura za brezžično polnjenje DIY (6 korakov): 6 korakov (s slikami)
Bolt - Nočna ura za brezžično polnjenje DIY (6 korakov): Induktivno polnjenje (znano tudi kot brezžično polnjenje ali brezžično polnjenje) je vrsta brezžičnega prenosa energije. Za zagotavljanje električne energije prenosnim napravam uporablja elektromagnetno indukcijo. Najpogostejša aplikacija je brezžično polnjenje Qi
Kako razstaviti računalnik z enostavnimi koraki in slikami: 13 korakov (s slikami)
Kako z enostavnimi koraki in slikami razstaviti računalnik: To navodilo za razstavljanje računalnika. Večina osnovnih komponent je modularnih in jih je enostavno odstraniti. Vendar je pomembno, da ste glede tega organizirani. To vam bo pomagalo preprečiti izgubo delov in tudi pri ponovni montaži