Langsung ke konten utama

Menggunakan Sensor Penglihatan - C++

Ikon Kotak Peralatan Guru Kotak Peralatan Guru - Tujuan dari Aktivitas ini

Penggunaan sensor penglihatan secara efektif membutuhkan kemampuan siswa untuk mengkonfigurasi dan menyesuaikannya sesuai dengan lingkungan tempatnya berada. Pada aktivitas berikut, siswa akan mempelajari cara melakukan keduanya.
Untuk informasi lebih lanjut tentang pemrograman Sensor Penglihatan dengan VEXcode V5, kunjungi informasi bantuan untukC++di dalamPustaka VEX.

Berikut ini adalah garis besar kegiatan yang akan dilakukan siswa Anda dalam aktivitas ini:

  • Buka proyek contoh Mendeteksi Objek (Visi).

  • Konfigurasikan Sensor Penglihatan.

  • Jalankan proyek contoh Mendeteksi Objek (Visi).

  • Diskusikan dan Renungkan.

  • Lakukan penyetelan pada sensor penglihatan.

Ikon Tips Guru Tips untuk Guru

Jika ini adalah kali pertama siswa menggunakan VEXcode V5, mereka dapat mengaksesartikel bantuandiPerpustakaan VEX.

Ikon Tips Guru Tips untuk Guru - Menggunakan Fitur Pelengkapan Otomatis

Autocomplete adalah fitur di VEXcode V5 yang memprediksi sisa perintah yang Anda ketik. Saat siswa mengerjakan VEXcode V5, dorong mereka untuk menggunakan fitur Autocomplete untuk membantu sintaks.

VEXcode V5 dengan bagian Drivetrain dari perintah yang diketik di sebelah kiri, dan di sebelah kanan, daftar opsi pelengkapan otomatis yang dapat digulir untuk perintah tersebut ditampilkan.

Artikel Autocomplete untukC++membahas cara menggunakan fitur Autocomplete.

Siapkan perangkat keras yang dibutuhkan, buku catatan teknik Anda, dan buka VEXcode V5.

Bahan-bahan yang Dibutuhkan:
Kuantitas Bahan-bahan yang Dibutuhkan
1

Perangkat Awal Kelas VEX V5

1

VEXcode V5 (versi terbaru, Windows, MacOS)

1

Buku Catatan Teknik

1

Mengkonfigurasi Sensor Penglihatan (Pustaka VEX)

1

Menyetel Sensor Penglihatan (Pustaka VEX)

1

Proyek contoh Deteksi Objek (Visi)

Aktivitas ini akan memberi Anda alat untuk menggunakan Sensor Penglihatan.

Anda dapat menggunakan informasi Bantuan (C++) di dalam VEXcode V5 untuk mempelajari instruksi.

VEXcode V5 ditampilkan dengan Toolbox terbuka di paling kiri, dan Bantuan untuk perintah Drive terbuka di paling kanan. Bantuan tersebut menampilkan definisi perintah dan informasi tentang cara penggunaannya.

 

Langkah 1: Buka Proyek Contoh

VEXcode V5 berisi banyak proyek contoh yang berbeda. Anda akan menggunakan salah satunya dalam eksplorasi ini.

Buka proyek contoh Mendeteksi Objek (Visi) dengan menyelesaikan langkah-langkah berikut:

  • Buka menu File.
  • Pilih Buka Contoh.

Toolbar VEXcode V5 dengan menu File terbuka dan Open Examples disorot dalam kotak merah. Open Examples adalah item menu keempat di bawah New Blocks Project, New Text Project, dan Open.

  • Gunakan bilah filter di bagian atas aplikasi dan pilih "Sensing."

Jendela pemilihan Proyek Contoh VEXcode V5 dengan filter Sensing terpilih di bagian atas, dan disorot dalam kotak merah. Di bawah ini terdapat enam contoh ikon proyek yang ditampilkan.

Pilih dan buka proyek contoh Mendeteksi Objek (Visi).

Contoh ikon proyek bertuliskan "Detecting Objects Vision" di bagian bawah dan menampilkan diagram biru robot dengan sensor yang menunjukkan deteksi objek di atasnya.

Simpan proyek Anda sebagai Mendeteksi Objek.

  • Periksa untuk memastikan nama proyek Detecting Objects sekarang ada di jendela di tengah bilah alat.

Kotak dialog nama proyek di Toolbar VEXcode V5 bertuliskan "Mendeteksi Objek" dan menunjukkan bahwa slot 1 terpilih di sebelah kiri, dan bertuliskan "Tersimpan" di sebelah kanan.

