Pemrograman Dua Tombol
Kotak Alat Guru
-
Tujuan Kegiatan Ini
Pada halaman sebelumnya, siswa memprogram lengan untuk berputar ke atas menggunakan tombol Brain Up. Halaman ini akan dibangun di atas proyek sebelumnya untuk juga memprogram lengan agar berputar ke bawah menggunakan tombol Brain Down.

Kegiatan ini akan memperkenalkan siswa pada pemrograman dengan blok [Jika maka yang lain] serta menggunakan blok penginderaan dan operator untuk meminta robot memeriksa apakah tombol Brain Up atau Down ditekan. Jika tombol Brain Up ditekan, lengan Clawbot akan terangkat. Jika tombol Brain Down ditekan, lengan Clawbot akan turun. Ini dibangun dari aktivitas sebelumnya dan juga akan menjadi dasar bagi Tantangan Antarmuka Pengguna di bagian Pikirkan Ulang.
Untuk Tantangan Antarmuka Pengguna, para siswa perlu memprogram Clawbot mereka untuk menaikkan lengan, menurunkan lengan, membuka cakar, dan menutup cakar, semuanya menggunakan tombol di IQ Robot Brain.
Untuk informasi lebih lanjut tentang tombol [If then], [If then else], <Brain yang ditekan>, atau [Spin] blok, kunjungi informasi bantuan dalam VEXcode IQ. Untuk informasi lebih lanjut tentang alat bantuan bawaan ini, klik di sini.
Berikut ini adalah garis besar apa yang akan dilakukan siswa Anda dalam kegiatan ini:
- Gunakan ArmUp2 yang ada untuk membangun proyek ArmUpDown yang disediakan dan prediksi apa yang akan dilakukan proyek tersebut.
- Lihat diagram alur untuk membantu menjelaskan aliran blok dalam proyek.
- Memperbaiki penjelasan mereka tentang apa yang dilakukan proyek ArmUpDown .
- Tonton video tutorial Blok Jika Maka Lain .
- Edit proyek mereka dengan menggunakan blok [If then else] .
- Berhenti dan Diskusikan: Siswa akan merenungkan prediksi mereka tentang apa yang akan dilakukan Clawbot dalam proyek tersebut dibandingkan dengan pengamatan mereka yang sebenarnya.
- Programlah cakar menggunakan garis besar proyek yang sama dengan pemrograman lengan.
| Kuantitas | Bahan-bahan yang Dibutuhkan |
|---|---|
| 1 |
Kit Super VEX IQ |
| 1 |
Kode VEX IQ |
| 1 |
Buku Catatan Teknik |
| 1 |
Templat Clawbot (Drivetrain) |
Lengan Clawbot siap bergerak naik dan turun!
Aktivitas ini akan memberi Anda alat untuk memprogram robot Anda dengan perilaku bersyarat.
Blok [If then else] adalah fokus utama dalam aktivitas ini, tetapi blok Sensing, Control, dan Operator lainnya juga digunakan.

Anda dapat menggunakan informasi Bantuan di dalam VEXcode IQ untuk mempelajari tentang blok. Untuk panduan dalam menggunakan fitur Bantuan , lihat tutorial Menggunakan Bantuan.

Langkah 1: Pemrograman untuk menggerakkan lengan ke bawah.
Pada halaman sebelumnya, Anda memprogram lengan Clawbot untuk berputar ke atas saat tombol Brain Up ditekan. Namun, bagaimana dengan menurunkan lengan juga? Mari kita tinjau kembali proyek ArmUp2 sebelumnya.

Mungkinkah menggunakan blok [If then] yang sama untuk memutar lengan ke atas dan juga memutar lengan ke bawah? Ayo kita coba! Bangun proyek di bawah ini dengan mengedit proyek ArmUp2 Anda yang sudah ada.

-
Simpan proyek sebagai ArmUpDown. Jika siswa memerlukan bantuan untuk menyimpan proyek, lihat tutorial Penamaan dan Penyimpanan.

