INHOUDSOPGAWE:
- Stap 1: Hulpbronne
- Stap 2: Begrip van hoe infrarooi opsporing werk (opsioneel)
- Stap 3: Monteer IR LED's
- Stap 4: Toets infrarooi pare - stroombaan
- Stap 5: Toets infrarooi pare - basiese kode
- Stap 6: Toets infrarooi pare - hardeware + sagteware
- Stap 7: Probleemoplossing (vir probleme met die laaste stap)
- Stap 8: Tweede IR -paar
- Stap 9: Opsporing van infrarooi interferensie (opsioneel)
- Stap 10: Voeg meer IR -pare by
- Stap 11: Vyf IR -pare - stroombaan
- Stap 12: Vyf IR -pare - Kode
Video: Boe-Bot met infrarooi detektore: 12 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie instruksie sal demonstreer hoe u 'n Boe-Bot kan bou en kodeer wat deur 'n doolhof kan navigeer met infrarooi detektore om hindernisse te vermy. Dit is 'n maklik om te volg gids wat dit moontlik maak om maklik aan te pas by u behoeftes. Dit vereis 'n basiese kennis van stroombane en programmering. U moet BASIC Stamp IDE sagteware vir hierdie projek hê. Gratis om hier af te laai. Sowel as die Boe-Bot-robot
Stap 1: Hulpbronne
Elektroniese komponente
Boe -Bot met aansluitkabel Parallax Store - BoeBot Kit
5 Infrarooi LED's Parallax Store - IR -sender monteerpakket
5 Infrarooi skildamestellings
5 infrarooi detektors Parallax -winkel - BoeBot IR -ontvanger
Weerstande
- (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Ω
Geassorteerde bedrading ABRA Electronics - 22 gauge draad
3 LED's ABRA Electronics - 5mm rooi LED
Ondersteuning
Rekenaar
BASIC Stamp Editor - (Freeware)
Gereedskap
Wire Cutter ABRA Electronics - Wire Cutter (opsioneel)
Wire Stripper ABRA Electronics - Wire Stripper
Diverse
Mure (om doolhof te bou)
Stap 2: Begrip van hoe infrarooi opsporing werk (opsioneel)
Infrarooi kopligte
Die infrarooi voorwerpopsporingstelsel wat ons op die Boe-Bot gaan bou, is in verskeie opsigte soos 'n motor se kopligte. As die lig van 'n motor se kopligte van hindernisse af weerkaats, bespeur u oë die struikelblokke en verwerk u brein dit en laat u liggaam die motor daarvolgens lei. Die Boe-Bot gebruik infrarooi LED's vir kopligte. Hulle straal infrarooi uit, en in sommige gevalle weerkaats die infrarooi van voorwerpe en spring terug in die rigting van die Boe-Bot. Die oë van die Boe-Bot is die infrarooi detektors. Die infrarooi detektors stuur seine wat aandui of hulle infrarooi van 'n voorwerp weerspieël al dan nie. Die brein van die Boe-Bot, die BASIC Stamp, neem besluite en bestuur die servomotors op grond van hierdie sensorinvoer. Figuur 7-1 Objekopsporing met IR-kopligte Die IR-detektore het ingeboude optiese filters wat baie min lig toelaat, behalwe die 980 nm infrarooi wat ons met sy interne fotodiodesensor wil opspoor. Die infrarooi detektor het ook 'n elektroniese filter wat slegs seine van ongeveer 38,5 kHz laat deurgaan. Met ander woorde, die detektor soek slegs infrarooi wat 38,500 keer per sekonde aan en af flits. Dit voorkom IR -inmenging van algemene bronne soos sonlig en binnenshuise beligting. Sonlig is GS -inmenging (0 Hz), en binnenshuise beligting is geneig om aan of af te flits teen 100 of 120 Hz, afhangende van die hoofbron in die streek. Aangesien 120 Hz buite die 38,5 kHz bandpasfrekwensie van die elektroniese filter is, word die IR -detektore dit heeltemal geïgnoreer.
-Paralax -studiegids
Stap 3: Monteer IR LED's
Plaas die IR -LED in die groter deel van die omhulsel
Omhul die duidelike deel van die LED met die kleiner deel van die omhulsel
Stap 4: Toets infrarooi pare - stroombaan
Voordat ons te diep in iets ingaan, sal ons toets of die IR -paar werk (een infrarooi LED en een infrarooi detektor).
Begin deur die bogenoemde stroombaan op die broodbord bo-op u Boe-Bot te bou
Stap 5: Toets infrarooi pare - basiese kode
Natuurlik moet ons kode skryf vir ons IR -pare om te werk
Om dit te doen, sal die FREQOUT -opdrag gebruik word. Hierdie opdrag is ontwerp vir klanktone, maar dit kan gebruik word om frekwensies in die infrarooi reeks te produseer. Vir hierdie toets gebruik ons die opdrag:
FREQOUT 8, 1, 38500
dit stuur 'n frekwensie van 38,5 kHz wat 1 ms duur na P8. Die infrarooi LED -stroombaan wat aan P8 gekoppel is, sal hierdie frekwensie uitsaai. As die infrarooi lig deur 'n voorwerp in die pad teruggekeer word na die Boe-Bot, sal die infrarooi detektor 'n sein aan die BASIC Stamp stuur om te laat weet dat die weerkaatste infrarooi lig opgespoor is.
Die sleutel om 'n IR -paar te laat werk, is om 1 ms van 38,5 kHz FREQOUT te stuur en die uitset van die IR -detektor onmiddellik in 'n veranderlike te stoor.
Hierdie voorbeeld toon hoe die waarde van die IR -detektor gestoor word in 'n bietjie veranderlike met die naam irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
Die uitsetstoestand van die IR -detektor as daar geen IR -sein is nie, is hoog. As die IR -detektor die harmoniese 38500 Hz deur 'n voorwerp weerspieël sien, is die uitset daarvan laag. Die uitset van die IR -detektor bly slegs 'n breukdeel van 'n millisekonde laag nadat die FREQOUT -opdrag klaar is met die stuur van die harmonika, daarom is dit noodsaaklik om die uitset van die IR -detektor in 'n veranderlike op te slaan onmiddellik nadat die FREQOUT -opdrag gestuur is. Die waarde wat deur die veranderlike gestoor word, kan dan in die ontfoutingsterminal vertoon word of deur die Boe-Bot gebruik word vir navigasiebesluite.
Stap 6: Toets infrarooi pare - hardeware + sagteware
Noudat u die basiese ken
U kan die kode self probeer maak, of die onderstaande kode gebruik
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Laat die Boe-Bot aan die seriële kabel gekoppel wees, want u sal die DEBUG Terminal gebruik om u IR-paar te toets.
- Plaas 'n voorwerp, soos u hand of 'n vel papier, ongeveer 'n duim van die linker IR -paar
- Verifieer dat as u 'n voorwerp voor die IR -paar plaas, die ontfoutingsterminal 'n 0 vertoon, en as u die voorwerp voor die IR -paar verwyder, 'n 1 verskyn.
- As die ontfoutingsterminal nie die verwagte waardes vertoon nie, probeer die stappe in die probleemopsporingsstap.
Stap 7: Probleemoplossing (vir probleme met die laaste stap)
DEBUG Terminal wat onverwagte waardes vertoon
Kontroleer die stroombaan op kortsluitings, misplaaste of ontbrekende verbindings, beskadigde komponente, verkeerde weerstande of enige ander sigbare probleem
Kontroleer die program op logiese of sintaksisfoute - As u u eie kode vir die laaste stap gebruik het, oorweeg dit om die verskafde kode te gebruik
Kry altyd 0, selfs al is daar geen voorwerpe nie, word voor die Boe-Bot geplaas
Kyk of daar nabygeleë voorwerpe is wat die infrarooi sein weerkaats. Die tafel voor die Boe-Bot kan die oorsaak wees. Beweeg die Boe-Bot na 'n oop ruimte sodat die IR-LED en detektor geen voorwerp in die omgewing kan weerkaats nie.
Lees is meestal 1 keer as daar geen voorwerp voor die Boe-Bot is nie, maar af en toe na 0 flikker
Daar kan interferensie wees van 'n nabygeleë fluorescerende lig; Skakel die nabygeleë fluoresserende ligte uit en herhaal u toetse. As die probleem voortduur, kan stap 9 die probleem openbaar
Stap 8: Tweede IR -paar
Noudat u die program vir die linker IR het, is dit u beurt om die kring te maak en die regte IR -paar te programmeer
- Verander die DEBUG -stelling, titel en opmerkings om na die regte IR -paar te verwys.
- Verander die veranderlike naam van irDetectLeft na irDetectRight. U moet dit op vier plekke in die program doen.
- Verander die pin -argument van die FREQOUT -opdrag van 8 na 2.
- Verander die insetregister wat deur die irDetectRight -veranderlike gemonitor word, van IN9 na IN0.
- Herhaal die toetsstappe in hierdie aktiwiteit vir die regte IR -paar; met die IR LED -kring gekoppel aan P2 en die detektor aan P0.
Stap 9: Opsporing van infrarooi interferensie (opsioneel)
Of u nou probleme ondervind met die opsporing van seine wat nie opgespoor moet word nie, of as u van plan is om u IR -opsporing op 'n ander plek te demonstreer, wil u dalk op steuring toets.
Die konsep van hierdie toetsprogram is redelik eenvoudig; u kan infrarooi seine opspoor sonder om uit te stuur.
U kan presies dieselfde stroombaan gebruik, maar u moet die kode verander. u kan kies om u eie kode te skryf, maar u kan die onderstaande kode gebruik:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 AS IN9 = 0 OF IN0 = 0 DAN DEBUG "Stooring opgespoor" PAUSE 100 LOOP
As u inmenging ondervind, bepaal die waarskynlike bron en skakel dit uit/verwyder dit of verhuis na waar u u Boe-Bot gebruik.
Stap 10: Voeg meer IR -pare by
As u meer akkuraatheid in die beweging van u Boe-Bot verlang, wil u moontlik meer IR-pare byvoeg. 3 Verbeter die prestasie aansienlik in vergelyking met twee; u kan 'n middelste paar gebruik om na 'n direkte hindernis te soek en twee sy -IR's te gebruik om te bepaal hoeveel u moet draai. Die ondergang van die 3 IR -paarontwerp is egter dat u kan weet wanneer u teen 'n muur gly, want die middelste IR -paar word gebruik om hindernisse op te spoor. Om hierdie probleem op te los, kan u 'n IR-paar aan elke kant met 'n hoë weerstandswaarde byvoeg; daarom word infrarooi sein slegs opgespoor as die Boe-Bot naby die sy of 'n muur teen 'n sagte hoek is.
Stap 11: Vyf IR -pare - stroombaan
Wees versigtig wanneer u die twee IR -LED's aan die kant rig, want as u dit draai, kan die kabels raak en kortsluiting veroorsaak.
Stap 12: Vyf IR -pare - Kode
U kan probeer om u Boe-Bot te programmeer voordat u hierdie kode gebruik:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Five IR Pair Deatection Code' Matthew Shaw '8 Mei 2019 (Weergawe 7)' Opsporing van voorwerpe en basiese logiese verwerking om doolhowe op te los
irDetectLeft VAR Bit 'Variable for left
irDetectCentre VAR Bit 'Variable for center irDetectRight VAR Bit' Variable for right irDetectLSide VAR Bit 'Variable for left side irDetectRSide VAR Bit' Variable for right side irDetectLSideFar VAR Bit 'Variable for left side low resistance irDetectRSideFar VAR Bit' Variable for right side
mLoop VAR Word
Motor -PIN 15 'Die linkermotor is gekoppel aan pen 14, pulse gaan hier deur
Rmotor PIN 14 'regs = 15
'snelhede is-> 650-750-850
LFast CON 850 'Conastant vir linkermotor op volspoed RFast CON 650' Conastant vir regtermotor op volle snelheid
LStop CON 750 'Conastant vir linkermotor op volle spoed
RStop CON 650 'Conastant vir regtermotor op volle spoed
LMid CON 830 'Conastant vir linkermotor teen medium spoed
RMid CON 700 'Conastant vir regtermotor teen medium spoed
LSlow CON 770 'Conastant vir linkermotor teen minimum spoed
RSlow CON 730 'Conastant vir regtermotor teen minimum spoed
LRev CON 650 'Konastant vir linkermotor teen volle spoed in trurat
RRev CON 850 'Konastant vir linkermotor teen volle spoed agteruit
FREQOUT 7, 1, 38500 'linkerkant
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'sentrum
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'regterkant
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Links naby
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'regs Sluit
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'regterkant
irDetectRSideFar = IN0
INDIEN irDetectLSide = 0 EN irDetectRSide = 0 WIND dan die hoofbeginsel met u hande verby die twee syverklikkers om die program te begin
Hoof:
PAUSE 1000 DOEN
PULSOUT Lmotor, LFast se linkermotor loop op volle spoed
PULSOUT Rmotor, RFast 'Regtermotor loop op volle spoed
FREQOUT 6, 1, 38500 'sentrum
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Links naby
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'regterkant
irDetectRSide = IN0
AS irDetectLSide = 0 EN irDetectRSide = 1 DAN
DOEN PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'sentrum
irDetectCentre = IN5 AS irDetectCentre = 0 DAN sent
FREQOUT 10, 1, 38500 'Links naby
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'regterkant
irDetectRight = IN2
LOOP TOT irDetectLSide = 1 OF irDetectRSide = 0
ELSEIF irDetectLSide = 1 EN irDetectRSide = 0 DAN
DOEN PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'sentrum
irDetectCentre = IN5 AS irDetectCentre = 0 DAN sent
FREQOUT 10, 1, 38500 'Links naby
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'regterkant
irDetectRight = IN2
LOOP TOT irDetectLSide = 0 OF irDetectRSide = 1
'ENDIF
AS irDetectCentre = 0 DAN 'BEGIN
FREQOUT 7, 1, 38500 'linkerkant irDetectLeft = IN8
FREQOUT 6, 1, 38500 'sentrum
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'pouse om te wys dat die sein opgespoor is
AS (irDetectLeft = 1 EN irDetectRight = 0) evalueer dan die duur
GOSUB draai links
ELSEIF (irDetectLeft = 0 EN irDetectRight = 1) DAN
GOSUB regs
ELSEIF (irDetectLeft = 1 EN irDetectRight = 1) DAN
GOSUB turnBesluit
ANDERS
GOSUB -omkeer
ENDIF
EINDE se einde
LOOP
EINDE
draai links:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP TOT IN0 = 1 RETURN
draai regs:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP TOT IN9 = 1
Keer terug
turnReverse:
VIR mLoop = 0 TOT 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, 38500 irDetectRight = IN0 LOOP TOT IN9 = 1
Keer terug
turnDecide: 'gebruik laer weerstand om verder te sien
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'regterkant
irDetectRSideFar = IN0
AS (irDetectLSideFar = 1 EN irDetectRSideFar = 0) evalueer dan die duur
GOSUB draai links
ELSEIF (irDetectLSideFar = 0 EN irDetectRSideFar = 1) DAN
GOSUB regs
ELSEIF (irDetectLSideFar = 1 EN irDetectRSideFar = 1) DAN
GOSUB draai links
ANDERS
GOSUB -omkeer
ENDIF
Keer terug
Aanbeveel:
Infrarooi beheerde MP3 -speler: 6 stappe (met foto's)
Infrarooi beheerde MP3 -speler: Bou 'n infrarooi afstandbeheerder MP3 -speler vir ongeveer $ 10 (usd). Dit het die gewone kenmerke: speel, breek, speel volgende of vorige, speel 'n enkele liedjie of al die liedjies. Dit het ook gelykmakervariasies en volumebeheer. Alles beheerbaar deur 'n
Die gebruik van infrarooi sensor met Arduino: 8 stappe (met foto's)
Die gebruik van infrarooi sensor met Arduino: wat is 'n infrarooi (ook bekend as IR) sensor? 'N IR -sensor is 'n elektroniese instrument wat IR -seine in spesifieke frekwensiebepalings wat deur standaarde gedefinieer word, skandeer en dit omskakel in elektriese seine op sy uitsetpen (tipies seinpen genoem) . Die IR -sein
Infrarooi lasermerk met Raspberry Pi Zero: 6 stappe (met foto's)
Infrarooi lasermerk met Raspberry Pi Zero: hierdie instruksies sal deur die proses gaan om 'n infrarooi laser -tag -speletjie te maak met behulp van 'n basisbedienerrekenaar en 'n Raspberry Pi -nul vir elke speler. Die projek maak sterk staat op 'n Wifi -verbinding om met die bediener te kommunikeer, wat
Hoe om 'n infrarooi kamera te maak met 'n IR -LED -lig: 5 stappe (met foto's)
Hoe om 'n infrarooi kamera te maak met 'n IR -LED -lig: ek het 'n infrarooi kamera besef om dit in 'n bewegingsopname -stelsel te gebruik. Hiermee kan u ook hierdie soort koel beelde kry: blink voorwerpe in die kameravis wat normaal is in werklikheid. U kan redelike goeie resultate kry teen 'n goedkoop prys. Hy
I2C infrarooi afstandsbediening met die Arduino: 8 stappe (met foto's)
I2C infrarooi afstandsbediening met die Arduino: aanhef Hierdie instruksies bevat besonderhede oor hoe om 'n universele afstandsbediening met I2C vir die koppelvlak te skep. Hoe vreemd sê jy met 'n I2C -slawe -toestel? Ja, 'n I2C -slawe -toestel. Dit is omdat die akkurate tydsberekening van IR -pakkies baie veeleisend is en