Lompat ke isi utama

Pemrograman Maju dan Mundur - C++

Ikon Kotak Alat Guru Kotak Alat Guru - Garis Besar Aktivitas

Eksplorasi ini akan memperkenalkan siswa pada perilaku pemrograman dasar maju, mundur, dan menunggu. Keterampilan dasar ini akan membantu mereka untuk berhasil dalam Tantangan Otomatis di akhir Lab STEM ini, saat mereka akan menavigasi lantai rumah sakit dengan menggunakan Speedbot.

Menggunakan proyek templat V5 Speedbot (Drivetrain 2-motor, Tanpa Gyro) memungkinkan siswa memprogram Speedbot untuk bergerak maju hanya dengan menggunakan satu instruksi.

Speedbot siap bergerak!

Eksplorasi ini akan memberi Anda alat untuk dapat memprogram Speedbot Anda untuk gerakan sederhana. Di akhir kegiatan ini, Anda akan terlibat dalam Tantangan Latihan Bola Basket menggunakan perilaku maju, mundur, dan menunggu.

Ikon Kotak Alat Guru Kotak Peralatan Guru

Berikut ini ikhtisar Antarmuka Pengguna VEXcode V5. Siswa akan diperkenalkan dengan tab/tombol ini selama aktivitas di Lab STEM Medbot ini. Tautan juga disediakan di seluruh Lab STEM untuk memberikan informasi lebih lanjut tentang tab/tombol ini.

Tangkapan layar yang menunjukkan antarmuka VEXcode V5. Bilah alat terletak di bagian atas layar, dengan menu seret dan lepas di bawah di sebelah kiri dan jendela pemrograman C++ di bawah di sebelah kanan. Di bawah jendela pemrograman ada jendela 'Kesalahan'.

  • Instruksi VEXcode V5 yang akan digunakan dalam eksplorasi ini:
    • Drivetrain.driveFor(maju, 200, mm);
    • tunggu(1, detik);
  • Untuk mengetahui informasi lebih lanjut tentang instruksi, pilih Bantuan lalu pilih ikon tanda tanya di samping perintah untuk melihat informasi lebih lanjut.

    Menu Bantuan VEXcode untuk perintah Drive For. Ikon Bantuan di sudut kanan atas disorot, mengilustrasikan apa yang harus dipilih untuk membuka Menu Bantuan.

     

  • Pastikan Anda telah mengunduh dan menyiapkan perangkat keras yang diperlukan, buku catatan teknik, dan VEXcode V5.

Ikon Tips Guru Tips Guru

Jika ini adalah pertama kalinya siswa menggunakan VEXcode V5, mereka dapat merujuk Tutorial kapan saja selama eksplorasi ini. Tutorial ada di bilah alat.

Toolbar VEXcode V5 dengan tombol Tutorial yang disebut dalam kotak merah, di sebelah kanan menu File.

Bahan yang dibutuhkan:
Kuantitas Bahan-bahan yang Dibutuhkan
1

Robot Speedbot

1

Baterai Robot Terisi

1

Kode VEX V5

1

Kabel USB (jika menggunakan komputer)

1

Buku Catatan Teknik

Ikon Tips Guru Tips Guru

Modelkan setiap langkah pemecahan masalah untuk siswa.

Langkah 1: Persiapan Eksplorasi

Sebelum Anda memulai kegiatan, apakah Anda sudah menyiapkan masing-masing barang ini? Periksa masing-masing hal berikut ini:

Langkah 2: Mulai Proyek Baru

Selesaikan langkah-langkah berikut untuk memulai proyek:

  • Buka menu File dan pilih Buka Contoh.

    Bilah Alat VEXcode V5 dengan menu File terbuka dan Buka Contoh disorot dalam kotak merah. Buka Contoh adalah item menu keempat di bawah Proyek Blok Baru, Proyek Teks Baru, dan Buka.

     

  • Pilih dan buka proyek templat Speedbot (Drivetrain 2-motor, Tanpa Gyro). Proyek templat berisi konfigurasi motor. Jika templat tidak digunakan, robot Anda tidak akan menjalankan proyek dengan benar.

    Menu 'Proyek Contoh' terbuka, dengan kategori 'Templat' dipilih. Proyek Speedbot (Drivetrain 2-motor, Tanpa Gyro) disorot dengan kotak merah, yang menunjukkan proyek mana yang akan dipilih dan dibuka.

     

  • Karena Anda akan menggerakkan Speedbot maju dan mundur, Anda akan memberi nama proyek AndaDrive.  Klik pada Nama Proyek, Ketik Drive dan pilih Simpan.

 