Ikon Tips Guru Tips untuk Guru

  • Pastikan siswa telah memilih Buka Contoh dari menu File.

  • Pastikan siswa telah memilih proyek Contoh Mendeteksi Objek (Penglihatan). Anda dapat menunjukkan kepada siswa bahwa ada beberapa pilihan yang dapat dipilih pada halaman Contoh Terbuka.

  • Anda dapat meminta siswa untuk menambahkan inisial mereka atau nama kelompok mereka ke nama proyek. Ini akan membantu membedakan program-program tersebut jika Anda meminta siswa untuk mengirimkannya.

  • Karena VEXcode V5 memiliki fitur simpan otomatis, tidak perlu menyimpan proyek lagi setelah disimpan untuk pertama kalinya.

  • Jika siswa membutuhkan bantuan dalam menabung, arahkan mereka ke salah satu artikel berikut: 

Langkah 2: Mengkonfigurasi dan Menggunakan Sensor Penglihatan

Jendela konfigurasi Sensor Penglihatan menampilkan gambar tangan yang memegang kubus merah di sebelah kiri, dengan lapisan di atas kubus dan tulisan REDBOX dan W142 H142 di atasnya. Di sebelah kanan, terdapat 3 tanda warna yang ditetapkan untuk BlueBox, Redbox, dan Greenbox.

Buka proyek contoh Mendeteksi Objek (Vision) yang sebelumnya telah disimpan.

Bagaimana sensor penglihatan digunakan dalam proyek ini? Prediksikan apa yang akan terjadi ketika proyek dijalankan dan catat prediksi tersebut di buku catatan teknik Anda.

#include "vex.h"

using namespace vex;

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

// Akan memeriksa apakah ada objek biru dalam pandangan Vision
// Sensor dan menampilkan hasilnya pada baris 1 layar V5 Brain.
void has BlueCallback() {

  Brain.Screen.clearLine(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");
  }
}

