Pemrograman Penggerak Maju dan Mundur - C++
Panduan Aktivitas Kotak Peralatan Guru
-
Eksplorasi ini akan memperkenalkan siswa pada perilaku pemrograman dasar seperti maju, mundur, dan menunggu. Keterampilan dasar ini akan membantu mereka untuk berhasil dalam Tantangan Automed di akhir Lab STEM ini, ketika mereka akan menavigasi lantai rumah sakit dengan menggunakan Speedbot.
Dengan menggunakan proyek templat V5 Speedbot (Drivetrain 2-motor, Tanpa Gyro), siswa dapat 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 aktivitas ini, Anda akan terlibat dalam Tantangan Latihan Bola Basket menggunakan perilaku maju, mundur, dan menunggu.
Kotak Peralatan Guru
Berikut adalah gambaran umum antarmuka pengguna VEXcode V5. Para siswa akan diperkenalkan dengan tab/tombol ini selama kegiatan di Laboratorium STEM Medbot ini. Tautan juga disediakan di seluruh Lab STEM untuk memberikan informasi lebih lanjut tentang tab/tombol ini.

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

- Pastikan Anda memiliki perangkat keras yang dibutuhkan, buku catatan teknik Anda, dan VEXcode V5 yang sudah diunduh dan siap digunakan.
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.

| Kuantitas | Bahan-bahan yang Dibutuhkan |
|---|---|
| 1 |
Robot Speedbot |
| 1 |
Baterai Robot Terisi Penuh |
| 1 |
VEXcode V5 |
| 1 |
Kabel USB (jika menggunakan komputer) |
| 1 |
Buku Catatan Teknik |
Tips untuk Guru
Peragakan setiap langkah pemecahan masalah kepada para siswa.
Langkah 1: Persiapan untuk Eksplorasi
Sebelum memulai aktivitas, apakah Anda sudah menyiapkan semua barang-barang ini? Periksa setiap hal berikut:
- Apakah motor-motor tersebut terhubung ke port benar?
- Apakah kabel pintarsudah terpasang sepenuhnyake semua motor?
- Apakah Otakdiaktifkan?
- Apakah baterai terisi?
Langkah 2: Memulai Proyek Baru
Ikuti langkah-langkah berikut untuk memulai proyek:
-
Buka menu File dan pilih Buka Contoh.

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

- Karena Anda akan mengerjakan pergerakan Speedbot maju dan mundur, Anda akan menamai proyek AndaDrive. Klik pada Nama Proyek, ketik Drive , lalu pilih Simpan.

Tips untuk Guru
-
Nama proyek dapat memiliki spasi di antara atau setelah kata-katanya.

- Anda dapat meminta siswa untuk menambahkan inisial mereka atau nama kelompok mereka ke nama proyek. Ini akan membantu membedakan proyek-proyek tersebut jika Anda meminta siswa untuk mengirimkannya.
- Karena ini adalah aktivitas pemrograman pertama yang mungkin dicoba siswa Anda, Anda harus mencontohkan langkah-langkahnya, lalu meminta siswa untuk melakukan 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 yang dapat mereka pilih di halaman Contoh. Saat mereka membangun dan menggunakan robot lain, mereka akan memiliki kesempatan untuk menggunakan berbagai templat.
-
Periksa untuk memastikan nama proyekDrivesekarang berada di jendela di tengah bilah alat.

