Langsung ke konten utama

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

Aktivitas ini akan memperkenalkan siswa pada penggunaan pernyataan while dan if then untuk membuat robot bergerak maju kecuali jika layar ditekan.

  • Aktivitas ini akan memperkenalkan siswa pada kalimat bersyarat dan instruksi yang membuat robot bergerak maju kecuali jika layar ditekan.

  • Untuk informasi lebih lanjut tentang pernyataan jika maka dan jika maka else atau pernyataan lain yang digunakan dalam aktivitas ini, kunjungi informasi bantuan di dalam VEXcode V5. Untuk informasi lebih lanjut mengenai alat bantu bawaan ini, lihat artikel-artikel berikut tentang bantuan di C++ .

Ikon Kotak Peralatan Guru Kotak Peralatan Guru

Untuk saran mengenai strategi pengajaran untuk bagian ini, tinjau kolom Penyampaian pada Panduan Pengaturan Kecepatan Yang Harus Dilakukan atau Tidak Dilakukan! (Google Doc / .docx / .pdf)

Clawbot siap mengambil keputusan!

Eksplorasi ini akan memberi Anda alat untuk dapat mulai membuat beberapa proyek keren yang menggunakan pernyataan if then else .

  • Perintah C++ VEXcode V5 yang akan digunakan dalam eksplorasi ini: 
    • Sistem penggerak.menggerakkan (maju);
    • Otak.Layar.menekan()
    • Sistem penggerak.stop();
    • jika (kondisi){}
    • tunggu sampai();
    • sementara (kondisi){}  
    • tunggu(1, detik);

Anda dapat menggunakan informasi di dalam VEXcode V5 untuk mempelajari tentang instruksi C++.

VEXcode V5 dengan drive untuk mengetikkan perintah di ruang kerja di sebelah kiri, dan informasi Bantuan terbuka di sebelah kanan. Bantuan tersebut menampilkan definisi perintah dan informasi tentang cara penggunaannya.

Pastikan Anda memiliki perangkat keras yang dibutuhkan, buku catatan teknik Anda, dan VEXcode V5 yang siap digunakan.

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

VEX V5 Classroom Starter Kit (dengan firmware terbaru)

1

VEXcode V5 (versi terbaru, Windows, macOS)

1

Buku Catatan Teknik

1

Templat Clawbot (Penggerak 2 motor, Tanpa Gyro)

Ikon Tips Guru Tips untuk Guru

Jika ini adalah kali pertama siswa menggunakan VEXcode V5, mereka dapat merujuk ke Tutorial kapan saja selama eksplorasi ini. Tutorial-tutorial tersebut terletak di bilah alat.

Toolbar VEXcode V5 dengan ikon Tutorial yang disorot dalam kotak merah. Dari sebelah kiri, Toolbar menampilkan ikon V5, ikon globe, File, lalu Tutorial. Di sebelah kanan terdapat ikon dan fungsi tambahan.

Langkah 1: Mari kita mulai dengan memahami pernyataan bersyarat 

Sebelum Anda mulai memprogram dengan pernyataan kondisional, bacalah Artikel Pustaka VEX yang menjelaskan If Then Else Pernyataan. Artikel tersebut dapat ditemukan di 

Tangkapan layar dari VEX Library, menampilkan artikel berjudul Menggunakan pernyataan if-else di VEXcode V5.Untuk daftar operator yang dapat digunakan dalam pernyataan If Then Else , baca Artikel Pustaka VEX yang menjelaskan Boolean. Artikel ini dapat ditemukan di Tangkapan layar dari VEX Library, menampilkan artikel berjudul Menggunakan Boolean di VEXcode V5.

Langkah 2: Mari kita mulai pemrograman dengan pernyataan kondisional.

  • Buka contoh proyek template Clawbot (Drivetrain 2-motor, No Gyro).

    Contoh pemilihan proyek di VEXcode V5 dengan kotak merah di sekitar filter Template di bagian atas dan proyek Clawbot drivetrain 2 motor no gyro, yang menunjukkan template mana yang harus dibuka.

     

  • Bangun proyek di bawah ini.