// Akan memeriksa apakah ada objek merah dalam pandangan Vision
// Sensor dan menampilkan hasilnya pada baris 3 layar V5 Brain.
void has RedCallback() {

  Brain.Screen.clearLine(3);
  Brain.Screen.setCursor(3, 1);
  Vision5.takeSnapshot(Vision5__REDBOX);

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

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

// Akan memeriksa apakah ada objek hijau dalam pandangan Vision
// Sensor dan menampilkan hasilnya pada baris 5 layar V5 Brain.
void hasGreenCallback() {

  Brain.Screen.clearLine(5);
  Brain.Screen.setCursor(5, 1);
  Vision5.takeSnapshot(Vision5__GREENBOX);

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

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

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

  // Daftarkan penanganan kejadian
  checkBlue (hasBlueCallback);
  checkRed (hasRedCallback);
  checkGreen (hasGreenCallback);

  // Penundaan kecil untuk memastikan penanganan kejadian siap digunakan
  wait(15, msec);

  // Atur font cetak untuk semua cetakan selanjutnya ke layar V5
  Brain.Screen.setFont(mono40);

  // Terus berjalan untuk memeriksa data sensor baru
  while (true) {
    checkBlue.broadcastAndWait();
    checkRed.broadcastAndWait();
    checkGreen.broadcastAndWait();
    wait(0.1, seconds);
  }
}
  • Unduh dan jalankanproyek tersebut. Letakkan objek dengan warna berbeda di depan Sensor Penglihatan dan amati perilaku robot. Catatlah dalam buku catatan teknik Anda bagaimana prediksi Anda berbeda atau benar dibandingkan dengan apa yang sebenarnya Anda amati dari proyek tersebut.

Ikon Tips Guru Tips untuk Guru

Ketiga benda berwarna tersebut tidak harus berbentuk kubus, bisa berupa benda berukuran relatif kecil berwarna hijau, merah, dan biru.

Ikon Motivasi Diskusi Diskusi yang Mendorong - Jawaban

Fasilitasi diskusi kelas agar siswa dapat berbagi prediksi mereka tentang apa yang akan dilakukan proyek ini di buku catatan teknik mereka, dan juga merefleksikan cara mengkonfigurasi Sensor Penglihatan.
diskusi dengan mengajukan pertanyaan pertanyaan berikut:

  1. Apa langkah-langkah untuk mengkonfigurasi Sensor Penglihatan?

  2. Apa fungsi dari strukturif then else?

  3. Apa yang akan terjadi pada cara Sensor Penglihatan mendeteksi objek jika kita berpindah ruangan?

Jawabannya akan beragam:

  1. Para siswa perlu memperhatikan bahwa nama objek tersebut harus ditentukan sendiri. Objek harus ditempatkan di dalam bingkai Sensor Penglihatan dan dihentikan dengan menggunakan tombol "Bekukan". Warna kemudian akan dipilih dan dikonfigurasi menggunakan tombol "Atur". Para siswa harus menguraikan langkah-langkah yang tercantum dalam.

  2. Strukturif then elsemenjalankan instruksi di dalam bagian pertama atau kedua dariif then elseberdasarkan nilai Boolean yang dilaporkan. Informasi lebih lanjut tentang cara menggunakan petunjuk ini dapat ditemukan di bagian Bantuan.

  3. Jika Sensor Penglihatan diminta untuk mendeteksi objek di lingkungan yang berbeda, pencahayaan dapat berubah dan warna objek dapat terlihat berbeda. Hal ini dapat mempersulit Sensor Penglihatan untuk mendeteksi objek.

Langkah 3: Menyetel Sensor Penglihatan

Seringkali suatu objek dikonfigurasi agar dikenali oleh Sensor Penglihatan di satu lingkungan tertentu, misalnya, di ruang kelas. Ketika Sensor Penglihatan kemudian dibawa ke lingkungan yang berbeda, seperti lingkungan kompetisi, objek tersebut mungkin tidak dikenali oleh Sensor Penglihatan. Hal ini seringkali disebabkan oleh perubahan pencahayaan setelah Sensor Penglihatan telah dikonfigurasi. Untuk mengatasi masalah ini, Anda mungkin perlu menyetel Sensor Penglihatan Anda.

Jendela konfigurasi Sensor Penglihatan dengan tangan memegang kubus merah dengan lapisan di atas kubus dan teks bertuliskan redbox dan x84 y 28 lalu w 158 h 166. Di sebelah kanan, tanda warna Bluebox, Redbox, dan Greenbox diatur dengan penggeser yang disorot dalam kotak merah dengan penunjuk yang disetel ke 4,4.

Buka proyek contoh Mendeteksi Objek (Visi) yang sebelumnya telah disimpan.

Bagaimana penyetelan Sensor Penglihatan akan memengaruhi seberapa baik sensor tersebut dapat mendeteksi objek? Bawa Clawbot ke bagian ruangan yang berbeda dengan pencahayaan yang lebih terang atau lebih redup.

V5 Clawbot di lapangan dengan lengan terentang dan cakar terbuka mengelilingi objek kubus ungu.

  • Unduh dan jalankanproyek tersebut. Letakkan objek dengan warna berbeda di depan Sensor Penglihatan dan amati perilaku robot. Catat dalam buku catatan teknik Anda seberapa baik Sensor Penglihatan mendeteksi objek. Apakah sensor penglihatan perlu disetel ulang setelah dipindahkan ke lokasi lain?
  • Sesuaikan Sensor Penglihatan sesuai kebutuhan. Uji sensor penglihatan setelah disetel untuk menentukan apakah sensor tersebut dapat mendeteksi objek dengan lebih baik dan lakukan penyesuaian seperlunya.

Ikon Motivasi Diskusi Memotivasi Diskusi - Refleksi atas Aktivitas

T:Apakah Sensor Penglihatan mendeteksi objek seperti yang Anda harapkan?
J:Jawaban akan bervariasi; namun, tujuan pertanyaan ini adalah untuk mendorong pemikiran kognitif. Siswa perlu memperhatikan bahwa kemampuan Sensor Penglihatan untuk mendeteksi objek dapat berubah tergantung pada lingkungan dan cahaya.

T:Mengapa penting untuk dapat menyetel Sensor Penglihatan sesuai kebutuhan?
J:Meskipun jawabannya mungkin bervariasi, jawaban umum adalah bahwa jika robot menggunakan Sensor Penglihatan dan dibawa ke kompetisi atau bahkan digunakan dalam permainan atau tantangan, seberapa baik kinerja robot akan bergantung pada akurasi Sensor Penglihatan tersebut. Menyetelnya sangat penting untuk akurasi.

Perluas Pembelajaran Anda Perluas Pembelajaran Anda - Beberapa Objek

Mintalah siswa untuk menjalankan proyek Mendeteksi Objek (Penglihatan) dan menempatkan lebih dari satu objek yang telah dikonfigurasi di depan Sensor Penglihatan. Apa yang terjadi? Minta mereka untuk mendokumentasikan temuan mereka di buku catatan teknik mereka.
, minta siswa untuk menempatkan satu objek yang telah dikonfigurasi dan satu objek yang tidak diketahui atau belum dikonfigurasi di depan Sensor Penglihatan. Apa yang terjadi? Minta mereka untuk mendokumentasikan temuan mereka di buku catatan teknik mereka.

Tanyakan kepada siswa sebelum mengujinya, apa yang akan terjadi jika mereka menempatkan tiga objek yang telah dikonfigurasi di depan Sensor Penglihatan? Mintalah siswa untuk menuliskan prediksi mereka sebelum mengujinya. Mintalah mereka untuk mencatat pengamatan mereka setelah mengujinya.

Antarmuka Vision Sensor Utility menunjukkan dua tangan memegang Greenbox dan Redbox di jendela sebelah kiri. Setiap kubus berwarna memiliki lapisan data di atasnya. Di sebelah kanan, tanda tangan untuk Bluebox, Redbox, Greenbox, dan Yellowbox sudah tertera.

Fasilitasi diskusi tentang apa yang diprediksi dan diamati oleh siswa.

Fasilitasi diskusi dengan mengajukan pertanyaan:

  • Apa perbedaan antara satu, dua, dan tiga objek?
  • Apakah Anda akan menyesuaikan proyek ini dengan cara apa pun agar dapat mengenali banyak objek?