Kotak Peralatan Guru
-
Proyek Penyimpanan
-
Tekankan bahwa ketika mereka pertama kali membuka VEXcode V5, jendela tersebut diberi label VEXcode Project. VEXcode Project adalah nama proyek default saat VEXcode V5 pertama kali dibuka. Setelah proyek diubah namanya menjadi Drive dan disimpan, tampilan diperbarui untuk menampilkan nama proyek yang baru. Dengan menggunakan jendela ini di bilah alat, mudah untuk memeriksa apakah siswa menggunakan proyek yang benar.
-
Beritahu para 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 menggerakkan Speedbot ke depan.
-
Ingatkan siswa untuk menyimpan proyek mereka saat mengerjakannya. BagianC++dari VEX Library menjelaskan praktik penyimpanan di VEXcode V5.
Kotak Peralatan Guru
-
Berhenti dan Berdiskusi
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 berkelompok. Mintalah siswa untuk merenung secara individu sebelum berbagi dalam kelompok mereka atau di depan seluruh kelas.
Langkah 3: Maju Terus
Anda sekarang siap untuk mulai memprogram robot agar bergerak maju!
-
Sebelum kita mulai memprogram, kita perlu memahami apa itu instruksi. Instruksi terdiri dari tiga bagian. Untuk informasi lebih lanjut mengenai apa itu instruksi, lihat artikel, "Aturan dan Pedoman Sintaks - VEXcode V5"

