Pemrograman dengan Kondisi - Python
Kotak Alat Guru
-
Tujuan Kegiatan Ini
Kegiatan ini akan memperkenalkan siswa pada penggunaan pernyataan while dan if agar robot melaju maju kecuali layar ditekan.
- Kegiatan ini akan memperkenalkan siswa kepada kondisi dan instruksi yang membuat robot bergerak maju kecuali layar ditekan.
- Untuk informasi lebih lanjut tentang pernyataan if dan if-else atau pernyataan lain yang digunakan dalam aktivitas ini, kunjungi informasi bantuan dalam VEXcode V5. Untuk informasi lebih lanjut tentang alat bantuan bawaan ini, lihat artikel tentang bantuan di Python.
Kotak Peralatan Guru
Untuk saran mengenai strategi pengajaran untuk bagian ini, tinjau kolom Penyampaian pada Panduan 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 pernyataanif-else
- Perintah Python VEXcode V5 yang akan digunakan dalam eksplorasi ini:
- drivetrain.drive_for(MAJU)
- otak.layar.menekan()
- drivetrain.berhenti()
- jika kondisi:
- kalau tidak:
- sementara Benar:
- tunggu(5, DETIK)
Anda dapat menggunakan informasi Bantuan di dalam VEXcode V5 untuk mempelajari perintah Python.

Pastikan Anda memiliki perangkat keras yang diperlukan, buku catatan teknik, dan VEXcode V5 yang siap.
| Kuantitas | Bahan-bahan yang Dibutuhkan |
|---|---|
| 1 |
Kit Pemula Kelas VEX V5 (dengan firmware terbaru) |
| 1 |
VEXcode V5 (versi terbaru, Windows, macOS) |
| 1 |
Buku Catatan Teknik |
| 1 |
Templat Clawbot (Drivetrain 2-motor, Tanpa Gyro) |
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.

Langkah 1: Mari kita mulai dengan memahami pernyataan kondisional
Sebelum Anda memulai pemrograman dengan kondisi, bacalah artikel yang menjelaskan pernyataanif-else. Artikelnya dapat ditemukan di sini (Google Doc / .docx / .pdf).
Untuk daftar operator yang akan digunakan dalam pernyataan if-else, baca artikel yang menjelaskan Boolean. Artikel ini dapat ditemukan di sini (Google Doc/.docx/.pdf).
Langkah 2: Mari mulai pemrograman dengan pernyataan kondisional.
-
Buka proyek contoh templat Clawbot (Drivetrain 2-motor, Tanpa Gyro).

