Langsung ke konten utama

Apa itu Sensor Penglihatan? - C++

Ikon Kotak Peralatan Guru Kotak Peralatan Guru - Tujuan Halaman Ini

Halaman ini akan memperkenalkan kepada siswa apa itu Sensor Penglihatan dan beberapa kemampuannya. Para siswa kemudian akan menganalisis sebagian gambar dari contoh proyek untuk melihat bagaimana Sensor Penglihatan dapat digunakan dengan VEXcode
Pertanyaan Diskusi Motivasi di bagian halaman dapat diselesaikan sebagai diskusi kelas atau secara individual di buku catatan teknik siswa.

Ikon Motivasi Diskusi 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 "selamanya" digunakan dalam proyek yang ditunjukkan di atas?
J:Loop "selamanya" 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.

Sensor VEX Vision dengan bagian atas sensor ditunjukkan di sebelah kiri dan bagian bawah sensor, dengan port untuk koneksi ditunjukkan di sebelah kanan. Sensor Penglihatan
276-4850

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. Tumpukan perintah ini membuat robot mencetak "Objek Biru Ditemukan" jika objek biru terdeteksi atau "Tidak Ada Objek Biru" jika tidak. Peristiwa checkRed dan checkGreen yang tidak ditampilkan di bawah ini memiliki tumpukan serupa untuk memutuskan apa yang akan dicetak di layar.

#include "vex.h"

using namespace vex;

event checkBlue = event();
event checkRed = event();
event checkGreen = event();

void hasBlueCallback() {

  Brain.Screen.setFont(mono20);
  Brain.Screen.clearLine(1, black);
  Brain.Screen.setCursor(Brain.Screen.row(), 1);
  Brain.Screen.setCursor(1, 1);
  Vision5.takeSnapshot(Vision5__BLUEBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("Objek Biru Ditemukan");

  } else {
    Brain.Screen.print("Tidak Ada Objek Biru");
  }
}

// Mulai kode proyek
int main() {
  // Menginisialisasi Konfigurasi Robot. JANGAN DILEPAS!
  vexcodeInit();

  checkBlue (hasBlueCallback);

  while (true) {
    checkBlue.broadcast();
    checkRed.broadcast();
    checkGreen.broadcast();
    wait(1, seconds);
  }
}