-
Tambahkan instruksi ke proyek, sehingga proyek Anda akan terlihat seperti ini:
int main() { // Menginisialisasi Konfigurasi Robot. JANGAN DILEPAS! vexcodeInit(); // Mulai kode proyek Drivetrain.driveFor(forward, 100, mm); }
Tips untuk Guru
Anda mungkin akan melihat fungsi pelengkapan otomatis saat mulai mengetik instruksi. Gunakan tombol “Atas” dan “Bawah” untuk memilih nama yang Anda inginkan, lalu tekan “Tab” atau (Enter/Return) pada keyboard Anda untuk menyimpan pilihan. Untuk informasi lebih lanjut mengenai fitur ini, lihat artikelC++.

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

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

-
PilihUnduhuntuk mengunduh proyek ke Brain.

Kotak Peralatan Guru
-
Ingatkan siswa untuk mencabut kabel USB dari Robot Brain. Menghubungkan robot ke komputer saat menjalankan proyek dapat menyebabkan robot menarik kabel penghubung.
Kotak Peralatan Guru
-
Berhenti dan Berdiskusi
Mintalah 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 membagikan prediksi mereka.
-
Periksa untuk memastikan proyek Anda telah diunduh (C++) dengan melihat layar Otak Robot. Nama proyek Drive harus dicantumkan di Slot 1.

Kotak Peralatan Guru Model
-
Pertama
-
Berikan contoh bagaimana menjalankan proyek di depan kelas sebelum meminta semua siswa mencobanya sekaligus. Kumpulkan para siswa di satu area dan sisakan ruang yang cukup agar Speedbot dapat bergerak jika diletakkan di lantai.
-
Beritahu para siswa bahwa sekarang giliran mereka untuk menjalankan proyek mereka. Pastikan mereka memiliki jalur yang jelas dan tidak ada Speedbot yang saling bertabrakan.
-
Jalankan (C++) proyek pada robot dengan memastikan proyek terpilih lalu tekan tombolRunpada Otak Robot. Selamat atas pembuatan proyek pertama Anda!

Langkah 4: Mundur
Setelah Anda memprogram robot Anda untuk bergerak maju, mari kita program robot tersebut untuk bergerak mundur.
-
Ubah parameter pada instruksi penggerak menjadi mundur, sehingga proyek Anda akan terlihat seperti ini:
int main() { // Menginisialisasi Konfigurasi Robot. JANGAN DILEPAS! vexcodeInit(); // Mulai kode proyek Drivetrain.driveFor(reverse, 100, mm); } -
Pilih Nama Proyek untuk mengubahnya dari Drive menjadi Reverse.

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

-
Unduh (C++) proyek.

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

-
Jalankan (C++) proyek pada robot dengan memastikan proyek terpilih lalu tekan tombolRunpada Otak Robot.

Kotak Peralatan Guru
-
Menyelesaikan Langkah 4
-
Untuk mengubah perintahdriveFordarimajumenjadimundur, cukup ubah parameter pertama menjadi -100. Ini akan menyebabkan motor-motor pada sistem penggerak bergerak ke arah yang berlawanan.
-
Jumlah mm dapat diubah, tetapi untuk contoh ini kita akan membiarkannya tetap 100 mm seperti yang telah ditetapkan pada langkah sebelumnya.
-
Ingatkan mereka untuk mencabut kabel USB dari Robot Brain sebelum menjalankan proyek.
-
Ingatkan siswa untuk menyimpan proyek mereka saat mengerjakannya. BagianC++dari VEX Library menjelaskan praktik penyimpanan di VEXcode V5.
Langkah 5: Tunggu lalu Mundur
Setelah kita memprogram robot untuk bergerak maju dan kemudian mundur, kita sekarang dapat menambahkan instruksi tunggu agar robot menunggu dalam jangka waktu tertentu sebelum bergerak mundur.
-
Tambahkan instruksi Wait sebelum perintah Drive for. Pastikan perintah Wait diberi indentasi agar sesuai dengan perintah Drive for , dan semua perintah berada di dalam tanda 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.

-
Pilih ikon Slot untuk memilih slot baru. Pilih slot 3.
-
Unduh (C++) proyek.

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

-
Jalankan (C++) proyek pada robot dengan memastikan proyek terpilih lalu tekan tombolRun.

Kotak Peralatan Guru
-
Menyelesaikan Langkah 5
-
Menggunakan perintah tunggu tidak akan mengakhiri proyek, melainkan hanya menghentikan sementara pergerakan robot.
-
Jika siswa menggunakan komputer, ingatkan mereka untuk mencabut kabel USB dari Robot Brain sebelum menjalankan proyek.
-
Ingatkan siswa untuk menyimpan proyek mereka saat mengerjakannya. BagianC++dari VEX Library menjelaskan praktik penyimpanan di VEXcode V5.
Langkah 6: Selesaikan Tantangan Latihan Bola Basket!

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 tersebut kemudian akan mengulangi tindakan tersebut dengan bergerak maju sejauh 20 cm ke garis kedua, menunggu 1 detik, lalu bergerak mundur ke garis awal. Robot akan bergerak maju ke garis ketiga dengan jarak 40 cm, menunggu 1 detik, dan kemudian akhirnya kembali ke garis awal untuk menyelesaikan tantangan.
Sebelum memprogram robot, rencanakan jalur dan perilaku robot di buku catatan teknik Anda.
Setelah menyelesaikan Tantangan Bola Basket, Anda dapat menggabungkan gerakan maju dan mundur dengan perilaku robot tambahan untuk menyelesaikan tantangan yang lebih canggih.
Ingatlah saat memprogram bahwa 1 cm = 10 mm.
Solusi Kotak Peralatan Guru
-
Lihat contoh solusi di bawah ini:
int main() {
// Menginisialisasi Konfigurasi Robot. JANGAN DILEPAS!
vexcodeInit();
// Mulai kode proyek
// Maju 10cm
Drivetrain.driveFor(forward, 100, mm);
// Tunggu 1 detik
wait(1, seconds);
// Mundur ke garis start
Drivetrain.driveFor(reverse, 100, mm);
// Maju 20cm
Drivetrain.driveFor(forward, 200, mm);
// Tunggu 1 detik
wait(1, seconds);
// Mundur ke garis start
Drivetrain.driveFor(reverse, 200, mm);
// Maju 40cm
Drivetrain.driveFor(forward, 400, mm);
// Tunggu 1 detik
wait(1, seconds);
// Mundur ke garis start
Drivetrain.driveFor(reverse, 400, mm);
}
Kotak Peralatan Guru
-
Berhenti dan Berdiskusi
Mintalah siswa untuk berbagi solusi mereka secara berpasangan sebelum mendiskusikannya sebagai kelas secara keseluruhan. Fasilitasi diskusi dengan mengajukan pertanyaan:
-
Apakah Anda menghadapi kesulitan saat memprogram tantangan ini?
-
Apakah robot Anda berperilaku sesuai dengan yang Anda harapkan berdasarkan proyek Anda? Mengapa ya atau mengapa tidak?
-
Jika Anda bisa mengulang tantangan ini, adakah hal yang akan Anda lakukan secara berbeda?