Turinys:
- 1 žingsnis: ištekliai
- 2 veiksmas: supraskite, kaip veikia infraraudonųjų spindulių aptikimas (neprivaloma)
- 3 žingsnis: IR šviesos diodų surinkimas
- 4 žingsnis: Infraraudonųjų spindulių porų testavimas - grandinė
- 5 žingsnis: Infraraudonųjų spindulių porų bandymas - pagrindinis kodas
- 6 veiksmas: Infraraudonųjų spindulių porų testavimas - aparatinė įranga + programinė įranga
- 7 veiksmas: trikčių šalinimas (dėl paskutinio veiksmo problemų)
- 8 veiksmas: antroji IR pora
- 9 veiksmas: infraraudonųjų spindulių trukdžių aptikimas (neprivaloma)
- 10 veiksmas: pridėkite daugiau IR porų
- 11 veiksmas: penkios IR poros - grandinė
- 12 žingsnis: penkios IR poros - kodas
Video: „Boe-Bot“su infraraudonųjų spindulių detektoriais: 12 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Ši instrukcija parodys, kaip sukurti ir koduoti „Boe-Bot“, galintį naršyti labirintą naudojant infraraudonųjų spindulių detektorius, kad būtų išvengta kliūčių. Tai yra paprastas vadovas, leidžiantis lengvai atlikti pakeitimus pagal jūsų poreikius. Tam reikia bendro supratimo apie grandines ir programavimą. Šiam projektui jums reikės BASIC Stamp IDE programinės įrangos. Nemokamai atsisiųsti čia. Taip pat ir „Boe-Bot“robotas
1 žingsnis: ištekliai
Elektroniniai komponentai
„Boe -Bot“su jungiamuoju kabeliu „Parallax Store“- „BoeBot“rinkinys
5 infraraudonųjų spindulių šviesos diodų paralakso parduotuvė - IR siųstuvo surinkimo rinkinys
5 infraraudonųjų spindulių skydo mazgai
5 infraraudonųjų spindulių jutiklių paralakso parduotuvė - „BoeBot“IR imtuvas
Rezistoriai
- (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 elektronika - 2 kΩ
Laidų asortimentas ABRA Electronics - 22 gabaritų viela
3 šviesos diodų „ABRA Electronics“- 5 mm raudonas šviesos diodas
Palaikymas
Kompiuteris
BASIC antspaudų redaktorius - (nemokama programa)
Įrankiai
Vielos pjoviklis ABRA Electronics - vielos pjoviklis (pasirinktinai)
Vielos nuėmiklis ABRA Electronics - vielos nuėmiklis
Įvairūs
Sienos (labirintui statyti)
2 veiksmas: supraskite, kaip veikia infraraudonųjų spindulių aptikimas (neprivaloma)
Infraraudonųjų spindulių žibintai
Infraraudonųjų spindulių objektų aptikimo sistema, kurią sukursime ant „Boe-Bot“, daugeliu atžvilgių yra tarsi automobilio priekiniai žibintai. Kai automobilio priekinių žibintų šviesa atsispindi nuo kliūčių, jūsų akys aptinka kliūtis, o jūsų smegenys jas apdoroja ir priverčia jūsų kūną atitinkamai vadovauti automobiliui. „Boe-Bot“žibintams naudos infraraudonųjų spindulių šviesos diodus. Jie skleidžia infraraudonųjų spindulių ryšį, o kai kuriais atvejais infraraudonieji spinduliai atsispindi nuo objektų ir atsitraukia Boe-Bot kryptimi. „Boe-Bot“akys yra infraraudonųjų spindulių detektoriai. Infraraudonųjų spindulių detektoriai siunčia signalus, rodančius, ar jie aptinka nuo objekto atsispindėjusią infraraudonąją spinduliuotę. „Boe-Bot“smegenys, BASIC Stamp, priima sprendimus ir valdo servo variklius, remdamiesi šiuo jutiklio įėjimu. 7-1 pav. Objekto aptikimas su IR priekiniais žibintais IR jutikliuose yra įmontuoti optiniai filtrai, kurie praleidžia labai mažai šviesos, išskyrus 980 nm infraraudonųjų spindulių, kuriuos norime aptikti vidiniu fotodiodiniu jutikliu. Infraraudonųjų spindulių detektorius taip pat turi elektroninį filtrą, kuris praleidžia tik apie 38,5 kHz signalus. Kitaip tariant, detektorius ieško tik infraraudonųjų spindulių, kurie mirksi 38 500 kartų per sekundę. Tai apsaugo nuo IR trukdžių iš įprastų šaltinių, tokių kaip saulės šviesa ir patalpų apšvietimas. Saulės šviesa yra nuolatinės srovės trukdžiai (0 Hz), o patalpų apšvietimas linkęs įjungti ir išjungti 100 arba 120 Hz dažniu, atsižvelgiant į pagrindinį regiono maitinimo šaltinį. Kadangi 120 Hz yra už elektroninio filtro 38,5 kHz dažnių juostos praleidimo dažnio ribų, IR detektoriai į jį visiškai nekreipia dėmesio.
-Paralakso studentų vadovas
3 žingsnis: IR šviesos diodų surinkimas
Įdėkite IR šviesos diodą į didesnę korpuso dalį
Uždėkite aiškią šviesos diodo dalį su mažesne korpuso dalimi
4 žingsnis: Infraraudonųjų spindulių porų testavimas - grandinė
Prieš per daug nesigilindami, išbandysime, ar IR pora veikia (vienas infraraudonųjų spindulių šviesos diodas ir vienas infraraudonųjų spindulių detektorius).
Pradėkite statydami aukščiau pateiktą grandinę ant duonos lentos, sumontuotos ant jūsų „Boe-Bot“
5 žingsnis: Infraraudonųjų spindulių porų bandymas - pagrindinis kodas
Žinoma, turėsime parašyti kodą, kad mūsų IR poros veiktų
Norėdami tai padaryti, naudosite komandą FREQOUT. Ši komanda buvo skirta garso tonams, tačiau ji gali būti naudojama dažniui infraraudonųjų spindulių diapazone gaminti. Šiam bandymui naudosime komandą:
FREQOUT 8, 1, 38500
į P8 bus siunčiamas 38,5 kHz dažnis, trunkantis 1 ms. Prie P8 prijungta infraraudonųjų spindulių šviesos diodų grandinė transliuos šį dažnį. Jei jo kelyje esantis objektas infraraudonųjų spindulių šviesą atspindi atgal į „Boe-Bot“, infraraudonųjų spindulių detektorius siunčia signalą „BASIC“, kad praneštų, jog buvo aptikta atspindėta infraraudonųjų spindulių šviesa.
Norint, kad IR pora veiktų, svarbiausia yra siųsti 1 ms 38,5 kHz FREQOUT ir nedelsiant išsaugoti IR detektoriaus išvestį kintamajame.
Šiame pavyzdyje parodyta IR detektoriaus vertės išsaugojimas bitų kintamajame pavadinimu irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
IR jutiklio išėjimo būsena, kai nemato jokio IR signalo, yra aukšta. Kai IR detektorius mato objekto atspindėtą 38500 Hz harmoniką, jo išvestis yra maža. Pasibaigus komandai FREQOUT, siunčiant harmoniką, IR detektoriaus išvestis išlieka maža tik milisekundės dalį, todėl labai svarbu, kad IR detektoriaus išvestis būtų saugoma kintamajame iškart po FREQOUT komandos išsiuntimo. Tada kintamojo išsaugota vertė gali būti rodoma derinimo terminale arba naudojama „Boe-Bot“navigacijos sprendimams.
6 veiksmas: Infraraudonųjų spindulių porų testavimas - aparatinė įranga + programinė įranga
Dabar, kai žinote pagrindus, galime sujungti aparatinę ir programinę įrangą, kad kartu išbandytume porą ir gautume realaus laiko atsiliepimus apie tai, ką aptinka IR pora
Galite pabandyti sukurti kodą patys arba naudoti žemiau esantį kodą
„{$ STAMP BS2}
„{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME," irDetectLeft = ", BIN1 irDetectLeft PAUSE 100 LOOP
- Palikite „Boe-Bot“prijungtą prie nuoseklaus kabelio, nes IR porą išbandysite naudodami DEBUG terminalą.
- Padėkite objektą, pavyzdžiui, ranką ar popieriaus lapą, maždaug colio atstumu nuo kairės IR poros
- Įsitikinkite, kad kai padėsite objektą prieš IR porą, derinimo terminalas rodys 0, o kai pašalinsite objektą iš IR poros - 1.
- Jei derinimo terminale nerodomos tikėtinos vertės, pabandykite atlikti trikčių šalinimo veiksmo veiksmus.
7 veiksmas: trikčių šalinimas (dėl paskutinio veiksmo problemų)
DEBUG terminalas, rodantis netikėtas vertes
Patikrinkite, ar grandinėje nėra trumpųjų jungčių, netinkamų ar trūkstamų jungčių, pažeistų komponentų, netinkamų rezistorių ar kitų matomų problemų
Patikrinkite, ar programoje nėra loginių ar sintaksės klaidų - jei paskutiniame žingsnyje naudojote savo kodą, apsvarstykite galimybę naudoti pateiktą kodą
Visada gauname 0, net jei priešais „Boe-Bot“nėra jokių daiktų
Patikrinkite, ar šalia nėra objektų, kurie atspindi infraraudonųjų spindulių signalą. Priežastis gali būti stalas priešais „Boe-Bot“. Perkelkite „Boe-Bot“į atvirą erdvę, kad infraraudonųjų spindulių šviesos diodas ir detektorius neatspindėtų jokių šalia esančių objektų.
Skaitymas dažniausiai būna tada, kai priešais „Boe-Bot“nėra jokio objekto, bet jis kartais mirksi iki 0
Netoliese esanti fluorescencinė šviesa gali trukdyti; Išjunkite netoliese esančias fluorescencines lempas ir pakartokite testus. Jei problema išlieka, 9 veiksmas gali atskleisti problemą
8 veiksmas: antroji IR pora
Dabar, kai turite kairiojo IR programą, jūsų eilė sukurti grandinę ir užprogramuoti tinkamą IR porą
- Pakeiskite DEBUG teiginį, pavadinimą ir komentarus, kad nurodytumėte tinkamą IR porą.
- Pakeiskite kintamojo pavadinimą iš irDetectLeft į irDetectRight. Tai turėsite padaryti keturiose programos vietose.
- Pakeiskite FREQOUT komandos PIN kodo argumentą iš 8 į 2.
- Pakeiskite kintamojo irDetectRight stebimą įvesties registrą iš IN9 į IN0.
- Kartokite šios veiklos bandymo veiksmus su tinkama IR pora; kai IR šviesos diodų grandinė prijungta prie P2, o detektorius prijungtas prie P0.
9 veiksmas: infraraudonųjų spindulių trukdžių aptikimas (neprivaloma)
Nesvarbu, ar kyla problemų aptikdami signalus, kurių nereikėtų aptikti, ar planuojate demonstruoti savo IR aptikimą kitoje vietoje, galbūt norėsite patikrinti, ar nėra trukdžių.
Šios bandymo programos koncepcija yra gana paprasta, jūs aptinkate infraraudonųjų spindulių signalus, jų nesiųsdami.
Galite naudoti tą pačią grandinę, tačiau turėsite pakeisti kodą. galite pasirinkti rašyti savo kodą, tačiau galite naudoti žemiau pateiktą kodą:
„{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR bitas DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 OR IN0 = 0 THEN DEBUG "Aptikta trukdžių" PAUSE 100 LOP
Jei patiriate trikdžių, nustatykite tikėtiną šaltinį ir išjunkite/pašalinkite arba perkelkite ten, kur naudojate „Boe-Bot“.
10 veiksmas: pridėkite daugiau IR porų
Jei norite daugiau tikslumo „Boe-Bot“judesyje, galbūt norėsite pridėti daugiau IR porų. 3 Labai pagerina našumą, palyginti su dviem; galite naudoti centrinę porą, kad galėtumėte ieškoti tiesioginių kliūčių, ir naudoti du šoninius IR, kad nustatytumėte, kiek pasukti. Tačiau 3 IR porų dizaino žlugimas yra tas, kad jūs galite žinoti, kai slystate prie sienos, nes centrinė IR pora naudojama aptikti kliūtis. Norėdami išspręsti šią problemą, prie kiekvienos pusės galite pridėti IR porą su didele pasipriešinimo reikšme, todėl infraraudonųjų spindulių signalas bus aptiktas tik tuo atveju, jei „Boe-Bot“yra arti šono ar sienos švelniu kampu.
11 veiksmas: penkios IR poros - grandinė
Būkite atsargūs, nukreipdami du infraraudonųjų spindulių šviesos diodus į šoną, nes juos pasukus laidai gali liesti ir sukelti trumpąjį jungimą.
12 žingsnis: penkios IR poros - kodas
Prieš naudodami šį kodą, galbūt norėsite pabandyti programuoti „Boe-Bot“:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Penki IR poros išjungimo kodai' Matthew Shaw '2019 m. Gegužės 8 d. (7 versija)' Objektų aptikimas ir pagrindinis loginis apdorojimas labirintams išspręsti
irDetectLeft VAR Bit 'Kintamasis kairėn
„IrDetectCentre VAR Bit“kintamasis centre irDetectRight VAR Bit „Kintamasis dešiniajam irDetectLSide VAR Bit“Kintamasis kairėje pusėje „IrDetectRSide VAR Bit“„Kintamasis dešinei pusei irDetectLSideFar VAR Bit“Kintamasis kairės pusės mažo pasipriešinimo irDetectRSideFar VAR Bit „Kintamasis dešinei pusei
mLoop VAR žodis
Lmotor PIN 15 'Kairysis variklis prijungtas prie 14 kaiščio, čia vyksta impulsai
Rotoriaus PIN kodas 14 'dešinė = 15
greitis yra-> 650-750-850
LFast CON 850 'Conastant kairiam varikliui visu greičiu RFast CON 650' Conastant dešiniajam varikliui visu greičiu
LStop CON 750 'Konastantas kairiam varikliui visu greičiu
„RStop CON 650“Konastantas tinkamam varikliui visu greičiu
LMid CON 830 'Konastantas kairiam varikliui vidutiniu greičiu
RMid CON 700 'Konastantas tinkamam varikliui esant vidutiniam greičiui
LSlow CON 770 'Konastantas kairiam varikliui esant minimaliam greičiui
RSlow CON 730 'Konstantas tinkamam varikliui esant minimaliam greičiui
LRev CON 650 'Konastantas kairiam varikliui visu greičiu atbuline eiga
RRev CON 850 'Konastantas kairiam varikliui visu greičiu atbuline eiga
FREQOUT 7, 1, 38500 'kairėje pusėje
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centras
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'dešinė pusė
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Uždaryti iš kairės
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'dešinė Uždaryti
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'dešinė pusė
irDetectRSideFar = IN0
IF irDetectLSide = 0 IR irDetectRSide = 0 THEN pagrindinė „STARTING COMMAND“banguoja rankomis už dviejų šoninių detektorių, kad paleistumėte programą
Pagrindinis:
Sustabdykite 1000 DARBŲ
„PULSOUT Lmotor“, „LFast“kairysis variklis veikia visu greičiu
„PULSOUT“variklis, „RFast“„Dešinysis variklis veikia visu greičiu
FREQOUT 6, 1, 38500 'centras
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Uždaryti iš kairės
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'dešinė pusė
irDetectRSide = IN0
IF irDetectLSide = 0 IR irDetectRSide = 1 THEN
DO PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'centras
irDetectCentre = IN5 IF irDetectCentre = 0 THEN centas
FREQOUT 10, 1, 38500 'Uždaryti iš kairės
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'dešinė pusė
irDetectRight = IN2
LOOP, kol IRDETECTLSide = 1 ARBA irDetectRSide = 0
ELSEIF irDetectLSide = 1 IR irDetectRSide = 0 THEN
DO PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'centras
irDetectCentre = IN5 IF irDetectCentre = 0 THEN centas
FREQOUT 10, 1, 38500 'Uždaryti iš kairės
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'dešinė pusė
irDetectRight = IN2
KILPTI, KAD IRDETECTLSide = 0 ARBA IRDetectRSide = 1
„ENDIF
IF irDetectCentre = 0 THART 'START
FREQOUT 7, 1, 38500 'kairė pusė irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centras
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'pauzė, kad būtų parodytas aptiktas signalas
IF (irDetectLeft = 1 IR irDetectRight = 0) THEN 'įvertinkite trukmę
„GOSUB“posūkis į kairę
ELSEIF (irDetectLeft = 0 IR irDetectRight = 1) THEN
„GOSUB turnRight“
ELSEIF (irDetectLeft = 1 IR irDetectRight = 1) THEN
„GOSUB turnDecide“
KITAS
GOSUB posūkis atgal
ENDIF
PABAIGA
KILPAS
GALAS
Pasukite į kairę:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP INT = IN RETURN
Pasukite į dešinę:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP INT = 1
GRĄŽINTI
turnReverse:
FOR mLoop = 0–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, 38500re 1DETC, 38500 irDetectRight = IN0 LOOP INT = IN9 = 1
GRĄŽINTI
turnDecide: 'naudoja mažesnį pasipriešinimą, kad matytųsi toliau
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'dešinė pusė
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 IR irDetectRSideFar = 0) THEN 'įvertinkite trukmę
„GOSUB“posūkis į kairę
ELSEIF (irDetectLSideFar = 0 IR irDetectRSideFar = 1) THEN
„GOSUB turnRight“
ELSEIF (irDetectLSideFar = 1 IR irDetectRSideFar = 1) THEN
„GOSUB“posūkis į kairę
KITAS
GOSUB posūkis atgal
ENDIF
GRĄŽINTI
Rekomenduojamas:
Automatinis infraraudonųjų spindulių vandens čiaupas 5 USD: 12 žingsnių (su nuotraukomis)
Automatinis infraraudonųjų spindulių vandens čiaupas už 5 USD: Šiame projekte mes automatiškai pagaminsime vandens išleidimo čiaupą, kurio kaina yra mažesnė nei 5 USD. Norėdami pagaminti šį automatinį infraraudonųjų spindulių vandens čiaupą, naudosime IR jutiklį ir vandens jungiklį. Šiam automatiniam infraraudonųjų spindulių vandens čiaupui gaminti nenaudojamas mikrovaldiklis. Tiesiog padėkite savo
Infraraudonųjų spindulių matricos slaptažodžio įvedimo sistema su „Arduino“: 13 žingsnių
Infraraudonųjų spindulių matricos slaptažodžio įvesties sistema su „Arduino“: „ICStation“komanda pristato jums infraraudonųjų spindulių matricos įvesties sistemą, pagrįstą „ICStation“suderinama lenta „Arduino“. Jis veikia pagal DC 5V maitinimo šaltinį ir naudoja 4 *4 matricos klaviatūrą arba infraraudonųjų spindulių nuotolinio valdymo pultą, kad įvestų slaptažodį, ir mes
Namų automatizavimas su infraraudonųjų spindulių ir „Bluetooth“valdomu relės moduliu: 10 žingsnių
Namų automatizavimas naudojant infraraudonųjų spindulių ir „Bluetooth“valdomą relės modulį: Šiame namų automatizavimo projekte parodžiau, kaip galime valdyti šviesą, ventiliatorių ir kitus buitinius prietaisus iš savo išmaniojo telefono programos ir IR nuotolinio valdymo pulto, naudodami „Arduino“valdymo relės modulio grandinę. Ši „Arduino“valdoma išmanioji relė grandinė turi du režimus, Inf
Skrudinto infraraudonųjų spindulių analizatoriaus laipsnis kavos skrudintuvams: 13 žingsnių (su nuotraukomis)
Kavos skrudintuvų skrudinto infraraudonųjų spindulių analizatoriaus laipsnis: Įvadas Kava yra gėrimas, vartojamas visame pasaulyje dėl savo juslinių ir funkcinių savybių. Kavos skonis, aromatas, kofeinas ir antioksidantų kiekis yra tik keletas savybių, dėl kurių kavos pramonė tapo tokia sėkminga. Kol g
Infraraudonųjų spindulių naktinio matymo skaitmeninė kamera/vaizdo kamera: 17 žingsnių (su nuotraukomis)
Infraraudonųjų spindulių naktinio matymo skaitmeninė kamera/vaizdo kamera: šioje instrukcijoje paaiškinama, kaip „Discovery Kids Night Vision“vaizdo kamerą (kuri melagingai reklamuojama naudojant „tikrą infraraudonųjų spindulių naktinio matymo technologiją“) paversti TIKRA infraraudonųjų spindulių naktinio matymo kamera. Tai panašu į IR internetinę svetainę