Isi kandungan:
- Langkah 1: Sumber
- Langkah 2: Memahami Bagaimana Pengesanan Inframerah Berfungsi (Pilihan)
- Langkah 3: Memasang LED IR
- Langkah 4: Menguji Pasangan Inframerah - Litar
- Langkah 5: Menguji Pasangan Inframerah - Kod Asas
- Langkah 6: Menguji Pasangan Inframerah - Perkakasan + Perisian
- Langkah 7: Menyelesaikan Masalah (Untuk Masalah Dengan Langkah Terakhir)
- Langkah 8: Pasangan IR Kedua
- Langkah 9: Mengesan Gangguan Inframerah (Pilihan)
- Langkah 10: Menambah Lebih Banyak Pasangan IR
- Langkah 11: Lima Pasangan IR - Litar
- Langkah 12: Lima Pasangan IR - Kod
Video: Boe-Bot Dengan Pengesan Inframerah: 12 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Instruksional ini akan menunjukkan cara membina dan membuat kod Boe-Bot yang dapat menavigasi labirin menggunakan pengesan inframerah untuk mengelakkan halangan. Ini adalah panduan mudah diikuti yang memungkinkan pengubahsuaian mudah sesuai dengan keperluan anda. Ini memerlukan pemahaman asas mengenai litar dan pengaturcaraan. Anda perlu mempunyai perisian BASIC Stamp IDE untuk projek ini. Percuma untuk dimuat turun di sini. Serta Robot Boe-Bot
Langkah 1: Sumber
Komponen elektronik
Boe-Bot dengan kabel penyambung Parallax Store - BoeBot Kit
5 Parallax Store Infrared LED - Kit Pemasangan Pemancar IR
5 Majlis Perisai Inframerah
Kedai Parallax 5 Detector inframerah - Penerima IR BoeBot
Perintang
- (2) 4.7 kΩ ABRA Elektronik - 4.7 kΩ
- (5) 220 Ω ABRA Electronics - 220 Ω
- (2) 1 kΩ ABRA Elektronik - 1 kΩ
- (5) 2 k ABRA Elektronik - 2 kΩ
Pendawaian pelbagai ABRA Electronics - 22 Gauge Wire
3 LED ABRA Electronics - LED Merah 5mm
Sokongan
Komputer
Penyunting Setem BASIC - (perisian percuma)
Alat
Wire Cutter ABRA Electronics - Pemotong Kawat (Pilihan)
Wire Stripper ABRA Electronics - Wire Stripper
Pelbagai
Dinding (untuk membina labirin)
Langkah 2: Memahami Bagaimana Pengesanan Inframerah Berfungsi (Pilihan)
Lampu Depan Inframerah
Sistem pengesanan objek inframerah yang akan kita bangun di Boe-Bot adalah seperti lampu depan kereta dalam beberapa aspek. Apabila cahaya dari lampu depan kereta memantulkan rintangan, mata anda mengesan halangan dan otak anda memprosesnya dan menjadikan badan anda memandu kereta dengan sewajarnya. Boe-Bot akan menggunakan LED inframerah untuk lampu depan. Mereka memancarkan inframerah, dan dalam beberapa kes, inframerah memantulkan objek dan memantul kembali ke arah Boe-Bot. Mata Boe-Bot adalah pengesan inframerah. Pengesan inframerah menghantar isyarat yang menunjukkan sama ada mereka mengesan inframerah yang dipantulkan dari suatu objek. Otak Boe-Bot, Cap ASAS, membuat keputusan dan mengendalikan motor servo berdasarkan input sensor ini. Gambar 7-1 Pengesanan Objek dengan Lampu Depan IR Pengesan IR mempunyai penapis optik bawaan yang membenarkan cahaya sangat sedikit kecuali inframerah 980 nm yang ingin kita kesan dengan sensor fotodiod dalamannya. Pengesan inframerah juga mempunyai penapis elektronik yang hanya membenarkan isyarat sekitar 38.5 kHz melaluinya. Dengan kata lain, pengesan hanya mencari inframerah yang menyala dan mati 38, 500 kali sesaat. Ini menghalang gangguan IR dari sumber umum seperti cahaya matahari dan pencahayaan dalaman. Cahaya matahari adalah gangguan DC (0 Hz), dan pencahayaan dalaman cenderung menyala dan mati pada 100 atau 120 Hz, bergantung pada sumber kuasa utama di rantau ini. Oleh kerana 120 Hz berada di luar frekuensi jalur jalur 38.5 kHz penapis elektronik, ia tidak diendahkan sepenuhnya oleh pengesan IR.
-Panduan Pelajar Paralax
Langkah 3: Memasang LED IR
Masukkan LED IR ke bahagian selongsong yang lebih besar
Lekatkan bahagian LED yang jelas dengan bahagian selongsong yang lebih kecil
Langkah 4: Menguji Pasangan Inframerah - Litar
Sebelum kita masuk ke dalam sesuatu perkara, kita akan menguji untuk memastikan bahawa pasangan IR berfungsi (Satu LED inframerah dan satu pengesan inframerah).
Mulakan dengan membina litar di atas di papan roti yang dipasang di atas Boe-Bot anda
Langkah 5: Menguji Pasangan Inframerah - Kod Asas
Sudah tentu, kita perlu menulis kod 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 jarak inframerah. Untuk ujian ini, kami akan menggunakan arahan:
FREQOUT 8, 1, 38500
ini akan menghantar frekuensi 38.5 kHz yang berlangsung selama 1 ms ke P8. Litar LED inframerah yang disambungkan ke P8 akan menyiarkan frekuensi ini. Sekiranya cahaya inframerah dipantulkan kembali ke Boe-Bot oleh objek yang berada di jalurnya, pengesan inframerah akan menghantar isyarat BASIC Stamp untuk memberitahukan bahawa cahaya inframerah yang dipantulkan telah dikesan.
Kunci untuk membuat pasangan IR berfungsi adalah dengan mengirim 1 ms 38.5 kHz FREQOUT dan segera menyimpan output pengesan IR dalam pemboleh ubah.
Contoh ini menunjukkan menyimpan nilai IR Detector dalam pemboleh ubah bit bernama irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
Keadaan output pengesan IR apabila tidak melihat isyarat IR tinggi. Apabila pengesan IR melihat harmonik 38500 Hz yang dipantulkan oleh objek, outputnya rendah. Output pengesan IR hanya kekal rendah untuk sepersekian milisaat setelah arahan FREQOUT selesai menghantar harmonik, jadi penting untuk menyimpan output pengesan IR dalam pemboleh ubah sebaik sahaja menghantar perintah FREQOUT. Nilai yang disimpan oleh pemboleh ubah kemudian dapat ditampilkan di Terminal Debug atau digunakan untuk keputusan navigasi oleh Boe-Bot.
Langkah 6: Menguji Pasangan Inframerah - Perkakasan + Perisian
Setelah anda mengetahui asasnya, kami dapat mengumpulkan perkakasan dan Perisian untuk menguji pasangan dan mendapatkan maklum balas masa nyata dari apa yang dikesan oleh IR Pair
Anda boleh mencuba sendiri dan membuat kodnya, atau menggunakan kod di bawah
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = RUMAH DEBUG IN9, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- Biarkan Boe-Bot tersambung ke kabel bersiri, kerana anda akan menggunakan Terminal DEBUG untuk menguji pasangan IR anda.
- Letakkan objek, seperti tangan atau selembar kertas, kira-kira satu inci dari pasangan IR kiri
- Sahkan bahawa apabila anda meletakkan objek di depan pasangan IR Terminal Debug memaparkan 0, dan apabila anda mengeluarkan objek dari depan pasangan IR, ia akan memaparkan 1.
- Sekiranya Terminal Debug tidak menampilkan nilai yang diharapkan, cubalah langkah-langkah dalam Langkah Menembak Masalah.
Langkah 7: Menyelesaikan Masalah (Untuk Masalah Dengan Langkah Terakhir)
Terminal DEBUG memaparkan nilai yang tidak dijangka
Periksa litar untuk seluar pendek, penyambung yang salah tempat atau hilang, komponen yang rosak, perintang yang salah, atau masalah lain yang dapat dilihat
Periksa program dari ralat logik atau sintaks - Sekiranya anda menggunakan kod anda sendiri untuk langkah terakhir, pertimbangkan untuk menggunakan kod yang disediakan
Selalu mendapat 0, walaupun tidak ada objek diletakkan di hadapan Boe-Bot
Periksa sama ada terdapat objek berdekatan yang memantulkan isyarat inframerah. Meja di depan Boe-Bot boleh menjadi penyebabnya. Pindahkan Boe-Bot ke ruang terbuka sehingga LED IR dan pengesan tidak dapat memantulkan objek berdekatan.
Bacaan adalah 1 waktu ketika tidak ada objek di hadapan Boe-Bot, tetapi berkedip ke 0 sekali-sekala
Mungkin terdapat gangguan dari lampu pendarfluor yang berdekatan; Matikan lampu pendarfluor yang berdekatan dan ulangi ujian anda. Sekiranya masalah itu berlanjutan, langkah 9 dapat mendedahkan masalahnya
Langkah 8: Pasangan IR Kedua
Sekarang anda mempunyai program untuk IR kiri, giliran anda untuk membuat litar dan memprogram IR Pair yang betul
- Tukar pernyataan, tajuk dan komen DEBUG untuk merujuk kepada pasangan IR yang betul.
- Tukar nama pemboleh ubah dari irDetectLeft kepada irDetectRight. Anda perlu melakukan ini di empat tempat dalam program ini.
- Ubah argumen Pin perintah FREQOUT dari 8 hingga 2.
- Tukar daftar input yang dipantau oleh pemboleh ubah irDetectRight dari IN9 ke IN0.
- Ulangi langkah pengujian dalam aktiviti ini untuk pasangan IR yang betul; dengan litar LED IR disambungkan ke P2 dan pengesan disambungkan ke P0.
Langkah 9: Mengesan Gangguan Inframerah (Pilihan)
Sama ada anda mengalami masalah dengan isyarat pengesanan yang tidak seharusnya dikesan atau anda merancang untuk menunjukkan pengesanan IR anda di lokasi alternatif, anda mungkin ingin menguji gangguan.
Konsep program ujian ini cukup mudah, anda mengesan isyarat inframerah tanpa menghantar keluar.
Anda boleh menggunakan litar yang sama tetapi anda mesti mengubah kodnya. anda boleh memilih untuk menulis kod anda sendiri, tetapi anda boleh menggunakan kod yang disediakan di bawah:
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO irDetectLeft = IN9 irDetectRight = IN0 JIKA IN9 = 0 ATAU IN0 = 0 KEMUDIAN DEBUG "Gangguan dikesan" Jeda 100 LOOP
Sekiranya anda mengalami gangguan, tentukan sumber yang mungkin dan matikan / hapus atau pindahkan tempat anda mengendalikan Boe-Bot anda.
Langkah 10: Menambah Lebih Banyak Pasangan IR
Sekiranya anda mahukan lebih tepat dalam pergerakan Boe-Bot anda, anda mungkin ingin menambahkan lebih banyak Pasangan IR. 3 Meningkatkan prestasi berbanding dua; anda boleh menggunakan pasangan tengah untuk mencari halangan langsung, dan menggunakan dua sisi IR untuk menentukan berapa banyak yang perlu dipusingkan. Namun, kejatuhan reka bentuk pasangan IR 3 adalah yang mungkin anda ketahui ketika meluncur ke dinding, kerana pasangan IR tengah digunakan untuk mengesan rintangan. Untuk menyelesaikan masalah ini, anda boleh menambahkan pasangan IR ke setiap sisi dengan nilai rintangan tinggi-oleh itu dan isyarat inframerah hanya akan dapat dikesan jika Boe-Bot dekat dengan sisi atau dinding pada sudut lembut.
Langkah 11: Lima Pasangan IR - Litar
Berhati-hati semasa mengarahkan dua LED IR di sisi kerana memutarnya boleh menyebabkan penyentuh menyentuh dan menyebabkan litar pintas.
Langkah 12: Lima Pasangan IR - Kod
Anda mungkin mahu mencuba memprogram Boe-Bot anda sebelum menggunakan kod ini:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'Five IR Pair Deatection Code' Matthew Shaw '8 Mei 2019 (Versi 7)' Pengesanan objek dan pemprosesan logik asas untuk menyelesaikan maze
irDetectLeft VAR Bit 'Pemboleh ubah untuk kiri
irDetectCentre VAR Bit 'Variable for center irDetectRight VAR Bit' Variable for right irDetectLSide VAR Bit 'Variable for the side side irDetectRSide VAR Bit' Variable for the side side irDetectLSideFar VAR Bit 'Variabel untuk rintangan rendah sebelah kiri irDetectRSideFar VAR Bit rintangan' Variabel untuk rintangan rendah sisi kanan
Word VAR mLoop
Lmotor PIN 15 'Motor kiri disambungkan ke pin 14, denyutan melalui sini
Rmotor PIN 14 'kanan = 15
'kelajuan adalah -> 650-750-850
LFast CON 850 'Conastant untuk motor kiri pada kelajuan penuh RFast CON 650' Conastant untuk motor kanan pada kelajuan penuh
LStop CON 750 'Conastant untuk motor kiri pada kelajuan penuh
RStop CON 650 'Conastant untuk motor kanan pada kelajuan penuh
LMid CON 830 'Conastant untuk motor kiri pada kelajuan sederhana
RMid CON 700 'Conastant untuk motor kanan pada kelajuan sederhana
LSlow CON 770 'Conastant untuk motor kiri pada kelajuan minimum
RSlow CON 730 'Conastant untuk motor kanan pada kelajuan minimum
LRev CON 650 'Conastant untuk motor kiri pada kelajuan penuh secara terbalik
RRev CON 850 'Conastant untuk motor kiri pada kelajuan penuh secara terbalik
Bahagian kiri FREQOUT 7, 1, 38500 '
irDetectLeft = IN8
Pusat FREQOUT 6, 1, 38500 '
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'sebelah kanan
irDetectRight = IN2
FREQOUT 10, 1, 38500 'Tutup Kiri
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'kanan Tutup
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'sebelah kanan
irDetectRSideFar = IN0
JIKA irDetectLSide = 0 DAN irDetectRSide = 0 KEMUDIAN 'PERINTAH MULAI utama melambaikan tangan anda melewati dua pengesan sisi untuk memulakan program
Utama:
Jeda 1000 DO
PULSOUT Lmotor, motor kiri LFast berjalan dengan kelajuan penuh
PULSOUT Rmotor, RFast 'Motor kanan berjalan pada kelajuan penuh
Pusat FREQOUT 6, 1, 38500 '
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'Tutup Kiri
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'sebelah kanan
irDetectRSide = IN0
JIKA irDetectLSide = 0 DAN irDetectRSide = 1 KEMUDIAN
LAKUKAN Lmotor, LFast
Pusat FREQOUT 6, 1, 38500 '
irDetectCentre = IN5 JIKA irDetectCentre = 0 SETIAP KALI
FREQOUT 10, 1, 38500 'Tutup Kiri
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'sebelah kanan
irDetectRight = IN2
LOOP SEHINGGA irDetectLSide = 1 ATAU irDetectRSide = 0
ELSEIF irDetectLSide = 1 DAN irDetectRSide = 0 KEMUDIAN
LAKUKAN Rmotor, RFast
Pusat FREQOUT 6, 1, 38500 '
irDetectCentre = IN5 JIKA irDetectCentre = 0 SETIAP KALI
FREQOUT 10, 1, 38500 'Tutup Kiri
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'sebelah kanan
irDetectRight = IN2
LOOP SEHINGGA irDetectLSide = 0 ATAU irDetectRSide = 1
'ENDIF
JIKA irDetectCentre = 0 KEMUDIAN MULAI
FREQOUT 7, 1, 38500 'sisi kiri irDetectLeft = IN8
Pusat FREQOUT 6, 1, 38500 '
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
Jeda Jeda 1000 'untuk menunjukkan isyarat yang dikesan
JIKA (irDetectLeft = 1 DAN irDetectRight = 0) KEMUDIAN 'menilai tempoh
GOSUB turnLeft
ELSEIF (irDetectLeft = 0 DAN irDetectRight = 1) KEMUDIAN
GOSUB turnRight
ELSEIF (irDetectLeft = 1 DAN irDetectRight = 1) KEMUDIAN
Keputusan GOSUB
LAIN
GOSUB giliran Berbalik
ENDIF
ENDIF 'TAMAT
PINJAMAN
TAMAT
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 SEHINGGA IN0 = 1 KEMBALI
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 SEHINGGA IN9 = 1
KEMBALI
putarbalikkan:
UNTUK mLoop = 0 HINGGA 50 PULSOUT Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 SETERUSNYA LAKUKAN Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, FREROUT 5, 1, FREFRD 4, 1, 384, 38500 irDetectRight = LOOP IN0 SEHINGGA IN9 = 1
KEMBALI
turnDecide: 'menggunakan rintangan yang lebih rendah untuk melihat lebih jauh
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'sebelah kanan
irDetectRSideFar = IN0
JIKA (irDetectLSideFar = 1 DAN irDetectRSideFar = 0) KEMUDIAN 'menilai tempoh
GOSUB turnLeft
ELSEIF (irDetectLSideFar = 0 DAN irDetectRSideFar = 1) KEMUDIAN
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 DAN irDetectRSideFar = 1) KEMUDIAN
GOSUB turnLeft
LAIN
GOSUB giliran Berbalik
ENDIF
KEMBALI
Disyorkan:
Menggunakan Sensor Inframerah Dengan Arduino: 8 Langkah (dengan Gambar)
Menggunakan Sensor Inframerah Dengan Arduino: Apa itu sensor inframerah (aka IR)? Sensor IR adalah instrumen elektronik yang mengimbas isyarat IR dalam julat frekuensi tertentu yang ditentukan oleh piawaian dan mengubahnya menjadi isyarat elektrik pada pin outputnya (biasanya disebut pin isyarat) . Isyarat IR
Pengesan Tahap Mesin Coke - Sekarang Dengan Ucapan !: 6 Langkah (dengan Gambar)
Pengesan Tahap Mesin Coke - Sekarang Dengan Ucapan!: Projek ini adalah gabungan dari alat pengesan Tahap Mesin Coke saya, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) dengan sensor baru , dan penambahan bunyi lisan! Selepas saya membuat alat pengesan tahap pertama, saya menambah bel piezo untuk
Tag Laser Inframerah Dengan Raspberry Pi Zero: 6 Langkah (dengan Gambar)
Tag Laser Inframerah Dengan Raspberry Pi Zero: Instructable ini akan melalui proses membuat permainan Tag Laser Inframerah menggunakan komputer pelayan asas dan Raspberry Pi sifar untuk setiap pemain. Projek ini sangat bergantung pada sambungan Wifi untuk berkomunikasi dengan pelayan yang membuat
Pengesan Burung Hummingbird / Pengambil Gambar: 12 Langkah (dengan Gambar)
Pengesan Hummingbird / Pengambil Gambar: Kami mempunyai pengumpan burung kolibri di geladak belakang kami dan sejak beberapa tahun kebelakangan ini saya telah mengambil gambarnya. Burung kolibri adalah makhluk kecil yang luar biasa, sangat teritorial dan perkelahian mereka boleh menjadi lucu dan luar biasa. Tetapi saya semakin tiru
Pengesan Asap IOT: Kemas kini Pengesan Asap yang Ada Dengan IOT: 6 Langkah (dengan Gambar)
Pengesan Asap IOT: Kemas kini Pengesan Asap yang Ada Dengan IOT: Senarai penyumbang, Pencipta: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Penyelia: Dr Chia Kim Seng Jabatan Kejuruteraan Mekatronik dan Robotik, Fakulti Kejuruteraan Elektrik dan Elektronik, Universiti Tun Hussein Onn Malaysia. Pengedar