Menu tarik-turun penggantian nama dibuka dari tombol Nama Proyek pada bilah alat V5 VEXcode. Proyek ini diubah namanya menjadi 'Drive'.

 

 

Ikon Tips Guru Tips Guru

  • Nama Proyek dapat memiliki spasi di antara atau setelah kata-kata.

    Toolbar V5 VEXcode dengan tombol Nama Proyek disorot dengan kotak merah. Nama proyek ditetapkan ke 'Bergerak Maju'.

  • Anda dapat meminta siswa untuk menambahkan inisial mereka atau nama kelompok mereka ke nama proyek. Ini akan membantu membedakan proyek jika Anda meminta siswa untuk menyerahkannya.
  • Karena ini merupakan aktivitas pemrograman pertama yang mungkin dicoba oleh siswa Anda, Anda harus memodelkan langkah-langkahnya, lalu meminta siswa untuk menyelesaikan tindakan yang sama. Guru kemudian harus memantau siswa untuk memastikan bahwa mereka mengikuti langkah-langkah dengan benar.
  • Pastikan siswa telah memilih Buka Contoh dari menu File.
  • Pastikan siswa telah memilih proyek templat Speedbot (Drivetrain 2-motor, Tanpa Gyro).
  • Anda dapat menunjukkan kepada siswa bahwa ada beberapa pilihan untuk dipilih pada halaman Contoh. Saat mereka membangun dan menggunakan robot lain, mereka akan memiliki kesempatan untuk menggunakan templat yang berbeda.
  • Periksa untuk memastikan nama proyekDrivesekarang ada di jendela di tengah bilah alat.

    Toolbar VEXcode V5 menampilkan nama proyek 'Drive'.

Ikon Kotak Alat Guru Kotak Alat Guru - Menyimpan Proyek

  • Tunjukkan bahwa ketika mereka pertama kali membuka VEXcode V5, jendelanya diberi label Proyek VEXcode. Proyek VEXcode adalah nama proyek default saat VEXcode V5 pertama kali dibuka. Setelah proyek diubah namanya menjadi Drive dan disimpan, tampilan diperbarui untuk menampilkan nama proyek baru. Dengan menggunakan jendela ini di bilah alat, mudah untuk memeriksa apakah siswa menggunakan proyek yang benar.

  • Beritahukan siswa bahwa mereka sekarang siap untuk memulai proyek pertama mereka. Jelaskan kepada siswa bahwa hanya dengan mengikuti beberapa langkah sederhana, mereka akan dapat membuat dan menjalankan proyek yang akan memajukan Speedbot.

  • Ingatkan siswa untuk menyimpan proyek mereka saat mereka mengerjakannya. BagianC++dari Pustaka VEX menjelaskan praktik penyimpanan dalam VEXcode V5.

Ikon Kotak Alat Guru Kotak Alat Guru - Berhenti dan Diskusikan

Ini adalah saat yang tepat untuk berhenti sejenak dan meminta siswa meninjau kembali langkah-langkah yang baru saja diselesaikan dalam memulai proyek baru di VEXcode V5 secara individu atau kelompok. Mintalah siswa untuk melakukan refleksi secara individu sebelum membagikannya dalam kelompok atau ke seluruh kelas.

Langkah 3: Maju Terus