- Periksa untuk memastikan nama proyek ArmUpDown sekarang ada di jendela di tengah bilah alat.
- Prediksikan apa yang akan dilakukan Clawbot dalam proyek tersebut di buku catatan teknik Anda. Jelaskan perilaku pengguna dan Clawbot.
- Uji untuk melihat apakah prediksi Anda tentang apa yang dilakukan proyek Clawbot itu benar.
- Unduh proyek ke Slot 3 di Clawbot, lalu jalankan.
- Untuk bantuan mengunduh dan menjalankan proyek, lihat tutorial di VEXcode IQ yang menjelaskan cara Mengunduh dan Menjalankan Proyek.

- Periksa penjelasan Anda tentang proyek dan tambahkan catatan untuk memperbaikinya bila diperlukan.
Tips Guru
Jika ini adalah pertama kalinya siswa menggunakan VEXcode IQ, mereka juga dapat melihat Tutorial di bilah alat untuk mempelajari keterampilan dasar lainnya.

Kotak Peralatan Guru
Proyek yang dibangun siswa di atas akan berhasil. Bila tombol Brain Up ditekan, lengan akan berputar ke atas, dan bila tombol Brain Down ditekan, lengan akan berputar ke bawah. Meskipun proyek berjalan sebagaimana mestinya, penulisannya belum optimal. Mungkin ada kejadian di mana kedua kondisi tersebut dapat benar pada saat yang bersamaan. Perhatikan pula, karena kondisi tombol Brain Up mulai ditekan terlebih dahulu, maka jika tombol Brain Up ditekan terus dan kemudian Brain Down juga ditekan, lengan akan terus berputar ke atas. Tindakan itu tidak akan berhenti sampai tombol Brain Up dilepaskan. Oleh karena itu, proyek akan ditulis ulang pada langkah berikutnya untuk menyertakan blok [If then else] untuk menghindari potensi masalah ini.
Kotak Alat Guru
-
Berhenti dan Diskusikan
Sekarang setelah siswa menguji proyek tersebut, tanyakan kepada mereka bagaimana prediksi mereka dibandingkan dengan pengamatan mereka. Fasilitasi diskusi dengan mengajukan pertanyaan-pertanyaan berikut:
-
Apakah prediksi Anda sama dengan pengamatan Anda?
-
Apa yang tampaknya terjadi dalam proyek tersebut?
-
Apakah kondisi tombol Atas dan Bawah yang ditekan hanya diperiksa satu kali?
-
Apakah menurut Anda proyek tersebut dapat ditata ulang agar berjalan lebih efisien?
Langkah 2: Memahami alur proyek.
Pada langkah sebelumnya, proyek menaikkan dan menurunkan lengan. Akan tetapi, karena kondisi tombol Brain Up mulai ditekan terlebih dahulu, maka jika tombol Brain Up ditekan terus dan kemudian Brain Down juga ditekan, lengan akan terus berputar ke atas karena tindakan tersebut tidak akan berhenti hingga tombol Brain Up dilepaskan. Lihat diagram alur berikut yang menjelaskan alur proyek.

Dengan demikian, proyek dapat mengganti blok [If then] dengan blok [If then else] sehingga hanya satu kejadian yang dapat bernilai benar pada satu waktu.
Tonton video tutorial berikut tentang blok [If then else] :
Mulailah dengan menonton video Tutorial If-Then-Else di VEXcode IQ.

Menggunakan blok [If then else] juga akan menghilangkan kebutuhan akan blok [Wait until] karena lengan akan terus berputar ke atas hingga tombol Brain Up dilepaskan. Hal ini terjadi karena bagian "else" dari [If then else] tidak pernah tercapai hingga kondisi tombol Brain Up salah (dilepas).
Blok [Forever] memungkinkan kondisi pertama diperiksa terus-menerus.

