Tartalomjegyzék:
- 1. lépés: Erőforrások
- 2. lépés: Az infravörös érzékelés működésének megértése (opcionális)
- 3. lépés: IR LED -ek összeszerelése
- 4. lépés: Az infravörös párok tesztelése - áramkör
- 5. lépés: Az infravörös párok tesztelése - alapkód
- 6. lépés: Infravörös párok tesztelése - Hardver + szoftver
- 7. lépés: Hibaelhárítás (az utolsó lépéssel kapcsolatos problémák esetén)
- 8. lépés: Második IR pár
- 9. lépés: Az infravörös interferencia észlelése (opcionális)
- 10. lépés: További IR -párok hozzáadása
- 11. lépés: Öt IR -pár - áramkör
- 12. lépés: Öt IR -pár - kód
Videó: Boe-Bot infravörös érzékelőkkel: 12 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ez az oktatóanyag bemutatja, hogyan lehet felépíteni és kódolni egy Boe-Bot-ot, amely infravörös érzékelők segítségével navigálhat a labirintusban az akadályok elkerülése érdekében. Ez egy könnyen követhető útmutató, amely lehetővé teszi az igényeinek megfelelő egyszerű módosításokat. Ehhez alapvető ismeretekre van szükség az áramkörökről és a programozásról. Ehhez a projekthez BASIC Stamp IDE szoftverrel kell rendelkeznie. Itt ingyenesen letölthető. Valamint a Boe-Bot robot
1. lépés: Erőforrások
Elektromos alkatrészek
Boe -Bot csatlakozó kábellel Parallax Store - BoeBot Kit
5 Infravörös LED Parallax Store - IR távadó összeszerelő készlet
5 infravörös pajzs szerelvény
5 infravörös érzékelő Parallax Store - BoeBot IR vevő
Ellenállások
- (2) 4,7 kΩ ABRA Electronics - 4,7 kΩ
- (5) 220 Ω ABRA elektronika - 220 Ω
- (2) 1 kΩ ABRA elektronika - 1 kΩ
- (5) 2 k ABRA elektronika - 2 kΩ
Vegyes huzalozás ABRA Electronics - 22 -es vezeték
3 LED ABRA Electronics - 5 mm -es piros LED
Támogatás
Számítógép
BASIC Stamp Editor - (ingyenes)
Eszközök
Huzalvágó ABRA Electronics - huzalvágó (opcionális)
Huzalcsupaszító ABRA Electronics - Drótcsíkoló
Egyéb
Falak (labirintus építéséhez)
2. lépés: Az infravörös érzékelés működésének megértése (opcionális)
Infravörös fényszórók
Az infravörös tárgyérzékelő rendszer, amelyet a Boe-Botra építünk, több szempontból is olyan, mint egy autó fényszórója. Amikor az autó fényszóróinak fénye visszaverődik az akadályokról, a szeme észleli az akadályokat, és az agya feldolgozza azokat, és a teste ennek megfelelően irányítja az autót. A Boe-Bot infravörös LED-eket használ a fényszórókhoz. Infravörös sugárzást bocsátanak ki, és bizonyos esetekben az infravörös fény visszaverődik a tárgyakról, és visszapattan a Boe-Bot irányába. A Boe-Bot szemei az infravörös érzékelők. Az infravörös érzékelők jeleket küldenek, jelezve, hogy érzékelik -e az objektumról visszaverődött infravörös sugárzást. A Boe-Bot agya, a BASIC Stamp, ezen érzékelő bemenet alapján dönt, és működteti a szervomotorokat. 7-1. Ábra Tárgyfelismerés infravörös fényszórókkal Az infravörös érzékelők beépített optikai szűrőkkel rendelkeznek, amelyek nagyon kevés fényt engednek, kivéve a 980 nm-es infravörös sugárzást, amelyet a belső fotodióda-érzékelővel akarunk érzékelni. Az infravörös érzékelő elektronikus szűrővel is rendelkezik, amely csak 38,5 kHz körüli jeleket enged át. Más szóval, az érzékelő csak infravörös jelet keres, amely másodpercenként 38, 500 -szor villog. Ez megakadályozza az infravörös interferenciát olyan gyakori forrásokból, mint a napfény és a beltéri világítás. A napfény egyenáramú interferencia (0 Hz), és a beltéri világítás általában 100 vagy 120 Hz -en villog és bekapcsol, a régió fő áramforrásától függően. Mivel a 120 Hz kívül esik az elektronikus szűrő 38,5 kHz -es sávfrekvenciáján, az infravörös érzékelők teljesen figyelmen kívül hagyják.
-Paralax Student Guide
3. lépés: IR LED -ek összeszerelése
Helyezze be az IR LED -et a burkolat nagyobb részébe
Zárja be a LED világos részét a burkolat kisebb részével
4. lépés: Az infravörös párok tesztelése - áramkör
Mielőtt bármibe is mélyen belemélyednénk, tesztelni fogjuk, hogy megbizonyosodjunk arról, hogy az IR pár működik (egy infravörös LED és egy infravörös érzékelő).
Kezdje azzal, hogy felépíti a fenti áramkört a Boe-Bot tetejére szerelt kenyérlapra
5. lépés: Az infravörös párok tesztelése - alapkód
Természetesen az IR párok működéséhez kódot kell írnunk
Ehhez a FREQOUT parancsot fogja használni. Ezt a parancsot hanghangokra tervezték, de használható infravörös tartományú frekvenciák előállítására. Ehhez a teszthez a következő parancsot fogjuk használni:
FREKOUT 8, 1, 38500
ez 38,5 kHz -es, 1 ms -os frekvenciát küld a P8 -nak. A P8 -hoz csatlakoztatott infravörös LED áramkör ezt a frekvenciát sugározza. Ha az infravörös fényt visszaveri a Boe-Bot egy tárgy, amely az útjában van, az infravörös érzékelő jelet küld a BASIC bélyegzőnek annak tudatására, hogy a visszavert infravörös fényt észlelték.
Az IR pár működésének kulcsa az, hogy küldjön 1 ms 38,5 kHz -es FREQOUT -ot, és azonnal tárolja az infravörös érzékelő kimenetét egy változóban.
Ez a példa azt mutatja, hogy az IR detektor értékét az irDectectLeft nevű bites változóban tárolják
FREKOUT 8, 1, 38500
irDetectLeft = IN9
Az infravörös érzékelő kimeneti állapota magas, ha nem látja az infravörös jelet. Amikor az infravörös érzékelő látja a 38500 Hz -es felharmonikát, amelyet egy objektum tükröz, a kimenete alacsony. Az infravörös érzékelő kimenete csak ezredmásodperc töredékéig marad alacsony, miután a FREQOUT parancs befejezte a felharmonikus küldését, ezért elengedhetetlen, hogy az IR érzékelő kimenetét a FREQOUT parancs elküldése után azonnal egy változóban tárolja. A változó által tárolt érték ezután megjeleníthető a hibakeresési terminálon, vagy felhasználható a Boe-Bot navigációs döntéseihez.
6. lépés: Infravörös párok tesztelése - Hardver + szoftver
Most, hogy ismeri az alapokat, összeállíthatjuk a hardvert és a szoftvert, hogy együtt tesztelhessünk egy párt, és valós idejű visszajelzést kapjunk arról, amit az IR-pár észlel
Kipróbálhatja a kód elkészítését saját maga, vagy használhatja az alábbi kódot
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Hagyja a Boe-Bot-ot a soros kábelhez csatlakoztatva, mert a DEBUG terminált fogja használni az IR pár teszteléséhez.
- Helyezzen egy tárgyat, például a kezét vagy egy papírlapot, körülbelül egy hüvelyknyire a bal oldali infravörös párostól
- Ellenőrizze, hogy amikor egy objektumot az infravörös pár elé helyez, a hibakeresési terminál 0 -t mutat, és amikor eltávolítja az objektumot az infravörös pár elől, akkor 1 -et jelenít meg.
- Ha a hibakeresési terminál nem jeleníti meg a várt értékeket, próbálja meg a Hibaelhárítás lépés lépéseit.
7. lépés: Hibaelhárítás (az utolsó lépéssel kapcsolatos problémák esetén)
DEBUG terminál váratlan értékeket jelenít meg
Ellenőrizze az áramkört, nincs -e rövidzárlat, rosszul elhelyezett vagy hiányzó csatlakozók, sérült alkatrészek, helytelen ellenállások vagy egyéb látható probléma
Ellenőrizze a program logikai vagy szintaktikai hibáit - Ha az utolsó lépésben saját kódját használta, fontolja meg a megadott kód használatát
Mindig 0-t kap, még akkor is, ha nincsenek tárgyak a Boe-Bot előtt
Ellenőrizze, hogy vannak -e olyan közeli tárgyak, amelyek tükrözik az infravörös jelet. A Boe-Bot előtti asztal lehet az oka. Vigye a Boe-Bot-ot nyílt térbe, hogy az infravörös LED és az érzékelő ne tükröződhessen közeli tárgyakról.
Az olvasás legtöbbször 1, amikor nincs tárgy a Boe-Bot előtt, de időnként 0-ra villog
A közeli fluoreszkáló fény interferenciát okozhat; Kapcsolja ki a közeli fénycsöveket, és ismételje meg a vizsgálatokat. Ha a probléma továbbra is fennáll, a 9. lépés felfedheti a problémát
8. lépés: Második IR pár
Most, hogy megvan a bal oldali infravörös program, akkor rajtad a sor, hogy elkészítsd az áramkört és programozd be a jobb oldali infrapárt
- Módosítsa a DEBUG utasítást, a címet és a megjegyzéseket, hogy a megfelelő IR párra hivatkozzon.
- Módosítsa a változó nevét irDetectLeft értékről irDetectRight értékre. Ezt a program négy helyén kell elvégeznie.
- Módosítsa a FREQOUT parancs Pin -argumentumát 8 -ról 2 -re.
- Változtassa meg az irDetectRight változó által felügyelt bemeneti regisztert IN9 -ről IN0 -ra.
- Ismételje meg a tesztelési lépéseket ebben a tevékenységben a megfelelő IR pár esetében; az IR LED áramkörrel a P2 -hez és az érzékelővel a P0 -hoz.
9. lépés: Az infravörös interferencia észlelése (opcionális)
Függetlenül attól, hogy problémákat tapasztal a nem észlelhető jelek észlelésekor, vagy azt tervezi, hogy egy másik helyen demonstrálja az infravörös érzékelést, érdemes tesztelni az interferenciát.
Ennek a tesztprogramnak a koncepciója meglehetősen egyszerű, az infravörös jeleket észleli anélkül, hogy kiküldene.
Pontosan ugyanazt az áramkört használhatja, de módosítania kell a kódot. választhatja saját kódjának írását, de használhatja az alábbi kódot:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 OR IN0 = 0 THEN DEBUG "Interferencia észlelve" PAUSE 100 LOOP
Ha interferenciát tapasztal, határozza meg a valószínű forrást, és kapcsolja ki/távolítsa el, vagy helyezze át a Boe-Bot működtető helyére.
10. lépés: További IR -párok hozzáadása
Ha nagyobb pontosságra vágyik Boe-Botjának mozgásában, érdemes további IR-párokat hozzáadni. 3 Jól javítja a teljesítményt kettőhöz képest; egy középső párral közvetlen akadályt kereshet, és két oldalsó IR segítségével meghatározhatja, hogy mennyit kell fordulnia. A 3 infravörös páros kialakítás bukása azonban az, hogy tudhatja, amikor a falnak csúszik, mivel a középső IR -pár az akadályok észlelésére szolgál. Ennek a problémának a megoldásához hozzáadhat egy IR-párt mindkét oldalához nagy ellenállási értékkel, ezért az infravörös jelet csak akkor észleli, ha a Boe-Bot közel van az oldalhoz vagy a falhoz enyhe szögben.
11. lépés: Öt IR -pár - áramkör
Legyen óvatos, amikor a két infravörös LED -et az oldalára irányítja, mivel azok elcsavarása a vezetékek érintését és rövidzárlatot okozhat.
12. lépés: Öt IR -pár - kód
Érdemes kipróbálni a Boe-Bot programozását a kód használata előtt:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Five IR Pair Deatection Code' Matthew Shaw '2019. május 8. (Változat 7)' Objektumok észlelése és alapvető logikai feldolgozás a mazes megoldásához
irDetectLeft VAR Bit 'Változó balra
irDetectCentre VAR Bit 'Változó a középső irDetectRight VAR Bit' Változó a jobb irDetectLSide VAR Bit 'Változó a bal oldali irDetectRSide VAR Bit' Változó a jobb oldali irDetectLSideFar VAR Bit 'Változó a bal oldali alacsony ellenállás irDetectRSideFar VAR Bit' Változó a jobb oldali alacsony
mLoop VAR szó
Lmotor PIN 15 'A bal motor a 14 -es csaphoz van csatlakoztatva, az impulzusok itt mennek keresztül
Rmotor PIN 14 'jobb = 15
A sebesség-> 650-750-850
LFast CON 850 'Conastant a bal motorhoz teljes sebességgel RFast CON 650' Conastant a jobb motorhoz teljes sebességgel
LStop CON 750 'Conastant a bal motorhoz teljes sebességgel
RStop CON 650 'Castant a jobb motorhoz teljes sebességgel
LMid CON 830 'Conastant bal motorhoz közepes sebességgel
RMid CON 700 'Conastant a jobb motorhoz közepes sebességgel
LSlow CON 770 'Konsztáns a bal motorhoz minimális fordulatszámon
RSlow CON 730 'Conastant a jobb motorhoz minimális fordulatszámon
LRev CON 650 'Conastant a bal motorhoz teljes fordulatszámon hátramenetben
RRev CON 850 'Conastant bal motorhoz teljes fordulatszámon hátramenetben
FREQOUT 7, 1, 38500 'bal oldal
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'központ
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'jobb oldal
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Bal Bezárás
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'jobb Bezárás
irDetectRSide = IN0
FREKOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'jobb oldal
irDetectRSideFar = IN0
HA irDetectLSide = 0 ÉS IRDetectRSide = 0 Ekkor a fő 'INDÍTÁSI PARANCS a program elindításához intezzen a kezével a két oldalsó érzékelő mellett
Fő:
SZÜNET 1000 DO
PULSOUT Lmotor, LFast 'bal motorja teljes sebességgel jár
PULSOUT Rmotor, RFast 'A jobb motor teljes sebességgel működik
FREQOUT 6, 1, 38500 'központ
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Bal Bezárás
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'jobb oldal
irDetectRSide = IN0
HA irDetectLSide = 0 ÉS IRDetectRSide = 1 THEN
DO PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'központ
irDetectCentre = IN5 HA irDetectCentre = 0 THEN cent
FREQOUT 10, 1, 38500 'Bal Bezárás
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'jobb oldal
irDetectRight = IN2
LOOP MINDIG IRDETECTLSide = 1 VAGY irDetectRSide = 0
ELSEIF irDetectLSide = 1 ÉS IRDetectRSide = 0 THEN
DO PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'központ
irDetectCentre = IN5 IF irDetectCentre = 0 THEN cent
FREQOUT 10, 1, 38500 'Bal Bezárás
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'jobb oldal
irDetectRight = IN2
LOOP MINDIG IRDETECTLSide = 0 VAGY irDetectRSide = 1
„ENDIF
HA irDetectCentre = 0 THEN 'START
FREQOUT 7, 1, 38500 'bal oldal irDetectLeft = IN8
FREQOUT 6, 1, 38500 'központ
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 szünet az észlelt jel megjelenítéséhez
IF (irDetectLeft = 1 AND irDetectRight = 0) THEN 'értékelje az időtartamot
GOSUB fordulat Balra
ELSEIF (irDetectLeft = 0 ÉS irDetectRight = 1) AKKOR
GOSUB turnRight
ELSEIF (irDetectLeft = 1 ÉS irDetectRight = 1) AKKOR
GOSUB turnDecide
MÁS
GOSUB turnReverse
ENDIF
ENDIF 'VÉGE
HUROK
VÉGE
forduljon balra:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP IN0 = 1 RETURN
jobbra:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP IN9 = 1
VISSZATÉRÉS
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, 38500 1DETC, 38500 irDetectRight = IN0 LOOP IN9 = 1
VISSZATÉRÉS
turnDecide: 'alacsonyabb ellenállást alkalmaz a további látáshoz
FREKOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'jobb oldal
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 ÉS irDetectRSideFar = 0) THEN 'értékelje az időtartamot
GOSUB fordulat Balra
ELSEIF (irDetectLSideFar = 0 ÉS irDetectRSideFar = 1) AKKOR
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 ÉS irDetectRSideFar = 1) AKKOR
GOSUB fordulat Balra
MÁS
GOSUB turnReverse
ENDIF
VISSZATÉRÉS
Ajánlott:
Akadálykerülő robot infravörös érzékelőkkel mikrokontroller nélkül: 6 lépés
Akadálykerülő robot infravörös érzékelőkkel mikrokontroller nélkül: Nos, ez a projekt egy régebbi projekt, 2014 -ben készítettem júliusban vagy augusztusban, gondoltam megosztom veletek. Ez egy egyszerű akadályozó robot, amely infravörös érzékelőket használ, és mikrovezérlő nélkül működik. Az infravörös érzékelők opamp IC i
Szőnyeg érzékelőkkel/ RF kommunikáció az Arduino Micro -val: 4 lépés (képekkel)
Szőnyeg érzékelőkkel/ RF kommunikáció Arduino Micro -val: Nemrég fejeztem be az Egyenlően változatos telepítést, amely lámpák sorozatából áll, amelyek reagálnak a lámpák alatt lévő szőnyegbe helyezett érzékelőkre. Így készítettem el a szőnyeget nyomásérzékelőkkel. Remélem hasznosnak találod
Akadálykerülő robot ultrahangos érzékelőkkel: 9 lépés (képekkel)
Akadálykerülő robot ultrahangos érzékelők segítségével: Ez egy egyszerű projekt az akadályok elkerülése robotról, ultrahangos érzékelőkkel (HC SR 04) és Arduino Uno táblával. A robot mozog, elkerülve az akadályokat és kiválasztva a legjobb módszert az érzékelők követésére. És kérjük, vegye figyelembe, hogy ez nem egy bemutató projekt, ossza meg
DIY kesztyűvezérlő e-textil érzékelőkkel: 14 lépés (képekkel)
DIY kesztyűvezérlő e-textil érzékelőkkel: Ez az utasítás lépésről lépésre bemutatja, hogyan lehet adatkesztyűt készíteni eTextile érzékelőkkel. A projekt Rachel Freire és Artyom Maxim együttműködése. Rachel a kesztyű textil és eTextile érzékelő tervezője, Arty pedig a kör
8 relévezérlés NodeMCU és infravörös vevővel WiFi és infravörös távirányító és Android alkalmazás használatával: 5 lépés (képekkel)
8 relévezérlés NodeMCU -val és IR -vevővel WiFi és IR távirányító és Android -alkalmazás használatával: 8 relés kapcsoló vezérlése nodemcu és ir vevő segítségével wifi -n és távoli és androidos alkalmazáson keresztül. Az ir távirányító a wifi -kapcsolattól függetlenül működik. ITT