Anda sekarang siap untuk mulai memprogram robot untuk melaju maju!

  • Sebelum kita memulai pemrograman, kita perlu memahami apa itu instruksi. Ada tiga bagian dalam sebuah instruksi. Untuk informasi lebih lanjut tentang apa itu instruksi, lihat artikel, "Aturan dan Pedoman Sintaks - VEXcode V5"

    Drive C++ untuk perintah dengan komponen perintah yang diberi label. Drivetrain diberi label sebagai perangkat; drive for diberi label sebagai perintah; dan forward, 100, dan mm diberi label sebagai parameter.

  • Tambahkan instruksi ke proyek, sehingga proyek Anda terlihat seperti ini: 

    int main() {
      // Menginisialisasi Konfigurasi Robot. JANGAN DIHAPUS!
      vexcodeInit();
        // Mulai kode proyek
    
        Drivetrain.driveFor(maju, 100, mm);
    
    }

Ikon Tips Guru Tips Guru

Anda mungkin memperhatikan fungsi pelengkapan otomatis saat Anda mulai mengetik instruksi. Gunakan tombol “Atas” dan “Bawah” untuk memilih nama yang Anda inginkan, lalu tekan “Tab” atau (Enter/Return) pada keyboard Anda untuk membuat pilihan. Untuk informasi lebih lanjut tentang fitur ini lihat artikelC++.

Seorang pengguna mengetik perintah C++, dan setelah mulai mengetik Drivetrain.d program tersebut membuka menu tarik-turun yang menyarankan opsi pelengkapan otomatis.

  • Pilih ikon Slot untuk memilih salah satu dari delapan slot yang tersedia di Robot Brain dan pilih slot 1.

    Toolbar VEXcode V5 dengan menu Slot terbuka di sebelah kiri nama proyek. Menu tarik-turun mencantumkan semua slot yang tersedia, dari 1 hingga 8. Slot pertama disorot dengan kotak merah.

     

  • Hubungkan V5 Robot Brain ke komputer menggunakan kabel micro USB dan nyalakan V5 Robot Brain. Ikon Otak pada bilah alatberubah menjadi hijausetelah koneksi berhasil dibuat.

    Bilah Alat VEXcode V5 dengan kotak merah di sekitar ikon Otak hijau, di sebelah kanan tombol Pengontrol.

     

  • PilihUnduhuntuk mengunduh proyek ke Brain.

    Toolbar VEXcode V5 dengan kotak merah di sekitar ikon unduh, di antara tombol Brain dan Run.

Ikon Kotak Alat Guru Kotak Peralatan Guru

  • Ingatkan siswa untuk melepaskan kabel USB dari Robot Brain. Menghubungkan robot ke komputer saat menjalankan proyek dapat menyebabkan robot menarik kabel koneksi.

Ikon Kotak Alat Guru Kotak Alat Guru - Berhenti dan Diskusikan

Minta siswa untuk memprediksi apa yang menurut mereka akan terjadi ketika proyek ini diunduh dan dijalankan di Speedbot. Mintalah siswa untuk mencatat prediksi mereka di buku catatan teknik mereka. Jika waktu memungkinkan, mintalah setiap kelompok untuk berbagi prediksi mereka

  • Periksa untuk memastikan proyek Anda telah diunduh (C++) dengan melihat layar Robot Brain. Nama proyek Drive harus dicantumkan di Slot 1.

    Layar Beranda V5 Brain menampilkan program Drive di slot 1 di sudut kiri bawah tepat di bawah ikon Drive.

Ikon Kotak Alat Guru Kotak Alat Guru - Model Pertama

  • Model menjalankan proyek di depan kelas sebelum meminta semua siswa mencobanya sekaligus. Kumpulkan siswa di satu area dan sisakan cukup ruang bagi Speedbot untuk bergerak jika diletakkan di lantai.

  • Beritahukan siswa bahwa sekarang giliran mereka untuk menjalankan proyek mereka. Pastikan mereka memiliki jalur yang jelas dan tidak ada Speedbot yang bertabrakan satu sama lain.

  • Jalankan (C++) proyek pada robot dengan memastikan proyek dipilih lalu tekan tombolJalankanpada Robot Brain. Selamat atas terciptanya proyek pertama Anda!

    Layar V5 Brain dengan program Drive terbuka dan kotak merah di sekitar tombol Run di sisi paling kiri. Di sebelah kanan Run terdapat tombol untuk Timed Run, Match, dan Wiring.