Mari kita coba mengubah proyek dengan menambahkan blok [If then else] . Motor Lengan sekarang akan terus berputar hingga tombol Brain Up tidak lagi ditekan (dilepas). Karena blok [Selamanya] , kondisi ini akan terus diperiksa hingga bernilai salah.
Setelah kondisi tombol Brain Up bernilai salah, proyek akan berlanjut ke blok berikutnya, yaitu memeriksa kondisi jika tombol Brain Down ditekan. Jika kondisi tombol Brain Down yang ditekan benar, maka lengan akan berputar ke atas. Sekali lagi, karena blok [Selamanya] , kondisi ini akan terus diperiksa hingga bernilai salah.
Setelah kondisi tombol Brain Up bernilai salah, proyek akan berlanjut ke blok berikutnya, yaitu blok [Hentikan motor] . Dengan demikian, Motor Lengan hanya akan berhenti jika kedua kondisi bernilai salah (tidak ada tombol yang ditekan).

Memotivasi Diskusi
T: Bagaimana perkembangan alur proyek jika kondisi tombol Brain Up yang ditekan adalah SALAH (dilepas)?
J: Jika kondisinya salah, alur proyek akan terus memeriksa kondisi tombol Brain Down yang ditekan.
T: Apa tujuan dari blok [If then else] dalam proyek di atas?
J: Menggunakan blok [If then else] hanya memungkinkan satu contoh menjadi benar pada satu waktu. Dengan demikian, tombol Brain Up dan tombol Brain Down tidak bisa bernilai benar di waktu yang sama dengan menggunakan blok [If then else] , karena kondisi kedua tombol Brain Down yang ditekan tidak akan menjadi pilihan kecuali kondisi pertama tombol Brain Up yang ditekan bernilai salah. Tujuan lainnya adalah untuk meningkatkan efisiensi pemrograman.
T: Bagaimana perkembangan alur proyek jika kedua kondisi tombol Atas dan Bawah ditekan salah?
J: Jika kedua kondisi salah, alur proyek akan berlanjut ke blok [Hentikan motor] sebelum kembali ke atas tumpukan dan berulang selamanya.
Langkah 3: Pemrograman dengan blok [If then else] .
Mari kita gunakan blok [If then else] :
-
Tambahkan blok [If then else] ke proyek ArmUpDown Anda sehingga proyek Anda tampak seperti berikut:

-
Simpan proyek sebagai ArmUpDown2. Jika siswa memerlukan bantuan untuk menyimpan proyek, lihat tutorial Penamaan dan Penyimpanan.

- Unduh proyek ke Slot 4 di Clawbot, lalu jalankan.
- Untuk bantuan mengunduh dan menjalankan proyek, lihat tutorial di VEXcode IQ yang menjelaskan Mengunduh dan Menjalankan Proyek.

