Mündəricat:
- Addım 1: Resurslar
- Addım 2: İnfraqırmızı algılamanın necə işlədiyini anlayın (İsteğe bağlı)
- Addım 3: IR LED -lərinin yığılması
- Addım 4: İnfraqırmızı cütlərin sınanması - dövrə
- Addım 5: İnfraqırmızı cütlərin sınanması - Əsas Kod
- Addım 6: İnfraqırmızı cütlərin sınanması - Hardware + Software
- Addım 7: Problemlərin aradan qaldırılması (Son addımda olan problemlər üçün)
- Addım 8: İkinci IR Çifti
- Addım 9: İnfraqırmızı müdaxilənin aşkarlanması (İsteğe bağlı)
- Addım 10: Daha çox IR cütlüyü əlavə edin
- Addım 11: Beş IR İkili - Dövrə
- Addım 12: Beş IR cütü - Kod
Video: İnfraqırmızı Dedektorlu Boe-Bot: 12 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu təlimat, maneələrin qarşısını almaq üçün infraqırmızı detektorlardan istifadə edərək bir labirentdə gedə bilən bir Boe-Botun necə qurulacağını və kodlaşdırılmasını nümayiş etdirəcək. Bu, ehtiyaclarınıza uyğun olaraq asan dəyişikliklər etməyə imkan verən asan bir təlimatdır. Bunun üçün sxem və proqramlaşdırma haqqında əsas anlayış lazımdır. Bu layihə üçün BASIC Stamp IDE proqramına sahib olmalısınız. Buradan yükləmək üçün pulsuz. Həm də Boe-Bot Robotu
Addım 1: Resurslar
Elektron komponentlər
Bağlayıcı kabel ilə Boe -Bot Paralaks Mağazası - BoeBot Kit
5 İnfraqırmızı LED Paralaks Mağazası - İQ Verici Quraşdırma Kiti
5 İnfraqırmızı Qalxan Montajı
5 infraqırmızı detektor Parallax Mağazası - BoeBot IR Alıcısı
Rezistorlar
- (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Ω
Çeşidli naqillər ABRA Electronics - 22 Ölçü Tel
3 LED ABRA Electronics - 5 mm Qırmızı LED
Dəstək
Kompüter
BASIC Damğa Redaktoru - (Pulsuz proqram)
Alətlər
Tel kəsici ABRA Electronics - Tel kəsici (İsteğe bağlı)
Tel Sıyırıcı ABRA Electronics - Tel Soyucu
Digər
Divarlar (labirent qurmaq üçün)
Addım 2: İnfraqırmızı algılamanın necə işlədiyini anlayın (İsteğe bağlı)
İnfraqırmızı faralar
Boe-Bot üzərində quracağımız infraqırmızı obyekt aşkarlama sistemi bir çox cəhətdən avtomobilin faralarına bənzəyir. Bir avtomobilin faralarından gələn işıq maneələri əks etdirdikdə, gözləriniz maneələri aşkar edir və beyniniz onları emal edir və bədəninizi buna uyğun olaraq idarə edir. Boe-Bot faralar üçün infraqırmızı LED-lərdən istifadə edəcək. İnfraqırmızı yayırlar və bəzi hallarda infraqırmızı cisimləri əks etdirir və Boe-Bot istiqamətində geri sıçrayır. Boe-Botun gözləri infraqırmızı detektorlardır. İnfraqırmızı detektorlar infraqırmızı obyektin əks olunduğunu aşkar edib -etmədiyini göstərən siqnallar göndərirlər. Boe-Botun beyni, BASIC Stamp, bu sensor girişinə əsasən qərar qəbul edir və servo mühərrikləri idarə edir. Şəkil 7-1 IR Fənərləri ilə Obyekt Tanıma IR detektorları daxili fotodiod sensoru ilə aşkar etmək istədiyimiz 980 nm infraqırmızı istisna olmaqla çox az işığa icazə verən daxili optik filtrlərə malikdir. İnfraqırmızı detektorda yalnız 38.5 kHz ətrafındakı siqnalların keçməsinə imkan verən elektron filtr var. Başqa sözlə, detektor yalnız saniyədə 38 500 dəfə yanıb sönən infraqırmızı axtarır. Bu, günəş işığı və daxili işıqlandırma kimi ümumi mənbələrdən IR müdaxiləsinin qarşısını alır. Günəş işığı DC müdaxiləsidir (0 Hz) və daxili işıqlandırma bölgədəki əsas enerji mənbəyindən asılı olaraq ya 100 və ya 120 Hz -də yanıb sönməyə meyllidir. 120 Hz elektron filtrin 38.5 kHz bant ötürmə tezliyindən kənarda olduğu üçün İR detektorları tərəfindən tamamilə nəzərə alınmır.
-Paralax Tələbə Bələdçisi
Addım 3: IR LED -lərinin yığılması
IR LEDini korpusun daha böyük hissəsinə daxil edin
LED -in aydın hissəsini korpusun daha kiçik hissəsi ilə bağlayın
Addım 4: İnfraqırmızı cütlərin sınanması - dövrə
Bir şeyə çox dərindən girməzdən əvvəl, İR cütlüyünün işlədiyini yoxlamaq üçün sınayacağıq (Bir infraqırmızı LED və bir infraqırmızı detektor).
Boe-Botunuzun üstünə quraşdırılmış çörək lövhəsində yuxarıdakı sxem quraraq başlayın
Addım 5: İnfraqırmızı cütlərin sınanması - Əsas Kod
Əlbəttə ki, IR cütlərimizin işləməsi üçün kod yazmalıyıq
Bunun üçün FREQOUT əmrindən istifadə edəcək. Bu əmr səs tonları üçün hazırlanmışdır, lakin infraqırmızı diapazonda tezliklər istehsal etmək üçün istifadə edilə bilər. Bu test üçün əmrdən istifadə edəcəyik:
FREQOUT 8, 1, 38500
bu, P8 -ə 1 ms davam edən 38.5 kHz tezliyi göndərəcək. P8 -ə qoşulan infraqırmızı LED dövrəsi bu tezliyi yayımlayacaq. Əgər infraqırmızı işıq yolundakı bir obyekt tərəfindən Boe-Bot-a geri əks olunarsa, infraqırmızı detektor əks olunan infraqırmızı işığın aşkarlandığını bildirmək üçün BASIC Damğasına siqnal göndərəcək.
Bir IR cütlüyünün işləməsinin açarı 1 ms 38.5 kHz FREQOUT göndərmək və dərhal IR detektorunun çıxışını dəyişəndə saxlamaqdır.
Bu nümunə, IR Detector dəyərinin irDectectLeft adlı bir bit dəyişənində saxlanmasını göstərir
FREQOUT 8, 1, 38500
irDetectLeft = IN9
İQ siqnalının yüksək olmadığını görəndə İK detektorunun çıxış vəziyyəti. İR detektoru 38500 Hz harmonik bir cisim tərəfindən əks olunduğunu görəndə çıxışı aşağı olur. IR detektorunun çıxışı, FREQOUT əmri harmonik göndərildikdən sonra bir milisaniyənin bir hissəsində aşağı qalır, buna görə də IR detektorunun çıxışını FREQOUT əmrini göndərdikdən dərhal sonra dəyişəndə saxlamaq vacibdir. Dəyişən tərəfindən saxlanılan dəyər daha sonra Debug Terminalında göstərilə bilər və ya Boe-Bot tərəfindən naviqasiya qərarları üçün istifadə edilə bilər.
Addım 6: İnfraqırmızı cütlərin sınanması - Hardware + Software
İndi əsasları bildiyiniz üçün, bir cütü birlikdə sınamaq və IR Pair-in aşkarladıqlarından real vaxtda geribildirim almaq üçün aparat və Proqram təminatını bir araya gətirə bilərik.
Kodu özünüz cəhd edə və ya aşağıdakı kodu istifadə edə bilərsiniz
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Boe-Botu serial kabelinə bağlı olaraq buraxın, çünki IR cütlüyünüzü sınamaq üçün DEBUG Terminalından istifadə edəcəksiniz.
- Əlinizin və ya bir kağız vərəqi kimi bir obyekti sol İK cütlüyündən təxminən bir düym məsafədə yerləşdirin
- IR cütünün qarşısına bir obyekt qoyduğunuzda Debug Terminalının 0 göstərdiyini və obyekti İK cütlüyünün qarşısından çıxardığınızda 1 göstərdiyini doğrulayın.
- Hata Ayıklama Terminalı gözlənilən dəyərləri göstərmirsə, Problemi Giderme Adımındakı addımları sınayın.
Addım 7: Problemlərin aradan qaldırılması (Son addımda olan problemlər üçün)
DEBUG Terminalı gözlənilməz dəyərlər göstərir
Şortu, səhv yerləşdirilmiş və ya itkin bağlayıcıları, zədələnmiş komponentləri, səhv rezistorları və ya görünən hər hansı bir problemi yoxlayın
Proqramı məntiqi və ya sintaksis səhvlərindən yoxlayın - Son addım üçün öz kodunuzu istifadə etmisinizsə, verilən kodu istifadə etməyi düşünün
Boe-Botun qarşısına heç bir obyekt qoyulmasa belə, həmişə 0 alın
Yaxınlıqda infraqırmızı siqnalı əks etdirən obyektlərin olub olmadığını yoxlayın. Boe-Botun qarşısındakı masa səbəb ola bilər. Boe-Botu açıq yerə aparın ki, İQ LED və detektor yaxınlıqdakı heç bir obyekti əks etdirməsin.
Boe-Botun qarşısında heç bir obyekt olmadığı zaman oxumaq çox vaxt 1 olur, amma hərdən 0-a çalır.
Yaxınlıqdakı floresan işıqdan müdaxilə ola bilər; Yaxınlıqdakı floresan işıqları söndürün və testlərinizi təkrarlayın. Problem davam edərsə, 9 -cu addım problemi ortaya çıxara bilər
Addım 8: İkinci IR Çifti
İndi sol IR üçün proqrama sahib olduğunuz üçün, dövrəni düzəltmək və doğru IR Pair proqramlaşdırmaq sizin növbənizdir
- Doğru IR cütlüyünə istinad etmək üçün DEBUG ifadəsini, başlığını və şərhlərini dəyişdirin.
- İrDetectLeft -dən irDetectRight -a dəyişən adı dəyişdirin. Bunu proqramın dörd yerində etməlisiniz.
- FREQOUT əmrinin Pin arqumentini 8 -dən 2 -ə dəyişin.
- İrDetectRight dəyişəninin izlədiyi giriş qeydini IN9 -dan IN0 -a dəyişin.
- Doğru IR cütü üçün bu fəaliyyətdəki test addımlarını təkrarlayın; P2 -yə qoşulmuş IR LED dövrəsi və P0 -a qoşulan detektor ilə.
Addım 9: İnfraqırmızı müdaxilənin aşkarlanması (İsteğe bağlı)
İstifadə edilməməsi lazım olan siqnalların aşkarlanması ilə bağlı problemlərlə qarşılaşsanız və ya İQ algılamanızı başqa bir yerdə nümayiş etdirməyi planlaşdırsanız, müdaxilə üçün test etmək istəyə bilərsiniz.
Bu test proqramının konsepsiyası olduqca sadədir, heç bir şey göndərmədən infraqırmızı siqnalları aşkar edirsiniz.
Eyni sxemdən istifadə edə bilərsiniz, ancaq kodu dəyişdirməlisiniz. öz kodunuzu yazmağı seçə bilərsiniz, ancaq aşağıda göstərilən kodu istifadə edə bilərsiniz:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 IN9 = 0 VƏ IN0 = 0 OLDUĞU təqdirdə "Müdaxilə aşkarlandı" DURDUR 100 LOOP
Müdaxilə ilə qarşılaşırsınızsa, ehtimal olunan mənbəyi müəyyənləşdirin və söndürün/silin və ya Boe-Botunuzu işlədiyiniz yerə köçürün.
Addım 10: Daha çox IR cütlüyü əlavə edin
Boe-Botunuzun hərəkətində daha çox dəqiqlik istəyirsinizsə, daha çox İK cütü əlavə edə bilərsiniz. 3 İki ilə müqayisədə performansı çox yaxşılaşdırır; birbaşa maneəni taramaq üçün bir mərkəz cütü istifadə edə bilərsiniz və nə qədər dönəcəyinizi təyin etmək üçün iki yan IR istifadə edə bilərsiniz. Bununla birlikdə, 3 IR cüt dizaynının çatışmazlığı, divarın üzərinə sürüşərkən bilirsiniz, çünki mərkəzi İK cütü maneələri aşkar etmək üçün istifadə olunur. Bu problemi həll etmək üçün hər tərəfə yüksək müqavimət dəyəri olan bir İK cütü əlavə edə bilərsiniz və buna görə də Boe-Bot yan tərəfə və ya divara yumşaq bir açıda yaxın olduqda infraqırmızı siqnal algılanacaq.
Addım 11: Beş IR İkili - Dövrə
Yan tərəfdəki iki İQ LEDini istiqamətləndirərkən diqqətli olun, çünki onları əymək ucların toxunmasına və qısa qapanmaya səbəb ola bilər.
Addım 12: Beş IR cütü - Kod
Bu kodu istifadə etməzdən əvvəl Boe-Botunuzu proqramlaşdırmağa cəhd edə bilərsiniz:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Beş IR Cüt Deatection Kodu' Matthew Shaw '8 May 2019 (Versiya 7)' Cisimlərin aşkarlanması və labirentləri həll etmək üçün əsas məntiqi emal
irDetectLeft VAR Bit 'Sol üçün Dəyişən
irDetectCentre VAR Bit 'Mərkəz üçün Dəyişkən irDetectRight VAR Bit' Sağ üçün Dəyişkən irDetectLSide VAR Bit 'Sol tərəf üçün Dəyişkən
mLoop VAR Word
Lmotor PIN 15 'Sol motor pin 14 -ə bağlıdır, pulslar buradan keçir
Rmotor PIN 14 'sağ = 15
'sürətləri-> 650-750-850
LFast CON 850 'Tam sürətlə sol motor üçün sabit RFast CON 650' Tam sürətlə sağ motor üçün sabit
LStop CON 750 'Sol motor üçün tam sürətlə sabit
RStop CON 650 'Tam sürətlə sağ motor üçün sabit
LMid CON 830 'Orta sürətdə sol motor üçün sabit
RMid CON 700 'Orta sürətdə sağ motor üçün sabit
LSlow CON 770 'Minimum sürətlə sol motor üçün sabit
RSlow CON 730 'Minimum sürətlə sağ motor üçün sabit
LRev CON 650 'Tam sürətlə sol mühərrik üçün sabit
RRev CON 850 'Sol mühərrik üçün tam sürətlə sabit tərs
FREQOUT 7, 1, 38500 'sol tərəf
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'mərkəzi
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'sağ tərəf
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Sol Bağla
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'sağ Bağlayın
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'sağ tərəfdə
irDetectRSideFar = IN0
İRDetectLSide = 0 VƏ irDetectRSide = 0 SONRA əsas 'BAŞLAYAN ƏMRİ proqramı işə salmaq üçün əllərinizi iki tərəfli detektorların yanından yelləyin.
Əsas:
PAUSE 1000 DO
PULSOUT Lmotor, LFastın sol mühərriki tam sürətlə çalışır
PULSOUT Rmotor, RFast 'Sağ motor tam sürətlə işləyir
FREQOUT 6, 1, 38500 'mərkəzi
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Sol Bağla
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'sağ tərəfdə
irDetectRSide = IN0
İRDetectLSide = 0 VƏ irDetectRSide = 1 SONRA
Lmotor, LFast çəkin
FREQOUT 6, 1, 38500 'mərkəzi
irDetectCentre = IN5 İRDetectCentre = 0 SONRA sent
FREQOUT 10, 1, 38500 'Sol Bağla
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'sağ tərəf
irDetectRight = IN2
İrDetectLSide = 1 VƏ irDetectRSide = 0 Qədər döngə
ELSEIF irDetectLSide = 1 VƏ irDetectRSide = 0 SONRA
Rmotor, RFast çəkin
FREQOUT 6, 1, 38500 'mərkəzi
irDetectCentre = IN5 İRDetectCentre = 0 SONRA
FREQOUT 10, 1, 38500 'Sol Bağla
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'sağ tərəf
irDetectRight = IN2
İrDetectLSide = 0 VEYA irDetectRSide = 1 qədər döngə edin
ENDIF
İRDetectCentre = 0 SONRA BAŞLAYIN
FREQOUT 7, 1, 38500 'sol tərəfi irDetectLeft = IN8
FREQOUT 6, 1, 38500 'mərkəzi
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
Siqnal aşkarlandığını göstərmək üçün PAUSE 1000 'pauzası
IF (irDetectLeft = 1 VƏ irDetectRight = 0) SONRA 'müddəti qiymətləndirin
GOSUB dönüş sola
ELSEIF (irDetectLeft = 0 VƏ irDetectRight = 1) SONRA
GOSUB turnRight
ELSEIF (irDetectLeft = 1 VƏ irDetectRight = 1) SONRA
GOSUB növbəsində qərar verin
BAŞQA
GOSUB döndərin
ENDIF
ENDIF 'SON
LOOP
SON
sola dön:
Lmotor PULSOUT, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 INO = 1 QAYIT
sağa dönün:
Rmotor PULSOUT, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 IN9 = 1 QƏDƏR
QAYIT
döndərin:
MLoop İÇİN = 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 1, 38 FREQO00 5 INR 1, 38500 irDetectRight = IN9 = 1 -ə qədər IN0 döngə
QAYIT
turnDecide: 'daha ətraflı görmək üçün aşağı müqavimətdən istifadə edir
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'sağ tərəfdə
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 VƏ irDetectRSideFar = 0) SONRA 'müddəti qiymətləndirin
GOSUB dönüş sola
ELSEIF (irDetectLSideFar = 0 VƏ irDetectRSideFar = 1) SONRA
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 VƏ irDetectRSideFar = 1) SONRA
GOSUB dönüş sola
BAŞQA
GOSUB döndərin
ENDIF
QAYIT
Tövsiyə:
İnfraqırmızı İdarə olunan MP3 Çalar: 6 Addım (Şəkillərlə birlikdə)
İnfraqırmızı İdarə olunan MP3 Çalar: Təxminən 10 dollara infraqırmızı uzaqdan idarəedici MP3 pleyer qurun. Adi xüsusiyyətlərə malikdir: çal, ara ver, sonrakı və ya əvvəlki, tək bir mahnını və ya bütün mahnıları çal. Ekvalayzer varyasyonları və səs nəzarətinə malikdir. Hamısı r vasitəsilə idarə oluna bilər
Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
İnfraqırmızı Sensorun Arduino ilə İstifadəsi: İnfraqırmızı (aka IR) sensoru nədir? İQ sensoru, standartlarla müəyyən edilmiş müəyyən tezlik aralığında İQ siqnallarını tarayan və çıxış pinindəki elektrik siqnallarına çevirən elektron cihazdır (adətən siqnal pimi adlanır). . IR siqnalı
Arduino lazer infraqırmızı termometr: 7 addım (şəkillərlə birlikdə)
Arduino Lazer İnfraqırmızı Termometr: Bu layihədə sizə xüsusi 3D çaplı bir korpusla rəqəmsal lazer infraqırmızı termometr qurmağı göstərəcəyəm
USB NEC infraqırmızı ötürücü və qəbuledici: 4 addım (şəkillərlə birlikdə)
USB NEC İnfra-Qırmızı Verici və Alıcı: Bu layihə üzərində çalışdığım başqa bir layihənin bir hissəsidir və Təlimat verilə bilən Uzaqdan İdarəetmə 2017 müsabiqəsi olduğu üçün bu layihəni göndərdiyimi düşündüm. Bu layihəni bəyənirsinizsə, ona səs verin. Təşəkkürlər Bildiyiniz kimi, böyük bir fanatiyam
İnfraqırmızı Gecə Görmə Rəqəmsal Kamera/Videokamera: 17 Addım (Şəkillərlə birlikdə)
İnfraqırmızı Gecə Görmə Rəqəmsal Kamera/videokamera: Bu təlimat Discovery Kids Night Vision Videokamerasının ("real infraqırmızı gecə görmə texnologiyasından" istifadə etmək üçün yalan məlumat verən) REAL infraqırmızı gecə görmə kamerasına necə çevriləcəyini izah edir. Bu IR webcasına bənzəyir