Langkah 4: Berkendara Mundur

Sekarang Anda telah memprogram robot Anda untuk melaju maju, mari kita memprogramnya untuk melaju mundur.

  • Ubah parameter pada instruksi drive menjadi reverse, sehingga proyek Anda tampak seperti ini:

    int main() {
      // Menginisialisasi Konfigurasi Robot. JANGAN DIHAPUS!
      vexcodeInit();
        // Mulai kode proyek
    
        Drivetrain.driveFor(reverse, 100, mm);
    
    }
  • Pilih Nama Proyek untuk mengubahnya dari Drive ke Reverse.

    Kotak dialog nama proyek dalam VEXcode V5 bertuliskan Terbalik dan menunjukkan bahwa Slot 1 dipilih.

     

  • Pilih ikon Slot untuk memilih slot baru. Pilih slot 2.

    Pemilihan slot dalam VEXcode V5 dibuka dengan slot 2 dipilih dan disorot dengan kotak merah.

     

  • Unduh (C++) proyeknya.

    Tombol Unduh di Toolbar VEXcode V5 disorot dengan kotak merah di sebelah kiri ikon otak hijau dan di sebelah kanan tombol Jalankan dan Berhenti.

  • Periksa untuk memastikan proyek Anda telah diunduh (C++) dengan melihat layar Robot Brain. Nama proyek Reverse harus dicantumkan di Slot 2.

    Layar Beranda V5 Brain menampilkan proyek Reverse di Slot 2, ikon kedua dari kiri di baris bawah, di samping proyek Drive di Slot 1.

  • Jalankan (C++) proyek pada robot dengan memastikan proyek dipilih lalu tekan tombolJalankanpada Robot Brain.

    Layar Otak V5 dengan proyek Reverse terbuka dan tombol Run disorot dalam kotak merah di paling kiri. Di sebelah kanan Run terdapat tombol untuk Timed Run, Match, dan Wiring.

Ikon Kotak Alat Guru Kotak Alat Guru - Menyelesaikan Langkah 4

  • Untuk mengubah perintahdriveFordariforwardmenjadireverse, cukup ubah parameter pertama ke -100. Ini akan membuat motor pada drivetrain bergerak ke arah yang berlawanan.

  • Jumlah mm dapat diubah, tetapi untuk contoh ini kita akan membiarkannya pada 100 mm seperti yang ditetapkan pada langkah sebelumnya.

  • Ingatkan mereka untuk melepaskan kabel USB dari Robot Brain sebelum menjalankan proyek.

  • Ingatkan siswa untuk menyimpan proyek mereka saat mereka mengerjakannya. BagianC++dari Pustaka VEX menjelaskan praktik penyimpanan dalam VEXcode V5.

Langkah 5: Tunggu lalu Berkendara dengan Gigi Mundur

Sekarang setelah kita memprogram robot untuk melaju maju dan kemudian mundur, kita sekarang dapat menambahkan instruksi tunggu sehingga robot menunggu sejumlah waktu tertentu sebelum melaju mundur.

  • Tambahkan instruksi Wait sebelum perintah Drive for. Pastikan Wait diberi indentasi agar sesuai dengan perintah Drive for , dan semua perintah berada dalam kurung kurawal. Ini memberi tahu robot untuk menunggu tiga detik sebelum bergerak mundur.

        tunggu(3, detik);
    
        Drivetrain.driveFor(maju, 100, mm);
  • Pilih Nama Proyek untuk mengubahnya dari Reverse menjadi WaitReverse.

    Kotak dialog nama proyek dalam VEXcode V5 bertuliskan Wait Reverse dan menunjukkan bahwa slot 2 dipilih.

  • Pilih ikon Slot untuk memilih slot baru. Pilih slot 3.

    Pemilihan slot di Toolbar VEXcode V5 memperlihatkan slot 3 dipilih dan disorot dengan kotak merah.

  • Unduh (C++) proyeknya.

    Tombol unduh di Toolbar VEXcode V5 disorot dalam kotak merah di sebelah kanan ikon otak hijau dan di sebelah kiri tombol Jalankan dan Berhenti.

  • Periksa untuk memastikan proyek Anda telah diunduh (C++) dengan melihat layar Robot Brain. Nama proyek WaitReverse harus dicantumkan di Slot 3.

    Layar Beranda V5 Brain menampilkan proyek Wait Reverse di slot 3, ikon ketiga di baris bawah.

  • Jalankan (C++) proyek pada robot dengan memastikan proyek dipilih lalu tekan tombolJalankan.

    Layar V5 Brain dengan proyek Wait Reverse terbuka dan tombol Run disorot dalam kotak merah di paling kiri. Di sebelah kanan Run terdapat tombol untuk Timed Run, Match, dan Wiring.