- Bangun proyek di bawah ini.
# Mulai kode proyek
sementara Benar:
drivetrain.drive(MAJU)
jika brain.screen.pressing():
drivetrain.stop()
sementara brain.screen.pressing():
tunggu(5, MSEC)
tunggu(5, MSEC)Lakukan hal berikut di buku catatan teknik Anda:
- Jelaskan apa saja yang dilakukan proyek Clawbot. Anda perlu menjelaskan lebih dari sekadar fakta bahwa hal itu menciptakan tombol berhenti. Jelaskan instruksi mana yang membuat Clawbot melakukan apa.
- Tulis ringkasan satu kalimat yang menggambarkan apa yang dilakukan proyek tersebut.
- Uji untuk melihat apakah prediksi Anda tentang apa yang dilakukan proyek Clawbot itu benar.
- Beri nama proyekCreatingAStopButton. Unduh dan jalankan proyek di Clawbot.
- Periksa penjelasan Anda tentang proyek tersebut, dan tambahkan catatan untuk memperbaikinya bila diperlukan.
Kotak Alat Guru
-
Jawaban
Proyek ini membuat robot terus melaju ke depan tetapi berhenti jika layar ditekan. Hal ini dilakukan dengan menggunakan pernyataan "selamanya" (while True)untuk menggerakkan dan memeriksa secara terus-menerus. Jika layar ditekan (Benar), maka Clawbot berhenti mengemudi.
Siswa tidak diharapkan memahami mengapa perintah while brain.screen.pressing():dan wait(5, MSEC) digunakan. Jelaskan bahwa perintah ini diperlukan karena kecepatan alur program robot. Jika tidak ada, motor Clawbot akan berperilaku seolah-olah pengguna menekan layar berulang kali saat mengulang proyek. Sebaliknya, instruksi ini menghentikan aliran program dan tidak membuat proyek memulai pengulangan lagi hingga pengguna berhenti menekan layar.
Baris pseudocode bisa sesederhana: Terus maju hingga layar ditekan.
Buku catatan teknik siswa dapat dikelola dan dinilai secara individu (Google Doc / .docx / .pdf) atau sebagai tim (Google Doc / .docx / .pdf). Tautan sebelumnya menyediakan 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 pernyataanwhiledanwait().
Perhatikan bahwa jika layar Brain ditekan, aliran proyek bergerak cepat dan proyek akan berpindah ke instruksi berikutnya, yaitu perintah drivetrain.stop().
Jadi, proyek tersebut memerlukan perintah while dan wait yang memberi tahu robot untuk tetap berhenti hingga layar Brain dilepaskan. Jika tidak, pernyataan selamanyaakan menyebabkan proyek dimulai lagi.
sementara otak.layar.menekan():
tunggu(5, MSEC)Perintahwhile dan waitdiperlukan karena kecepatan alur proyek. Jika mereka tidak ada di sana, proyek akan berpindah ke instruksi berikutnya sebelum robot sempat merespons.
Langkah 4: Ubah proyek.
Langkah kita selanjutnya adalah mengubah pernyataanifmenjadi pernyataanif-else
- Mulailah dengan menyimpanCreatingAStopButtonsebagai proyek baru,StopOrDrive.
- Jika Anda memerlukan bantuan untuk menyimpan proyek, lihat artikel ini.
- Kemudian buat proyekStopOrDriveseperti yang ditunjukkan di bawah ini.
# Mulai kode proyek
sementara Benar:
jika brain.screen.pressing():
drivetrain.stop()
sementara brain.screen.pressing():
tunggu(5, MSEC)
yang lain:
drivetrain.drive(MAJU)
tunggu(5, MSEC)- UnduhStopOrDriveke Slot 2 di Clawbot Anda.
- Untuk bantuan mengunduh dan menjalankan proyek, lihat artikel ini.
- UjiMembuatAStopButton(Slot 1) lalu ujiStopOrDrive(Slot 2) dan bandingkan keduanya untuk melihat apakah ada perbedaan dalam perilaku robot. Catat setiap perbedaan di buku catatan teknik Anda
Kotak Alat Guru
-
Jawaban
Mengenai perilaku robot, seharusnyabukanada perbedaan antaraproyek CreatingAStopButtondanStopOrDrive.
Jika siswa memerlukan bantuan lebih lanjut untuk memahami pernyataanif-else, lihat artikel ini (Google Doc / .docx / .pdf).
Kedua proyek tersebut membuat Clawbot berperilaku dengan cara yang sama. Satu-satunya perbedaan adalah penggunaan pernyataan if-else dalam proyek StopOrDrive
Menggunakan pernyataan if-else akan memungkinkan Anda menambahkan tombol tambahan ke layar dalam aktivitas mendatang.
Perluas Pembelajaran Anda
Saat Lab STEM ini berlangsung, siswa akan mengembangkan proyek yang memungkinkan layar Clawbot berfungsi sebagai antarmuka pengguna. Sebagai persiapannya, tantang siswa untuk mencari cara menggambar persegi panjang berwarna di layar yang berfungsi seperti tombol. Karena menekan bagian mana saja pada layar merupakan kondisi saat ini, tombol tersebut seharusnya memenuhi seluruh layar. Siswa harus meminta proyek tersebut menyiarkan suatu kejadian untuk menggambar tombol saat dimulai.
Arahkan siswa untuk terlebih dahulu mempelajari bagaimana layar otak diatur dalam sistem koordinat. Mereka perlu memahami hal ini untuk menetapkan parameter dalam perintah yang akan mereka gunakan. Koordinat yang digunakan sesuai dengan jumlah piksel, bukan jumlah kolom atau baris. Berikut tata letak layarnya:
Siswa harus merencanakan, menguji, dan menyempurnakan perubahan pada proyek sambil mendokumentasikannya dalam buku catatan teknik mereka. Untuk rubrik buku catatan teknik individu, klik 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 solusinya:
# Mulai kode proyek
draw = Event()
def draw_button():
brain.screen.set_fill_color(Color.RED)
brain.screen.draw_rectangle(0, 0, 480, 240)
wait(1, SECONDS)
draw(draw_button)
while True:
draw.broadcast()
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)Seperti yang Anda lihat, tombol digambar untuk memenuhi seluruh layar dimulai dari titik asal (0, 0) dan mengisi semua 480 piksel horizontal (sumbu x) dan 240 piksel vertikal (sumbu y).
