Satura rādītājs:
- 1. darbība. Resursi
- 2. darbība. Izpratne par infrasarkano staru noteikšanas darbību (pēc izvēles)
- 3. solis: IR gaismas diožu montāža
- 4. solis: Infrasarkano staru pāru pārbaude - ķēde
- 5. solis: Infrasarkano staru pāru pārbaude - pamata kods
- 6. darbība. Infrasarkano staru pāru pārbaude - aparatūra + programmatūra
- 7. darbība. Problēmu novēršana (ja rodas pēdējās darbības problēmas)
- 8. solis: otrais IR pāris
- 9. darbība. Infrasarkano staru traucējumu noteikšana (pēc izvēles)
- 10. darbība. Papildu IR pāru pievienošana
- 11. solis: pieci IR pāri - ķēde
- 12. solis: pieci IR pāri - kods
Video: Boe-Bot ar infrasarkanajiem detektoriem: 12 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šī pamācība parādīs, kā izveidot un kodēt Boe-Bot, kas var pārvietoties labirintā, izmantojot infrasarkano staru detektorus, lai izvairītos no šķēršļiem. Šis ir viegli izpildāms ceļvedis, kas ļauj viegli veikt izmaiņas atbilstoši jūsu vajadzībām. Tam nepieciešama pamatzināšanas par shēmām un programmēšanu. Šim projektam jums būs nepieciešama BASIC Stamp IDE programmatūra. Bezmaksas lejupielādei šeit. Kā arī Boe-Bot robots
1. darbība. Resursi
Elektroniskās sastāvdaļas
Boe -Bot ar savienotāja kabeli Parallax Store - BoeBot komplekts
5 infrasarkanās gaismas diodes paralaksu veikals - IR raidītāju montāžas komplekts
5 Infrasarkanā vairoga mezgli
5 infrasarkano staru detektori Parallax Store - BoeBot IR uztvērējs
Rezistori
- (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Ω
Elektroinstalācijas asorti ABRA Electronics - 22 gabarītu vads
3 gaismas diodes ABRA Electronics - 5 mm sarkana gaismas diode
Atbalsts
Dators
BASIC Zīmogu redaktors - (bezmaksas programmatūra)
Rīki
Stiepļu griezējs ABRA Electronics - stieples griezējs (pēc izvēles)
Stiepļu noņēmējs ABRA Electronics - Stiepļu noņēmējs
Dažādi
Sienas (labirinta celtniecībai)
2. darbība. Izpratne par infrasarkano staru noteikšanas darbību (pēc izvēles)
Infrasarkanie lukturi
Infrasarkano objektu noteikšanas sistēma, kuru mēs veidosim uz Boe-Bot, vairākos aspektos ir kā automašīnas lukturi. Kad automašīnas priekšējo lukturu gaisma atspoguļo šķēršļus, jūsu acis atklāj šķēršļus un jūsu smadzenes tos apstrādā un liek jūsu ķermenim atbilstoši vadīt automašīnu. Boe-Bot priekšējiem lukturiem izmantos infrasarkanās gaismas diodes. Tie izstaro infrasarkano staru, un dažos gadījumos infrasarkanais starojums atstarojas no objektiem un atlec Boe-Bot virzienā. Boe-Bot acis ir infrasarkanie detektori. Infrasarkanie detektori sūta signālus, norādot, vai tie nosaka no objekta atstaroto infrasarkano staru. Boe-Bot smadzenes, BASIC Stamp, pieņem lēmumus un darbina servodzinējus, pamatojoties uz šo sensora ieeju. 7-1. Attēls Objektu noteikšana ar IR priekšējiem lukturiem IR detektoros ir iebūvēti optiskie filtri, kas nodrošina ļoti maz gaismas, izņemot 980 nm infrasarkano staru, ko vēlamies noteikt ar tā iekšējo fotodiodes sensoru. Infrasarkanajam detektoram ir arī elektronisks filtrs, kas ļauj iziet tikai aptuveni 38,5 kHz signāliem. Citiem vārdiem sakot, detektors meklē tikai infrasarkano staru, kas mirgo 38 500 reizes sekundē. Tas novērš IS traucējumus no tādiem izplatītiem avotiem kā saules gaisma un iekštelpu apgaismojums. Saules gaisma ir līdzstrāvas traucējumi (0 Hz), un iekštelpu apgaismojums mēdz ieslēgties un izslēgties ar 100 vai 120 Hz frekvenci atkarībā no reģiona galvenā barošanas avota. Tā kā 120 Hz atrodas ārpus elektroniskā filtra 38,5 kHz joslas caurlaides frekvences, IR detektori to pilnībā ignorē.
-Paralaksa studentu ceļvedis
3. solis: IR gaismas diožu montāža
Ievietojiet IR gaismas diodi korpusa lielākajā daļā
Pievienojiet gaismas diodes caurspīdīgo daļu ar mazāko korpusa daļu
4. solis: Infrasarkano staru pāru pārbaude - ķēde
Pirms kaut kā pārāk dziļi iedziļināties, mēs pārbaudīsim, vai IR pāris darbojas (viens infrasarkanais LED un viens infrasarkanais detektors).
Sāciet, izveidojot iepriekš minēto ķēdi uz maizes dēļa, kas uzstādīts jūsu Boe-Bot augšpusē
5. solis: Infrasarkano staru pāru pārbaude - pamata kods
Protams, mums būs jāraksta kods, lai mūsu IR pāri darbotos
Lai to izdarītu, tiks izmantota komanda FREQOUT. Šī komanda bija paredzēta audio signāliem, tomēr to var izmantot, lai radītu infrasarkanā diapazona frekvences. Šim testam mēs izmantosim komandu:
FREQOUT 8, 1, 38500
tas uz P8 nosūtīs 38,5 kHz frekvenci, kas ilgst 1 ms. Infrasarkanā LED ķēde, kas savienota ar P8, pārraidīs šo frekvenci. Ja infrasarkano gaismu atstaro atpakaļ Boe-Bot objekts, kas atrodas tā ceļā, infrasarkanais detektors nosūtīs BASIC zīmoga signālu, lai informētu, ka atstarotā infrasarkanā gaisma ir konstatēta.
Galvenais, lai IR pāris darbotos, ir nosūtīt 1 ms 38,5 kHz FREQOUT un nekavējoties saglabāt IR detektora izeju mainīgā.
Šis piemērs parāda IR detektora vērtības saglabāšanu bitu mainīgajā ar nosaukumu irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
IR detektora izejas stāvoklis, kad neredz IR signālu, ir augsts. Kad IR detektors redz 38500 Hz harmoniku, ko atspoguļo objekts, tā izvade ir zema. Pēc detektora FREQOUT nosūtīšanas IS detektora izeja paliek zema tikai milisekundes daļu, tāpēc ir svarīgi saglabāt IR detektora izeju mainīgā uzreiz pēc FREQOUT komandas nosūtīšanas. Mainīgā saglabāto vērtību pēc tam var parādīt atkļūdošanas terminālī vai izmantot Boe-Bot navigācijas lēmumu pieņemšanai.
6. darbība. Infrasarkano staru pāru pārbaude - aparatūra + programmatūra
Tagad, kad jūs zināt pamatus, mēs varam apvienot aparatūru un programmatūru, lai kopā pārbaudītu pāri un iegūtu reāllaika atsauksmes par to, ko IR pāris nosaka
Jūs varat mēģināt izveidot kodu pats vai izmantot zemāk esošo kodu
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Atstājiet Boe-Bot savienotu ar seriālo kabeli, jo jūs izmantosit DEBUG termināli, lai pārbaudītu savu IR pāri.
- Novietojiet priekšmetu, piemēram, roku vai papīra lapu, apmēram collas attālumā no kreisā IR pāra
- Pārliecinieties, ka, novietojot objektu IS pāra priekšā, atkļūdošanas terminālis parāda 0, un, noņemot objektu no IR pāra, tas parāda 1.
- Ja atkļūdošanas terminālī netiek parādītas paredzamās vērtības, izmēģiniet problēmu novēršanas darbības.
7. darbība. Problēmu novēršana (ja rodas pēdējās darbības problēmas)
DEBUG terminālis parāda negaidītas vērtības
Pārbaudiet, vai ķēdē nav īssavienojumu, nepareizi novietoti vai trūkst savienotāju, bojāti komponenti, nepareizi rezistori vai kāda cita redzama problēma
Pārbaudiet, vai programmā nav loģisku vai sintakses kļūdu - ja pēdējā posmā izmantojāt savu kodu, apsveriet iespēju izmantot norādīto kodu
Vienmēr iegūstot 0, pat ja objektu nav novietots Boe-Bot priekšā
Pārbaudiet, vai tuvumā atrodas objekti, kas atspoguļo infrasarkano signālu. Cēlonis varētu būt galds Boe-Bot priekšā. Pārvietojiet Boe-Bot atklātā telpā, lai IR gaismas diode un detektors nevarētu atstarot nevienu tuvumā esošu objektu.
Lasīšana notiek 1 reizi, kad Boe-Bot priekšā nav objekta, bet laiku pa laikam mirgo līdz 0
Var rasties traucējumi no tuvumā esošās dienasgaismas gaismas; Izslēdziet tuvumā esošās dienasgaismas lampas un atkārtojiet testus. Ja problēma joprojām pastāv, 9. darbība var atklāt problēmu
8. solis: otrais IR pāris
Tagad, kad jums ir kreisā IS programma, ir jūsu kārta izveidot ķēdi un ieprogrammēt pareizo IR pāri
- Mainiet DEBUG paziņojumu, nosaukumu un komentārus, lai atsauktos uz labo IR pāri.
- Mainiet mainīgā nosaukumu no irDetectLeft uz irDetectRight. Jums tas būs jādara četrās programmas vietās.
- Mainiet komandas FREQOUT Pin pin argumentu no 8 uz 2.
- Mainiet ievades reģistru, ko uzrauga mainīgais irDetectRight, no IN9 uz IN0.
- Atkārtojiet testēšanas darbības šajā darbībā labajam IR pārim; ar IR LED ķēdi, kas savienota ar P2, un detektoru ar P0.
9. darbība. Infrasarkano staru traucējumu noteikšana (pēc izvēles)
Neatkarīgi no tā, vai rodas problēmas ar tādu signālu noteikšanu, kurus nevajadzētu atklāt, vai plānojat demonstrēt savu IR noteikšanu citā vietā, iespējams, vēlēsities pārbaudīt traucējumus.
Šīs testēšanas programmas koncepcija ir diezgan vienkārša, jūs atklājat infrasarkanos signālus, tos nesūtot.
Jūs varat izmantot tieši to pašu shēmu, bet jums būs jāmaina kods. jūs varat izvēlēties rakstīt savu kodu, bet varat izmantot tālāk norādīto kodu:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR bits DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 VAI IN0 = 0 THEN DEBUG "Traucējumi konstatēti" PAUSE 100 LOOP
Ja rodas traucējumi, nosakiet iespējamo avotu un izslēdziet/noņemiet to vai pārvietojiet vietu, kur izmantojat savu Boe-Bot.
10. darbība. Papildu IR pāru pievienošana
Ja vēlaties lielāku precizitāti Boe-Bot kustībā, iespējams, vēlēsities pievienot vairāk IR pāru. 3 ievērojami uzlabo veiktspēju salīdzinājumā ar diviem; jūs varat izmantot centra pāri, lai meklētu tiešus šķēršļus, un izmantot divus sānu IR, lai noteiktu, cik daudz jāgriežas. Tomēr 3 IR pāru konstrukcijas sabrukums ir tāds, ka jūs, iespējams, zināt, kad slīdat pret sienu, jo centrālais IR pāris tiek izmantots šķēršļu noteikšanai. Lai atrisinātu šo problēmu, katrai pusei varat pievienot infrasarkano staru pāri ar augstu pretestības vērtību, tāpēc infrasarkanais signāls tiks atklāts tikai tad, ja Boe-Bot ir tuvu sānam vai maigā leņķī.
11. solis: pieci IR pāri - ķēde
Esiet piesardzīgs, novirzot abas IR gaismas diodes uz sāniem, jo to pagriešana var izraisīt vadu pieskārienu un īssavienojumu.
12. solis: pieci IR pāri - kods
Pirms šī koda izmantošanas, iespējams, vēlēsities programmēt savu Boe-Bot:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Five IR Pair Deatection Code' Matthew Shaw ', 2019. gada 8. maijs (7. versija)' Objektu noteikšana un pamata loģiskā apstrāde, lai atrisinātu labirintus
irDetectLeft VAR Bit 'Mainīgais pa kreisi
irDetectCentre VAR Bit 'Mainīgais centrālajam irDetectRight VAR Bit' Mainīgais labajam irDetectLSide VAR Bit 'Mainīgais kreisajai pusei irDetectRSide VAR Bit' Mainīgais labajai pusei irDetectLSideFar VAR Bit 'Mainīgais kreisās puses zemas pretestības irDetectRSideFar VAR Bit' Mainīgais labajai pusei
mLoop VAR vārds
Lmotora PIN 15 'Kreisais motors ir savienots ar tapu 14, impulsi iet šeit
Rotora PIN 14 'pa labi = 15
"ātrumi ir-> 650-750-850
LFast CON 850 'Conastant kreisajam motoram ar pilnu ātrumu RFast CON 650' Conastant labajam motoram ar pilnu ātrumu
LStop CON 750 'Konstants kreisajam motoram ar pilnu ātrumu
RStop CON 650 'Konstatants labajam motoram ar pilnu ātrumu
LMid CON 830 'Konstants kreisajam motoram vidējā ātrumā
RMid CON 700 'Konstatants labajam motoram vidējā ātrumā
LSlow CON 770 'Konstants kreisajam motoram ar minimālu ātrumu
RSlow CON 730 'Konstants pareizajam motoram ar minimālu ātrumu
LRev CON 650 'Konstants kreisajam motoram ar pilnu ātrumu atpakaļgaitā
RRev CON 850 'Konstants kreisajam motoram ar pilnu ātrumu atpakaļgaitā
FREQOUT 7, 1, 38500 'kreisā puse
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centrs
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'labā puse
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Aizvērt pa kreisi
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'pa labi Aizvērt
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'labā puse
irDetectRSideFar = IN0
IF irDetectLSide = 0 UN irDetectRSide = 0 TAD galvenā 'STARTING COMMAND' lai sāktu programmu, pamāj ar rokām gar abiem sānu detektoriem
Galvenais:
PAUZE 1000 DARĪT
PULSOUT Lmotor, LFast 'kreisais motors darbojas ar pilnu ātrumu
PULSOUT Rmotor, RFast 'Labais motors darbojas ar pilnu ātrumu
FREQOUT 6, 1, 38500 'centrs
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Aizvērt pa kreisi
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'labā puse
irDetectRSide = IN0
IF irDetectLSide = 0 UN irDetectRSide = 1 THEN
DO PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'centrs
irDetectCentre = IN5 IF irDetectCentre = 0 THEN centi
FREQOUT 10, 1, 38500 'Aizvērt pa kreisi
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'labā puse
irDetectRight = IN2
CILPT LĪDZ IRDetectLSide = 1 VAI irDetectRSide = 0
ELSEIF irDetectLSide = 1 UN irDetectRSide = 0 THEN
DO PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'centrs
irDetectCentre = IN5 IF irDetectCentre = 0 THEN centi
FREQOUT 10, 1, 38500 'Aizvērt pa kreisi
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'labā puse
irDetectRight = IN2
CILPT LĪDZ IRDetectLSide = 0 VAI IRDetectRSide = 1
“ENDIF
IF irDetectCentre = 0 THEN 'START
FREQOUT 7, 1, 38500 'kreisā puse irDetectLeft = IN8
FREQOUT 6, 1, 38500 'centrs
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'pauze, lai parādītu konstatēto signālu
IF (irDetectLeft = 1 UN irDetectRight = 0) THEN 'novērtē ilgumu
GOSUB pagrieziens pa kreisi
ELSEIF (irDetectLeft = 0 UN irDetectRight = 1) TAD
GOSUB pagrieziena tiesības
ELSEIF (irDetectLeft = 1 UN irDetectRight = 1) TAD
GOSUB turnDecide
CITI
GOSUB pagrieziens
ENDIF
ENDIF 'END
LOOP
BEIGAS
pagriezies pa kreisi:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP līdz IN0 = 1 RETURN
nogriezieties pa labi:
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
ATGRIEZTIES
turnReverse:
FOR mLoop = 0 līdz 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 2 INDETC, 38500 irDetectRight = IN0 LOOP LĪDZ IN9 = 1
ATGRIEZTIES
turnDecide: 'izmanto zemāku pretestību, lai redzētu tālāk
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'labā puse
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 UN irDetectRSideFar = 0) THEN 'novērtē ilgumu
GOSUB pagrieziens pa kreisi
ELSEIF (irDetectLSideFar = 0 UN irDetectRSideFar = 1) TAD
GOSUB pagrieziena tiesības
ELSEIF (irDetectLSideFar = 1 UN irDetectRSideFar = 1) TAD
GOSUB pagrieziens pa kreisi
CITI
GOSUB pagrieziens
ENDIF
ATGRIEZTIES
Ieteicams:
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Skrūve - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): 6 soļi (ar attēliem)
Bolt - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): Induktīvās uzlādes (pazīstamas arī kā bezvadu uzlāde vai bezvadu uzlāde) ir bezvadu enerģijas pārneses veids. Tas izmanto elektromagnētisko indukciju, lai nodrošinātu elektroenerģiju pārnēsājamām ierīcēm. Visizplatītākā lietojumprogramma ir Qi bezvadu uzlādes st
Ciclop 3D skeneris Mans ceļš soli pa solim: 16 soļi (ar attēliem)
Ciclop 3d skeneris mans ceļš soli pa solim: Sveiki, es sapratīšu slaveno Ciclop 3D skeneri. Visi soļi, kas ir labi izskaidroti sākotnējā projektā, nav pieejami. Vispirms veicu dažus labojumus, lai vienkāršotu procesu Es izdrukāju pamatni un atkārtoti pārveidoju PCB, bet turpiniet
Kamera atvieglotiem laika intervāla attēliem: 22 soļi (ar attēliem)
Kamera atvieglotiem laika intervāla attēliem: es pārbaudīju vienu no citām instrukcijām par laika nobīdes filmu veidošanu. Viņš diezgan labi aptvēra filmas daļu. Viņš pastāstīja par bezmaksas programmatūru, kuru varat lejupielādēt, lai izveidotu filmas. Es sev teicu: domāju, ka redzēšu, vai varu