Ikon Kotak Alat Guru Kotak Alat Guru - Menyelesaikan Langkah 5

  • Menggunakan perintah wait tidak akan mengakhiri proyek, ia hanya menghentikan sementara pergerakan robot.

  • Jika siswa menggunakan komputer, ingatkan mereka untuk melepaskan kabel USB dari Robot Brain sebelum menjalankan proyek.

  • Ingatkan siswa untuk menyimpan proyek mereka saat mereka mengerjakannya. BagianC++dari Pustaka VEX menjelaskan praktik penyimpanan dalam VEXcode V5.

Langkah 6: Selesaikan Tantangan Latihan Basket!

Pengaturan untuk Latihan Bola Basket memperlihatkan empat garis yang diberi jarak dengan garis start di sebelah kiri, dan garis berjarak 10 cm, 20 cm, dan 40 cm. Robot V5 siap memulai dengan roda depannya di garis start.

Tata letak Tantangan Latihan Bola Basket

Dalam Tantangan Latihan Bola Basket, robot harus mampu menavigasi serangkaian garis pada jarak yang berbeda. Robot akan bergerak maju ke garis pertama yang berjarak 10 cm dari posisi awal, menunggu 1 detik, lalu bergerak mundur kembali ke garis yang sama. Robot kemudian akan mengulangi tindakan tersebut dengan melaju maju 20 cm ke garis kedua, menunggu 1 detik, lalu melaju mundur ke garis awal semula. Robot akan melaju ke garis ketiga dengan jarak 40 cm, menunggu 1 detik, lalu akhirnya kembali ke garis start untuk menyelesaikan tantangan.

Sebelum memprogram robot, rencanakan lintasan dan perilaku robot di buku catatan teknik Anda.

Setelah menyelesaikan Tantangan Bola Basket, Anda akan dapat menggabungkan gerakan maju dan mundur dengan perilaku robot tambahan untuk menyelesaikan tantangan yang lebih sulit.
Ingatlah saat memprogram bahwa 1 cm = 10 mm.

Ikon Kotak Alat Guru Kotak Alat Guru - Solusi

Lihat contoh solusi di bawah ini:

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

    // Maju 10cm
    Drivetrain.driveFor(maju, 100, mm);
    // Tunggu 1 detik
    wait(1, detik);
    // Maju kembali ke garis start
    Drivetrain.driveFor(mundur, 100, mm);

    // Maju 20cm
    Drivetrain.driveFor(maju, 200, mm);
    // Tunggu 1 detik
    wait(1, detik);
    // Maju kembali ke garis start
    Drivetrain.driveFor(mundur, 200, mm);

    // Maju 40cm
    Drivetrain.driveFor(maju, 400, mm);
    // Tunggu 1 detik
    wait(1, detik);
    // Maju kembali ke garis start
    Drivetrain.driveFor(mundur, 400, mm);

}

Ikon Kotak Alat Guru Kotak Alat Guru - Berhenti dan Diskusikan

Minta siswa untuk berbagi solusi mereka secara berpasangan sebelum membahasnya di kelas secara keseluruhan. Fasilitasi diskusi dengan bertanya:

  • Apakah Anda menghadapi kesulitan saat memprogram tantangan ini?

  • Apakah robot Anda berperilaku seperti yang Anda harapkan berdasarkan proyek Anda? Mengapa atau mengapa tidak?

  • Jika Anda dapat mengulangi tantangan tersebut, apakah ada hal yang akan Anda lakukan secara berbeda?