- Uji untuk melihat apakah lengan sekarang akan berputar ke atas saat tombol Brain Up ditekan dan berputar ke bawah saat tombol Brain Down ditekan.
- Verifikasi bahwa saat tombol Brain Up dan Brain Down tidak ditekan (dilepas) maka Motor Lengan berhenti.
- Tuliskan pengamatan Anda tentang bagaimana Clawbot berperilaku sebelum dan sesudah menambahkan blok if then else ke proyek Anda di buku catatan teknik Anda.
Kotak Alat Guru
-
Berhenti dan Diskusikan
Setelah siswa menguji proyek sebelum dan sesudah menambahkan blok [If then else] , diskusikan dengan siswa bagaimana hal ini memungkinkan lengan terus berputar hingga tombol Brain Up dilepaskan. Minta siswa untuk berbagi pengamatan mereka dari buku catatan teknik mereka. Fasilitasi diskusi dengan mengajukan pertanyaan-pertanyaan berikut:
-
Apakah Anda melihat Clawbot berperilaku berbeda antara menggunakan blok [If then else] dibandingkan dengan hanya menggunakan blok [If then] ?
-
Mengapa menurut Anda efisiensi program itu penting?
-
Apakah kondisi tombol Brain Up hanya dicentang satu kali dalam proyek?
Buku catatan teknik siswa dapat dikelola dan dinilai secara individu (Google / .docx / .pdf) atau sebagai tim (Google / .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.
Kotak Peralatan Guru
Siswa mungkin tidak melihat banyak perbedaan dalam cara Clawbot mereka berperilaku antara penggunaan blok [If then else] dibandingkan dengan blok [If then] . Jika siswa tidak dapat melihat banyak perbedaan secara fisik, fasilitasi diskusi tentang efisiensi pemrograman dan bagaimana penyederhanaan proyek dapat menghasilkan penggunaan lebih sedikit blok. Menggunakan lebih sedikit blok dalam suatu proyek dapat mengurangi jumlah potensi kesalahan.
Langkah 4: Pemrograman Cakar.
Pada langkah sebelumnya, proyek dioptimalkan agar berjalan lebih efisien dengan menggunakan blok [If then else] . Pada contoh sebelumnya, lengan dimanipulasi menggunakan tombol Brain Up dan Down.
Dengan menggunakan garis besar proyek yang sama persis, Claw juga dapat dimanipulasi.
-
Tinjau proyek ArmUpDown2 dan ubah blok [Spin] menjadi ClawMotor, bukan ArmMotor, dengan menggunakan menu tarik-turun.
Pastikan tombol Brain Up memutar Claw "buka" dan tombol Brain Down memutar Claw "tutup" dengan menggunakan menu tarik-turun.
-
Simpan proyek sebagai ClawUpDown. Jika siswa memerlukan bantuan untuk menyimpan proyek, lihat tutorial Penamaan dan Penyimpanan.

- Unduh proyek ke Slot 1 di Clawbot, lalu jalankan.
- Untuk bantuan mengunduh dan menjalankan proyek, lihat tutorial di VEXcode IQ yang menjelaskan Mengunduh dan Menjalankan Proyek.

- Uji untuk melihat apakah Claw sekarang akan berputar terbuka saat tombol Brain Up ditekan dan berputar tertutup saat tombol Brain Down ditekan.
- Verifikasi bahwa saat tombol Brain Up dan Brain Down tidak ditekan (dilepas) maka Motor Cakar berhenti.
- Tuliskan pengamatan Anda tentang bagaimana Clawbot berperilaku sebelum dan sesudah menambahkan blok if then else ke proyek Anda di buku catatan teknik Anda.
Kotak Peralatan Guru
Setelah siswa memiliki keterampilan untuk memanipulasi lengan dan cakar menggunakan tombol, mintalah siswa untuk bertukar pikiran tentang bagaimana mereka dapat melakukan keempat tindakan tersebut dalam proyek yang sama (lengan ke atas, lengan ke bawah, cakar terbuka, dan cakar tertutup).
Siswa akan menggunakan blok [if then else] lainnya di bagian pemikiran ulang untuk memungkinkan robot mereka melakukan keempat tindakan tersebut.
Perluas Pembelajaran Anda
-
Set Blok Penghenti Motor
Jika siswa memprogram robot mereka untuk menaikkan dan menurunkan lengan, berat Cakar dapat menyebabkan lengan melayang ke bawah.
Dalam kasus ini, blok [Atur motor berhenti] dapat digunakan agar lengan tidak jatuh karena gravitasi dan berat cakar. Blok ini dapat digunakan pada awal proyek dan akan diterapkan ke semua blok motor mendatang untuk sisa proyek.

Blok penghenti motor yang ditetapkan memiliki tiga pengaturan:
- Rem menyebabkan Motor segera berhenti.
- Pantai membiarkan Motor berputar secara bertahap hingga berhenti.
- Tahan menyebabkan Motor berhenti seketika dan mengembalikannya ke posisi berhenti jika digerakkan.