// Mulai kode proyek
int main() {
  // Menginisialisasi Konfigurasi Robot. JANGAN DILEPAS!
  vexcodeInit();

  while (true) {
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing()) {
      Drivetrain.stop();
      waitUntil(!Brain.Screen.pressing());
    }    
  }  
}  

Lakukan hal berikut di buku catatan teknik Anda:

  • Jelaskan apa yang harus dilakukan Clawbot dalam proyek ini. Anda perlu menjelaskan lebih dari sekadar fakta bahwa itu menciptakan tombol berhenti. Jelaskan instruksi mana yang membuat Clawbot melakukan apa.
  • Tulis ringkasan satu kalimat yang menjelaskan apa yang dilakukan proyek tersebut.
  • Uji untuk melihat apakah prediksi Anda tentang apa yang akan dilakukan Clawbot dalam proyek ini sudah benar.

Kotak dialog Nama Proyek di Toolbar VEXcode V5 bertuliskan Membuat Tombol Berhenti dan menunjukkan bahwa slot 1 telah dipilih.

Ikon Kotak Peralatan Guru Jawaban untuk Kotak Peralatan Guru -

Proyek ini membuat robot terus bergerak maju tetapi berhenti jika layar ditekan. Hal ini dilakukan dengan menggunakan pernyataan selamanya untuk menggerakkan dan memeriksa secara terus menerus. Jika layar ditekan (TRUE), maka Clawbot berhenti bergerak.Proyek Membuat Tombol Berhenti ditampilkan dengan perintah-perintah yang diberi label sesuai tujuannya. Perintah if dilingkari merah dan diberi label Memeriksa apakah kondisinya Benar - layar ditekan. Perintah Drivetrain dot stop diberi label Menjalankan blok jika benar. Penantian hingga perintah diberi label mengontrol kecepatan pemrosesan.

Siswa tidak diharapkan untuk memahami mengapa instruksi waitUntil () digunakan. Jelaskan bahwa instruksi waitUntil () diperlukan karena kecepatan alur program robot. Jika fitur itu tidak ada, motor Clawbot akan berperilaku seolah-olah pengguna menekan layar berulang kali saat program berjalan melalui proyek tersebut. Sebaliknya, instruksi waitUntil() menghentikan alur program dan tidak membuat proyek memulai loop forever lagi sampai pengguna berhenti menekan layar.

Baris pseudocode tersebut bisa sesederhana ini: Maju terus hingga layar ditekan.

Buku catatan teknik mahasiswa dapat dipelihara dan dinilai secara individual (Google Doc / .docx / .pdf) atau sebagai tim (Google Doc / .docx / .pdf). Tautan-tautan sebelumnya memberikan rubrik yang berbeda untuk setiap pendekatan. Setiap kali rubrik disertakan dalam perencanaan pendidikan, praktik yang baik adalah menjelaskan rubrik tersebut atau setidaknya memberikan salinannya kepada siswa sebelum kegiatan dimulai.

Langkah 3: Memahami pernyataan wait until() .

Perhatikan bahwa jika layar Brain ditekan, alur proyek akan bergerak cepat dan proyek akan beralih ke instruksi berikutnya, yaitu instruksi Drivetrain.stop() .

Oleh karena  untuk tetap berhenti sampai layar Brain dilepaskan. Jika tidak, pernyataan selamanya akan menyebabkan proyek dimulai lagi.

tunggu sampai (!Brain.Screen.press());

Instruksi waitUntil() diperlukan karena kecepatan alur proyek. Jika instruksi tersebut tidak ada, proyek akan beralih ke instruksi berikutnya sebelum robot sempat merespons.

Langkah 4: Ubah proyek.

Langkah selanjutnya adalah mengubah pernyataan if then menjadi pernyataan if then else.

Kotak dialog nama proyek di Toolbar VEXcode V5 bertuliskan Stop atau Drive dan menunjukkan bahwa slot 1 telah dipilih.

  • Mulailah dengan menyimpan CreatingAStopButton sebagai proyek baru, StopOrDrive.
  • Jika Anda memerlukan bantuan untuk menyimpan proyek, klik di sini untuk C++.
  • Kemudian, buatlah proyek StopOrDrive seperti yang ditunjukkan di bawah ini.
