Daftar Isi:
- Langkah 1: Sumber Daya
- Langkah 2: Memahami Cara Kerja Deteksi Inframerah (Opsional)
- Langkah 3: Merakit IR LED
- Langkah 4: Menguji Pasangan Inframerah - Sirkuit
- Langkah 5: Menguji Pasangan Inframerah - Kode Dasar
- Langkah 6: Menguji Pasangan Inframerah - Perangkat Keras + Perangkat Lunak
- Langkah 7: Pemecahan Masalah (Untuk Masalah Dengan Langkah Terakhir)
- Langkah 8: Pasangan IR Kedua
- Langkah 9: Mendeteksi Interferensi Inframerah (Opsional)
- Langkah 10: Menambahkan Lebih Banyak Pasangan IR
- Langkah 11: Lima Pasang IR - Sirkuit
- Langkah 12: Lima Pasangan IR - Kode
Video: Boe-Bot Dengan Detektor Inframerah: 12 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Instruksi ini akan menunjukkan cara membuat dan membuat kode Boe-Bot yang dapat menavigasi labirin menggunakan detektor inframerah untuk menghindari rintangan. Ini adalah panduan yang mudah diikuti yang memungkinkan modifikasi mudah sesuai dengan kebutuhan Anda. Ini membutuhkan pemahaman dasar tentang sirkuit dan pemrograman. Anda harus memiliki perangkat lunak BASIC Stamp IDE untuk proyek ini. Gratis untuk diunduh di sini. Serta Robot Boe-Bot
Langkah 1: Sumber Daya
Komponen elektronik
Boe-Bot dengan kabel konektor Parallax Store - BoeBot Kit
5 Toko Paralaks LED Inframerah - Kit Perakitan Pemancar IR
5 Rakitan Perisai Inframerah
5 Detektor inframerah Parallax Store - Penerima IR BoeBot
Resistor
- (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 Elektronik - 2 kΩ
Aneka kabel ABRA Electronics - 22 Gauge Wire
3 LED ABRA Electronics - LED Merah 5mm
Mendukung
Komputer
Editor Stempel DASAR - (Perangkat Lunak Gratis)
Peralatan
Pemotong Kawat ABRA Electronics - Pemotong Kawat (Opsional)
Kawat Stripper ABRA Electronics - Kawat Stripper
Lain-lain
Dinding (untuk membangun labirin)
Langkah 2: Memahami Cara Kerja Deteksi Inframerah (Opsional)
Lampu Depan Inframerah
Sistem deteksi objek inframerah yang akan kami bangun di Boe-Bot seperti lampu depan mobil dalam beberapa hal. Ketika cahaya dari lampu depan mobil memantul dari rintangan, mata Anda mendeteksi rintangan dan otak Anda memprosesnya dan membuat tubuh Anda memandu mobil sesuai dengan itu. Boe-Bot akan menggunakan LED inframerah untuk lampu depan. Mereka memancarkan inframerah, dan dalam beberapa kasus, inframerah memantulkan objek dan memantul kembali ke arah Boe-Bot. Mata Boe-Bot adalah detektor inframerah. Detektor inframerah mengirim sinyal yang menunjukkan apakah mereka mendeteksi pantulan inframerah dari suatu objek atau tidak. Otak Boe-Bot, BASIC Stamp, membuat keputusan dan mengoperasikan motor servo berdasarkan input sensor ini. Gambar 7-1 Deteksi Objek dengan Lampu Depan IR Detektor IR memiliki filter optik internal yang memungkinkan sangat sedikit cahaya kecuali inframerah 980 nm yang ingin kita deteksi dengan sensor fotodioda internal. Detektor inframerah juga memiliki filter elektronik yang hanya memungkinkan sinyal sekitar 38,5 kHz untuk melewatinya. Dengan kata lain, detektor hanya mencari inframerah yang berkedip dan mati 38.500 kali per detik. Ini mencegah interferensi IR dari sumber umum seperti sinar matahari dan pencahayaan dalam ruangan. Sinar matahari adalah interferensi DC (0 Hz), dan pencahayaan dalam ruangan cenderung menyala dan mati pada 100 atau 120 Hz, tergantung pada sumber daya utama di wilayah tersebut. Karena 120 Hz berada di luar frekuensi band pass filter elektronik 38,5 kHz, maka sepenuhnya diabaikan oleh detektor IR.
-Panduan Siswa Paralax
Langkah 3: Merakit IR LED
Masukkan LED IR ke bagian casing yang lebih besar
Lampirkan bagian bening dari LED dengan bagian casing yang lebih kecil
Langkah 4: Menguji Pasangan Inframerah - Sirkuit
Sebelum kita masuk terlalu jauh ke dalam apa pun, kami akan menguji untuk memastikan bahwa pasangan IR berfungsi (Satu LED inframerah dan satu detektor inframerah).
Mulailah dengan membangun sirkuit di atas pada papan tempat memotong roti yang dipasang di atas Boe-Bot Anda
Langkah 5: Menguji Pasangan Inframerah - Kode Dasar
Tentu saja, kita perlu menulis kode agar pasangan IR kita berfungsi
Untuk melakukan ini, akan menggunakan perintah FREQOUT. Perintah ini dirancang untuk nada audio, namun dapat digunakan untuk menghasilkan frekuensi dalam rentang inframerah. Untuk pengujian ini kita akan menggunakan perintah:
FREQOUT 8, 1, 38500
ini akan mengirimkan frekuensi 38,5 kHz yang berlangsung 1 ms ke P8. Rangkaian LED inframerah yang terhubung ke P8 akan menyiarkan frekuensi ini. Jika cahaya inframerah dipantulkan kembali ke Boe-Bot oleh objek di jalurnya, detektor inframerah akan mengirimkan sinyal BASIC Stamp untuk memberi tahu bahwa cahaya inframerah yang dipantulkan telah terdeteksi.
Kunci untuk membuat pasangan IR berfungsi adalah mengirim 1 ms FREQOUT 38,5 kHz dan segera menyimpan output detektor IR dalam sebuah variabel.
Contoh ini menunjukkan penyimpanan nilai IR Detector dalam variabel bit bernama irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
Status keluaran detektor IR saat tidak melihat sinyal IR adalah tinggi. Ketika detektor IR melihat harmonik 38500 Hz yang dipantulkan oleh suatu objek, outputnya rendah. Output detektor IR hanya tetap rendah selama sepersekian milidetik setelah perintah FREQOUT selesai mengirim harmonik, jadi penting untuk menyimpan output detektor IR dalam variabel segera setelah mengirim perintah FREQOUT. Nilai yang disimpan oleh variabel kemudian dapat ditampilkan di Terminal Debug atau digunakan untuk keputusan navigasi oleh Boe-Bot.
Langkah 6: Menguji Pasangan Inframerah - Perangkat Keras + Perangkat Lunak
Sekarang setelah Anda mengetahui dasar-dasarnya, kami dapat menggabungkan perangkat keras dan Perangkat Lunak untuk menguji pasangan bersama-sama dan mendapatkan umpan balik waktu nyata dari apa yang dideteksi oleh Pasangan IR
Anda dapat mencoba dan membuat kode sendiri, atau menggunakan kode di bawah ini
' {$STAMP BS2}
' {$PBASIC 2.5} irDetectLeft VAR Bit LAKUKAN FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft = ", BIN1 irDetectLeft PAUSE 100 LOOP
- Biarkan Boe-Bot terhubung ke kabel serial, karena Anda akan menggunakan Terminal DEBUG untuk menguji pasangan IR Anda.
- Tempatkan objek, seperti tangan Anda atau selembar kertas, sekitar satu inci dari pasangan IR kiri
- Verifikasi bahwa ketika Anda menempatkan objek di depan pasangan IR, Terminal Debug menampilkan 0, dan saat Anda menghapus objek dari depan pasangan IR, ini akan menampilkan 1.
- Jika Terminal Debug tidak menampilkan nilai yang diharapkan, coba langkah-langkah di Langkah Pemecahan Masalah.
Langkah 7: Pemecahan Masalah (Untuk Masalah Dengan Langkah Terakhir)
Terminal DEBUG menampilkan nilai yang tidak terduga
Periksa sirkuit untuk hubungan pendek, konektor yang salah tempat atau hilang, komponen rusak, resistor salah, atau masalah lain yang terlihat
Periksa program dari kesalahan logika atau sintaks - Jika Anda menggunakan kode Anda sendiri untuk langkah terakhir, pertimbangkan untuk menggunakan kode yang disediakan
Selalu mendapatkan 0, bahkan ketika tidak ada benda yang diletakkan di depan Boe-Bot
Periksa apakah ada objek terdekat yang memantulkan sinyal inframerah. Meja di depan Boe-Bot bisa jadi penyebabnya. Pindahkan Boe-Bot ke ruang terbuka sehingga LED IR dan detektor tidak dapat memantulkan objek terdekat.
Membaca adalah 1 sebagian besar waktu ketika tidak ada objek di depan Boe-Bot, tetapi sesekali berkedip ke 0
Mungkin ada gangguan dari lampu neon terdekat; Matikan lampu neon terdekat dan ulangi pengujian Anda. Jika masalah berlanjut, langkah 9 dapat mengungkapkan masalahnya
Langkah 8: Pasangan IR Kedua
Sekarang Anda memiliki program untuk IR kiri, giliran Anda untuk membuat rangkaian dan memprogram Pasangan IR kanan
- Ubah pernyataan, judul, dan komentar DEBUG untuk merujuk ke pasangan IR yang tepat.
- Ubah nama variabel dari irDetectLeft menjadi irDetectRight. Anda perlu melakukan ini di empat tempat dalam program.
- Ubah argumen Pin perintah FREQOUT dari 8 menjadi 2.
- Ubah register input yang dipantau oleh variabel irDetectRight dari IN9 menjadi IN0.
- Ulangi langkah pengujian dalam aktivitas ini untuk pasangan IR yang tepat; dengan rangkaian LED IR terhubung ke P2 dan detektor terhubung ke P0.
Langkah 9: Mendeteksi Interferensi Inframerah (Opsional)
Apakah Anda mengalami masalah dalam mendeteksi sinyal yang seharusnya tidak terdeteksi atau Anda berencana untuk mendemonstrasikan deteksi IR Anda di lokasi alternatif, Anda mungkin ingin menguji interferensi.
Konsep program pengujian ini cukup sederhana, Anda mendeteksi sinyal inframerah tanpa mengirimkannya.
Anda dapat menggunakan sirkuit yang sama persis tetapi Anda harus mengubah kodenya. Anda dapat memilih untuk menulis kode Anda sendiri, tetapi Anda dapat menggunakan kode yang disediakan di bawah ini:
' {$STAMP BS2}
' {$PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 JIKA IN9 = 0 ATAU IN0 = 0 MAKA DEBUG "Interferensi terdeteksi" PAUSE 100 LOOP
Jika Anda mengalami gangguan, tentukan kemungkinan sumbernya dan matikan/lepaskan atau pindahkan tempat Anda mengoperasikan Boe-Bot Anda.
Langkah 10: Menambahkan Lebih Banyak Pasangan IR
Jika Anda menginginkan lebih banyak akurasi dalam pergerakan Boe-Bot Anda, Anda mungkin ingin menambahkan lebih banyak Pasangan IR. 3 Sangat meningkatkan kinerja dibandingkan dengan dua; Anda dapat menggunakan pasangan tengah untuk memindai rintangan langsung, dan menggunakan dua IR samping untuk menentukan berapa banyak yang harus diputar. Namun, kekurangan dari desain 3 pasangan IR adalah bahwa Anda mungkin mengetahui saat Anda meluncur ke dinding, karena pasangan IR tengah digunakan untuk mendeteksi rintangan. Untuk mengatasi masalah ini, Anda dapat menambahkan pasangan IR ke setiap sisi dengan nilai resistansi tinggi-oleh karena itu dan sinyal inframerah hanya akan terdeteksi jika Boe-Bot dekat dengan sisi atau dinding pada sudut yang lembut.
Langkah 11: Lima Pasang IR - Sirkuit
Hati-hati saat mengarahkan kedua LED IR di samping karena memutarnya dapat menyebabkan kabel bersentuhan dan menyebabkan korsleting.
Langkah 12: Lima Pasangan IR - Kode
Anda mungkin ingin mencoba memprogram Boe-Bot Anda sebelum menggunakan kode ini:
' {$STAMP BS2}' {$PBASIC 2.5} 'Five IR Pair Deatection Code 'Matthew Shaw '8 Mei 2019 (Versi 7) 'Deteksi untuk objek dan pemrosesan logika dasar untuk memecahkan labirin
irDetectLeft VAR Bit 'Variabel untuk kiri
irDetectCentre VAR Bit 'Variabel untuk bagian tengah irDetectRight VAR Bit 'Variabel untuk irDetectLSide VAR Bit kanan 'Variabel untuk sisi kiri irDetectRSide VAR Bit 'Variabel untuk sisi kanan irDetectLSideFar VAR Bit 'Variable untuk sisi kiri VAR VAR untuk resistansi rendah FarDetect
Mloop VAR Word
Lmotor PIN 15 'Motor kiri terhubung ke pin 14, pulsa lewat sini
PIN Rmotor 14' kanan = 15
'kecepatannya adalah -> 650-750-850
LFast CON 850' Konstanta untuk motor kiri pada kecepatan penuh RFast CON 650' Konstanta untuk motor kanan pada kecepatan penuh
LStop CON 750 'Konstanta untuk motor kiri dengan kecepatan penuh
RStop CON 650 'Konstanta untuk motor kanan dengan kecepatan penuh
LMid CON 830 'Konstanta untuk motor kiri pada kecepatan sedang
RMid CON 700 'Konstanta untuk motor kanan pada kecepatan sedang
LSlow CON 770 'Konstanta untuk motor kiri pada kecepatan minimum
RSlow CON 730 'Konstanta untuk motor kanan pada kecepatan minimum
LRev CON 650 'Konstanta untuk motor kiri dengan kecepatan penuh saat mundur
RRev CON 850 'Konstanta untuk motor kiri dengan kecepatan penuh saat mundur
FREQOUT 7, 1, 38500 'sisi kiri
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'pusat
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'sisi kanan
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Kiri Tutup
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'kanan Tutup
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'sisi kanan
irDetectRSideFar = IN0
JIKA irDetectLSide = 0 AND irDetectRSide = 0 THEN main 'MULAI PERINTAH lambaikan tangan Anda melewati dua detektor samping untuk memulai program
Utama:
JEDA 1000 LAKUKAN
PULSOUT Lmotor, LFast 'motor kiri berjalan dengan kecepatan penuh
PULSOUT Rmotor, RFast 'Motor kanan berjalan dengan kecepatan penuh
FREQOUT 6, 1, 38500 'pusat
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Kiri Tutup
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'sisi kanan
irDetectRSide = IN0
JIKA irDetectLSide = 0 DAN irDetectRSide = 1 MAKA
DO PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'pusat
irDetectCentre = IN5 JIKA irDetectCentre = 0 MAKA sen
FREQOUT 10, 1, 38500 'Kiri Tutup
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'sisi kanan
irDetectRight = IN2
LOOP SAMPAI irDetectLSide = 1 ATAU irDetectRSide = 0
ELSEIF irDetectLSide = 1 AND irDetectRSide = 0 THEN
LAKUKAN PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'pusat
irDetectCentre = IN5 JIKA irDetectCentre = 0 MAKA sen
FREQOUT 10, 1, 38500 'Kiri Tutup
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'sisi kanan
irDetectRight = IN2
LOOP SAMPAI irDetectLSide = 0 ATAU irDetectRSide = 1
'BERAKHIR JIKA
JIKA irDetectCentre = 0 MAKA 'MULAI
FREQOUT 7, 1, 38500 'sisi kiri irDetectLeft = IN8
FREQOUT 6, 1, 38500 'pusat
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'jeda untuk menunjukkan sinyal terdeteksi
JIKA (irDetectLeft = 1 AND irDetectRight = 0) THEN ' evaluasi durasi
GOSUB belok Kiri
ELSEIF (irDetectLeft = 0 DAN irDetectRight = 1) THEN
GOSUB belok Kanan
ELSEIF (irDetectLeft = 1 DAN irDetectRight = 1) THEN
Giliran GOSUBPutuskan
LAIN
GOSUB belok Terbalik
BERAKHIR JIKA
ENDIF 'AKHIR
LINGKARAN
AKHIR
belok kiri:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP SAMPAI IN0 = 1 RETURN
belok kanan:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP SAMPAI IN9 = 1
KEMBALI
belok Terbalik:
UNTUK mLoop = 0 SAMPAI 50 Rmotor PULSOUT, Lmotor PULSOUT RRev, LRev PAUSE 20 Lmotor PULSOUT, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT, 38500 irDetectRight = IN0 LOOP SAMPAI IN9 = 1
KEMBALI
turnDecide: 'menggunakan resistensi yang lebih rendah untuk melihat lebih jauh
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'sisi kanan
irDetectRSideFar = IN0
JIKA (irDetectLSideFar = 1 AND irDetectRSideFar = 0) MAKA ' evaluasi durasi
GOSUB belok Kiri
ELSEIF (irDetectLSideFar = 0 DAN irDetectRSideFar = 1) MAKA
GOSUB belok Kanan
ELSEIF (irDetectLSideFar = 1 DAN irDetectRSideFar = 1) MAKA
GOSUB belok Kiri
LAIN
GOSUB belok Terbalik
BERAKHIR JIKA
KEMBALI
Direkomendasikan:
Raspberry Pi - TMD26721 Detektor Kedekatan Digital Inframerah Tutorial Java: 4 Langkah
Raspberry Pi - TMD26721 Detektor Kedekatan Digital Inframerah Java Tutorial: TMD26721 adalah detektor kedekatan digital inframerah yang menyediakan sistem deteksi kedekatan lengkap dan logika antarmuka digital dalam modul pemasangan permukaan 8-pin tunggal. Deteksi kedekatan mencakup peningkatan signal-to-noise dan ketepatan. Seorang profesional
Menggunakan Sensor Inframerah Dengan Arduino: 8 Langkah (dengan Gambar)
Menggunakan Sensor Inframerah Dengan Arduino: Apa itu sensor inframerah (alias IR)? Sensor IR adalah instrumen elektronik yang memindai sinyal IR dalam rentang frekuensi tertentu yang ditentukan oleh standar dan mengubahnya menjadi sinyal listrik pada pin outputnya (biasanya disebut pin sinyal) . sinyal inframerah
Keran Air Inframerah Otomatis dengan $5: 12 Langkah (dengan Gambar)
Keran Air Inframerah Otomatis seharga $5: Dalam proyek ini, kami akan membuat keran air on-off otomatis di bawah $5 saja. Kami akan menggunakan sensor IR dan sakelar air untuk membuat keran air inframerah otomatis ini. Tidak ada mikrokontroler yang digunakan untuk membuat keran air inframerah otomatis ini.Cukup letakkan
Raspberry Pi - TMD26721 Detektor Kedekatan Digital Inframerah Tutorial Python: 4 Langkah
Raspberry Pi - TMD26721 Detektor Kedekatan Digital Inframerah Tutorial Python: TMD26721 adalah detektor kedekatan digital inframerah yang menyediakan sistem deteksi kedekatan lengkap dan logika antarmuka digital dalam modul pemasangan permukaan 8-pin tunggal. Deteksi kedekatan mencakup peningkatan signal-to-noise dan ketepatan. Seorang pro
Detektor Asap IOT: Perbarui Detektor Asap yang Ada Dengan IOT: 6 Langkah (dengan Gambar)
Detektor Asap IOT: Perbarui Detektor Asap yang Ada Dengan IOT: Daftar kontributor,Penemu:Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Pembimbing: Dr Chia Kim Seng Departemen Teknik Mekatronika dan Robotika, Fakultas Teknik Elektro dan Elektronik, Universiti Tun Hussein Onn Malaysia.Distribu