Apa itu Sensor Penglihatan? - Python
Kotak Peralatan Guru
-
Tujuan Halaman Ini
Halaman ini akan memperkenalkan kepada siswa apa itu Sensor Penglihatan dan beberapa kemampuannya. Selanjutnya, siswa akan menganalisis sebagian gambar dari contoh proyek untuk melihat bagaimana Sensor Penglihatan dapat digunakan dengan VEXcode V5.
Pertanyaan Diskusi Motivasi di bagian bawah halaman dapat diselesaikan sebagai diskusi kelas atau secara individual di buku catatan teknik siswa.
Mendorong Diskusi
T:Jenis pekerjaan manusia apa yang akan mendapat manfaat dari bantuan robot dengan sensor penglihatan?
J:Sebutkan pekerjaan manusia yang akan mendapat manfaat dari kemampuan untuk melihat ke dalam lingkungan dan/atau memanipulasi lingkungan dari jarak jauh (misalnya, mengamati hewan di alam liar, melucuti bahan peledak, atau melakukan operasi dengan bantuan robot).
T:Sebutkan sebuah alat dan jelaskan bagaimana alat tersebut menggunakan input, output, dan proses.
J:Jawaban yang mungkin adalah kalkulator yang menerima urutan angka dan operator matematika yang dimasukkan seseorang, memproses angka dan operasi tersebut untuk menghitung suatu hasil, dan kemudian menampilkan hasil tersebut di layar untuk orang tersebut.
T:Mengapa menurut Anda loop tanpa akhir digunakan dalam proyek yang ditampilkan?
J:Loop tanpa akhir digunakan agar Sensor Penglihatan terus menerus memeriksa beberapa cuplikan yang diambil untuk melihat apakah objek merah masuk ke dalam pandangan sensor.
Keterangan
Sensor Penglihatan memungkinkan robot Anda untuk mengumpulkan data visual dari umpan langsung. Siaran langsung adalah transmisi streaming dari apa yang sedang direkam oleh kamera video. Sensor Penglihatan ini seperti kamera pintar yang dapat mengamati, memilih, menyesuaikan, dan menyimpan warna serta objek yang muncul di bidang pandangnya.
Kemampuan:
- Sensor ini dapat digunakan untuk mengenali warna dan pola warna.
- Sensor ini dapat digunakan untuk mengikuti suatu objek.
- Sensor ini dapat digunakan untuk mengumpulkan informasi tentang lingkungan sekitar.
Sensor penglihatan memungkinkan robot untuk menggunakan data masukan visual dari lingkungannya. Proyek tersebut kemudian dapat menentukan bagaimana data masukan visual harus memengaruhi perilaku robot.
, robot dapat melakukan tindakan (output) seperti memutar motor atau menampilkan hasil pada layar LCD. Sensor
juga dapat mengambil gambar apa yang ada di depannya dan menganalisisnya sesuai dengan permintaan pengguna. Sebagai contoh, pengguna dapat mengumpulkan data dari foto tersebut, seperti: apa warna objek tersebut? Apakah ada objek yang terdeteksi sama sekali? Seberapa besar objek tersebut (lebar dan tinggi)?
Robot kemudian dapat membuat keputusan berdasarkan data ini. Contoh proyek sebagian di bawah ini menunjukkan bagaimana hal ini dilakukan. Tiga warna diperiksa berulang kali setelah proyek dimulai, dan setiap pemeriksaan warna merupakan peristiwa yang berbeda. Hanya event yang memeriksa warna Biru yang ditampilkan di bawah ini. Susunan perintah ini membuat robot mencetak "Objek Biru Ditemukan" jika objek biru terdeteksi atau "Tidak Ada Objek Biru" jika tidak. Peristiwa check_red dan check_green yang tidak ditampilkan di bawah ini memiliki tumpukan serupa untuk menentukan apa yang akan dicetak di layar.
# Impor pustaka
from vex import *
# Mulai kode proyek
check_red = Event()
check_blue = Event()
check_green = Event()
def check_blue_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(1)
brain.screen.set_cursor(1, 1)
# Ambil snapshot dengan Sensor Penglihatan dan simpan data penglihatan ke dalam variabel
vision_5_objects = vision_5.take_snapshot(vision_5__BLUEBOX)
# Periksa variabel untuk melihat apakah snapshot mendeteksi objek biru
if (vision_5_objects):
brain.screen.print("Objek Biru Ditemukan")
else:
brain.screen.print("Tidak Ada Objek Biru")
# Penanganan Peristiwa Sistem
check_blue(check_blue_callback)
tambahkan penundaan 15ms untuk memastikan Peristiwa terdaftar dengan benar
tunggu(15, MSEC)
sementara Benar:
periksa_biru.siarkan_dan_tunggu()
periksa_merah.siarkan_dan_tunggu()
periksa_hijau.siarkan_dan_tunggu()
tunggu(0.1,DETIK)
tunggu(5, MSEC)