// Mulai kode proyek
int main() {
  // Menginisialisasi Konfigurasi Robot. JANGAN DILEPAS!
  vexcodeInit();

  while (true) {
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing()) {
      Drivetrain.stop();
      waitUntil(!Brain.Screen.pressing());
    } 
    else {
      Drivetrain.drive(forward);
    }   
  }  
}  
  • Unduh StopOrDrive ke Slot 2 pada Clawbot Anda.

Pemilihan slot di Toolbar VEXcode V5 terbuka dan slot 2 terpilih serta disorot dengan kotak merah. Nama proyeknya adalah Berhenti atau Mengemudi.

  • Untuk bantuan mengunduh proyek, lihat tutorial di VEXcode V5 yang menjelaskan cara Mengunduh dan Menjalankan Proyek (C++).
  • Lakukan uji coba CreatingAStopButton (Slot 1) dan kemudian uji coba StopOrDrive (Slot 2) dan bandingkan keduanya untuk melihat apakah ada perbedaan dalam perilaku robot. Catat perbedaan apa pun di buku catatan teknik Anda.

Ikon Kotak Peralatan Guru Kotak Peralatan Guru - Jawaban

denganrobot seharusnya     

Jika siswa memerlukan bantuan lebih lanjut dalam memahami Pernyataan If-Else, klik di sini.

Kedua proyek tersebut membuat Clawbot berperilaku dengan cara yang sama. Satu-satunya perbedaan adalah penggunaan pernyataan if then else pada proyek StopOrDrive .

Dengan menggunakan pernyataan if then else , Anda dapat menambahkan tombol tambahan ke layar pada aktivitas mendatang.

Perluas Pembelajaran Anda Perluas Pembelajaran Anda

Seiring berjalannya Lab STEM ini, siswa akan mengembangkan proyek-proyek yang memungkinkan layar Clawbot berfungsi sebagai antarmuka pengguna. Sebagai persiapan, tantang siswa untuk mencari cara menggambar persegi panjang berwarna di layar yang berfungsi seperti tombol. Karena saat ini kondisinya adalah menekan di mana saja pada layar, maka tombol tersebut harus menempati seluruh layar. Siswa harus membuat proyek tersebut menyiarkan sebuah peristiwa untuk menggambar tombol saat dimulai.
siswa untuk terlebih dahulu mempelajari bagaimana layar otak diatur ke dalam sistem koordinat. Mereka perlu memahami hal ini agar dapat menetapkan parameter dalam instruksi yang akan mereka gunakan. Koordinat yang digunakan sesuai dengan jumlah piksel, bukan jumlah kolom atau baris. Berikut adalah tata letak layarnya:

Kisi piksel pada layar V5 Brain menunjukkan 12 baris bernomor di sepanjang sisi kiri, dengan baris teratas diberi label Baris 1 dan baris terbawah diberi label Baris 12. Di bagian atas terdapat 48 kolom bernomor, dengan Kolom 1 diberi label di paling kiri dan Kolom 48 diberi label di paling kanan. Ukuran piksel totalnya adalah 480 piksel lebar dan 240 piksel tinggi.

Mahasiswa harus merencanakan, menguji, dan menyempurnakan perubahan-perubahan pada proyek tersebut sambil mendokumentasikannya dalam buku catatan teknik mereka. Untuk rubrik buku catatan teknik individu, salah satu tautan berikut (Google Doc / .docx / .pdf), atau klik salah satu tautan berikut untuk buku catatan tim (Google Doc / .docx / .pdf).

Berikut adalah contoh solusi:

// Mulai kode proyek
event draw = event();

void drawButton() {
  Brain.Screen.setFillColor(red);
  Brain.Screen.drawRectangle(0, 0, 480, 240);
  wait(1, seconds);
}

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

  draw(drawButton);

  while (true) {
    draw.broadcast();
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing()) {
      waitUntil(!Brain.Screen.pressing());
    } 
    else {
      Drivetrain.drive(forward);
    }   
  }  
}  

Seperti yang Anda lihat, tombol tersebut digambar untuk menempati seluruh layar mulai dari titik asal (0, 0) dan mengisi seluruh 480 piksel horizontal (sumbu x) dan 240 piksel vertikal (sumbu y).