Tantangan Data Visi - Python
Kotak Alat Guru
-
Tujuan Tantangan Data Visi
Tujuan dari Tantangan Data Penglihatan adalah untuk memastikan bahwa siswa memahami data yang dikumpulkan dari snapshot Sensor Penglihatan dan bagaimana nilai pusat X dan Y dihitung. Siswa Anda juga harus menyelesaikan lab ini dengan pemahaman tentang bagaimana data tersebut dapat ditafsirkan (misalnya, nilai pusat X dapat digunakan untuk menentukan di mana objek berada relatif terhadap titik pusat robot), dan praktik terbaik untuk memberi nama objek saat mengonfigurasi.

Selesaikan Tantangan Data Visi dengan menjawab pertanyaan dan mengisi data yang hilang di buku catatan teknik Anda.
- Instruksi manakah yang digunakan untuk mengambil gambar di atas?
-
visi_5.ambil_snapshot(REDBOX) -
vision_5.take_snapshot(KOTAK KUNING)
-
-
Isi nilai-nilai ini:

- Apakah YELLOWBOX berada di sebelah kiri atau kanan titik tengah robot?
- Apakah YELLOWBOX di atas atau di bawah titik tengah robot?
- YELLOWBOX adalahBUKANnama terbaik untuk diberikan pada objek ini jika Anda ingin dengan mudah mengenali tanda warna mana yang mana. Nama manakah yang lebih baik? Mengapa?
- YELLOWGEAR
- KUBUS KUNING
Kotak Alat Guru
-
Jawaban
Jawaban siswa dapat didiskusikan sebagai kelas dan/atau Anda dapat meninjau buku catatan teknik mereka untuk memastikan bahwa mereka menyelesaikan aktivitas dengan sukses.
-
vision_5.take_snapshot(KOTAK KUNING) 
- YELLOWBOX berada sedikit di sebelah kiri titik tengah robot tetapi hanya memiliki perbedaan 16,5 piksel (pusat 157,5 - 141).
- YELLOWBOX sedikit lebih rendah dari titik tengah robot tetapi hanya terdapat perbedaan 5,5 piksel (111 - tengah 105,5).
-
A. YELLOWGEAR
Ini adalah nama yang lebih baik karena tidak hanya menggambarkan warna objek tetapi juga jenis objek. Itu adalah roda gigi,bukankotak atau kubus.
Perluas Pembelajaran Anda
-
Gunakan Instruksi Penginderaan dalam Proyek
Sekarang setelah beberapa data yang dilaporkan Sensor Penglihatan lebih dipahami, siswa mungkin ingin menggunakan Petunjuk Penginderaan ini dalam sebuah proyek. Biarkan mereka mengeksplorasi cara melakukannya.
def check_red_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vision_5_objects = vision_5.take_snapshot(REDBOX)
if (vision_5_objects):
brain.screen.print("Objek Merah Ditemukan")
brain.screen.next_row()
brain.screen.print("Jumlah Objek Terdeteksi:", len(vision_5_objects))
brain.screen.next_row()
brain.screen.print("Pusat X:", vision_5.objek_terbesar().pusatX)
brain.screen.next_row()
brain.screen.print("Pusat Y:", vision_5.objek_terbesar().pusatY)
brain.screen.next_row()
brain.screen.print("Lebar:", vision_5.objek_terbesar().width)
brain.screen.next_row()
brain.screen.print("Tinggi:", vision_5.objek_terbesar().height)
brain.screen.next_row()
else:
brain.screen.print("Tidak Ada Objek Merah")Siswa yang lebih mahir mungkin menggunakan instruksi ini dalam suatu proyek untuk membuat keputusan.
sementara Benar:
drivetrain.drive(MAJU)
vision_5_objects = vision_5.ambil_snapshot(KOTAK_MERAH)
jika (vision_5_objects) dan (vision_5.objek_terbesar().centerX < 157.5):
drivetrain.putar_untuk(KIRI, 90, DERAJAT)
yang lain:
drivetrain.putar_untuk(KANAN, 90, DERAJAT)
tunggu(5, MSEC)