Menambahkan Tombol Kedua ke Layar Otak - Python
Kotak Peralatan Guru
-
Tujuan dari Aktivitas ini
Sekarang setelah siswa memiliki pengalaman memperlakukan layar otak seperti satu tombol besar, mereka dapat mengubah layar tersebut menjadi dua tombol. Aktivitas ini akan memperkenalkan siswa pada penggunaanif-untuk mengelola kondisional dengan lebih baik dan logika yang mendasarinya. Para siswa pertama-tama dibimbing untuk membangun proyek agar tombol pada layar dapat memutar robot ke kiri atau ke kanan. Namun, mereka kemudian diminta untuk menukar tombol sehingga yang tadinya memutar robot ke kiri sekarang memutarnya ke kanan, dan sebaliknya.
Untuk informasi lebih lanjut tentang pernyataan jika dan jika-else atau pernyataan lain yang digunakan dalam aktivitas ini, kunjungi informasi bantuan di dalam VEXcode V5. Untuk informasi lebih lanjut tentang alat bantu bawaan ini lihat artikel .
Berikut ini adalah garis besar kegiatan yang akan dilakukan siswa Anda dalam aktivitas ini:
- Meninjau proyek StopOrDrive dan tata letak layar otak dalam piksel.
- Membangun proyek LeftOrRight baru sambil dipandu melalui penalaran pemrograman.
- Merevisi proyek agar tombol-tombol di layar berfungsi sebaliknya.
- Perluas Pembelajaran Anda: Membagi layar menjadi dua tombol yang, ketika ditekan, akan memutar robot ke kiri atau ke kanan.
Pastikan Anda memiliki perangkat keras yang dibutuhkan, buku catatan teknik Anda, dan VEXcode V5 yang siap digunakan.
| 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 |
StopOrDrive proyek dari halaman Play sebelumnya |
Kotak Peralatan Guru
Untuk saran mengenai strategi pengajaran untuk bagian ini, tinjau kolom Penyampaian pada Panduan Pengaturan Tempo yang Harus Dilakukan atau Tidak Dilakukan! (Google Doc / .docx / .pdf)
Layar otak dapat memiliki lebih dari satu tombol.
Aktivitas ini memungkinkan Anda memprogram robot untuk bergerak maju dan berbelok kiri atau kanan tergantung pada sisi layar otak mana yang ditekan.
Tiga jenis perintah tambahan yang Anda perlukan selama aktivitas ini adalah sebagai berikut:
- drivetrain.turn(KANAN)
- nomor < 50
- otak.layar.posisi_x()
Anda dapat menggunakan informasi Help di dalam VEXcode V5 untuk mempelajari petunjuknya.

Langkah 1: Mari kita mulai dengan meninjau proyek StopOrDrive.
Mari kita mulai dengan meninjau proyek StopOrDrive.
Proyek StopOrDrive membuat Clawbot berhenti jika layar ditekan, atau sebaliknya akan bergerak maju.
Seluruh layar adalah satu tombol besar, tetapi dalam proyek berikutnya ini, kita ingin setengah layar menjadi satu tombol dan setengah lainnya menjadi tombol yang lain.
# Mulai kode proyek
while True:
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)Untuk membagi layar menjadi dua tombol, kita perlu memahami lebih lanjut tentang tata letak layar.

- Perhatikan bahwa jumlah kolom bertambah dari kiri ke kanan. Jumlah kolomnya adalah 48 dan lebar layarnya adalah 480 piksel.
- Tuliskan di buku catatan teknik Anda bahwa nilai x pada layar sama dengan jumlah piksel yang diukur dari kiri ke kanan.
- Berapakah nilai x dari titik tengah layar? Untuk aktivitas ini, Anda dapat fokus pada sumbu x saja karena Anda hanya membutuhkan tombol kiri dan kanan.
Kotak Peralatan Guru
-
Jawaban
Nilai x di tengah layar sama dengan setengah dari lebar layar dalam piksel. Jadi nilai x dari titik pusatnya adalah 240. Siswa akan membutuhkan angka ini untuk memprogram kondisi yang menentukan apakah layar ditekan di sebelah kiri atau kanan. Jadi pastikan untuk memeriksa bahwa semuanya memiliki nilai yang benar.
Ke depannya, Tantangan Antarmuka Pengguna di bagian Rethink akan mengharuskan siswa untuk menerapkan apa yang telah mereka pelajari untuk membuat empat tombol di layar. Jadi untuk itu, mereka membutuhkan nilai x dan y.
Langkah 2: Pemrograman untuk dua tombol.
- SimpanStopOrDrivesebagai proyekLeftOrRight.
- Bangun proyek di bawah ini. Robot Clawbot akan berbelok ke kiri atau ke kanan saat layar ditekan, tergantung pada sisi mana layar ditekan.
# Mulai kode proyek
while True:
if brain.screen.pressing():
if brain.screen.x_position() < 240:
drivetrain.turn(LEFT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.turn(RIGHT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)- Mari kita tinjau apa yang dilakukan proyek ini.
Proyek ini terus memeriksa apakah layar ditekan. Jika layar tidak ditekan, mobil akan bergerak maju, tetapi jika ditekan, mobil akan memeriksa di mana layar ditekan.
Jika tekanan berada di sisi kiri (kurang dari 240), mobil akan berbelok ke kiri. Jika tidak, belok ke kanan. Kita tidak memerlukan syarat lain untuk kasus ketika nilai x lebih besar dari 240 karena jika nilainya tidak kurang dari 240 (belok kiri), maka nilainya pasti lebih besar (belok kanan). Kita hanya perlu memperhatikan dua tombol.
sementara dan tungguPerintah kontrol setelah setiap giliran membuat proyek menunggu hingga layar tidak lagi ditekan sebelum melanjutkan.

- Setelah proyek selesai, unduh dan jalankan untuk menguji cara kerjanya.

- Catatlah di buku catatan teknik Anda tentang bagaimana tombol-tombol tersebut mengontrol pergerakan Clawbot.
Tips untuk Guru
Saat melakukan pengujian, siswa harus menyadari bahwa Antarmuka Pengguna, ketika digunakan dari belakang Clawbot, tampaknya bekerja secara terbalik. Dari sudut pandang pengguna, Clawbot akan berbalik menjauh dari sisi yang ditekan oleh pengguna. Itu bukanlah pengalaman pengguna yang optimal.
Langkah 3: Sesuaikan proyek untuk pengalaman pengguna yang lebih baik.
Saat menekan tombol di layar dari belakang Clawbot ketika ia bergerak maju, Anda menekan sisi kanan layar untuk berbelok ke kiri dan sisi kiri layar untuk berbelok ke kanan. Itu bukanlah pengalaman pengguna yang baik. Pengalaman Pengguna adalah seberapa baik pengguna dapat berinteraksi dengan Antarmuka Pengguna untuk mengendalikan sistem komputer. Informasi lebih lanjut tentang Antarmuka Pengguna terdapat di bagian Penerapan pada lab ini.
Dalam hal ini, kita perlu meningkatkan Antarmuka Pengguna untuk meningkatkan Pengalaman Pengguna.
- Tinjau kembali proyek LeftOrRight dan revisi agar ketika pengguna menekan tombol dari belakang Clawbot, robot berbelok ke kanan saat pengguna menekan sisi kiri layar. Atau, Clawbot berbelok ke kiri.
# Mulai kode proyek
while True:
if brain.screen.pressing():
if brain.screen.x_position() < 240:
drivetrain.turn(LEFT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.turn(RIGHT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)- Rencanakan, uji, dan ulangi proyek ini serta dokumentasikan dalam buku catatan teknik Anda sehingga proyek tersebut membuat Clawbot berputar ke arah sisi layar yang ditekan pengguna dari belakang Clawbot.
Kotak Peralatan Guru
Mahasiswa harus merencanakan, menguji, dan menyempurnakan perubahan-perubahan pada proyek tersebut 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). Ingatlah untuk menjelaskan sistem penilaian kepada siswa sebelum mereka mulai mengerjakan tugas.
Solusi Kotak Peralatan Guru
-
Ada dua cara yang mungkin untuk menyelesaikan masalah yang diajukan di atas. Cara pertama adalah yang tertulis dalam instruksi: Tinjau proyek LeftOrRight dan revisi sehingga ketika pengguna menekan tombol dari belakang Clawbot, robot akan berbelok ke kanan ketika pengguna menekan sisi kiri layar. Atau, Clawbot berbelok ke kiri.
# Mulai kode proyek
while True:
if brain.screen.pressing():
if brain.screen.x_position() < 240:
drivetrain.turn(RIGHT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.turn(LEFT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)Solusi lainnya adalah dengan mengubah instruksi Operator sehingga ketika nilai x lebih besar dari 240, Clawbot berbelok ke kiri.
# Mulai kode proyek
while True:
if brain.screen.pressing():
if brain.screen.x_position() < 240:
drivetrain.turn(LEFT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.turn(RIGHT)
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)
Mendorong Diskusi
Anda perlu menggunakan koordinat dari bidang koordinat saat memprogram pernyataan kondisional untuk kondisi ketika nilai x kurang dari 240 (sisi kiri layar). Agar layar Brain dapat menampilkan tombol visual, Anda juga perlu menggunakan koordinat.
Kembali ke Langkah 2 di mana Anda telah diperlihatkan koordinat untuk layar Robot Brain V5.

T:Berapakah nilai x di tepi kanan layar?
J:Nilai x meningkat dari 0 di tepi kiri hingga 480 di tepi kanan.
T:Jadi rentang nilai x adalah 480 (0 hingga 480). Berapakah rentang nilai y?
J:Rentang nilai y adalah 240 (0 hingga 240).
T:Di manakah titik asal (0, 0) dari bidang koordinat ini?
J:Titik asalnya berada di sisi kiri atas.
T:Anda berada di bagian atas layar ketika nilai y sama dengan 0. Mengapa ini tidak biasa?
A:Biasanya, nilai y meningkat saat Anda bergerak ke atas, tetapi pada layar V5, nilai y meningkat saat Anda bergerak ke bawah. Namun Anda dapat menganggapnya sebagai nilai y yang meningkat saat Anda menjauh dari titik asal (0, 0) di kiri atas layar.
Perluas Pembelajaran Anda
Dalam Tantangan Antarmuka Pengguna di bagian Rethink, siswa akan diminta untuk mengembangkan proyek yang membuat empat tombol di layar untuk mengontrol cakar dan lengan Clawbot. Untuk tantangan itu, mereka juga diminta untuk menampilkan keempat tombol tersebut di layar. Bagian "Perluas Pembelajaran Anda
ini, seperti halaman sebelumnya, akan membantu mempersiapkan mereka untuk tantangan tersebut karena tantangan tersebut memiliki empat tombol untuk diprogram, sedangkan ini hanya memiliki dua.
siswa untuk menambahkan sebuah event ke dalam program sehingga layar menampilkan dua tombol yang terlihat saat proyek dijalankan. Sarankan siswa untuk menggunakan fitur Bantuan di VEXcode V5 untuk informasi tentang Event, khususnya informasi tentang perintahdraw rectangle. Arahkan siswa untuk meninjau bagaimana layar Otak diatur ke dalam sistem koordinat berdasarkan jumlah piksel saat digunakan dalam perintahgambar persegi panjang . Mereka perlu memahami hal itu agar dapat mengatur parameter dalam perintah tersebut. Selain itu, mereka perlu memahami cara menyiarkan acara. Dalam kasus ini, kegiatannya adalah menggambar tombol.
Siswa harus merencanakan, menguji, dan menyempurnakan perubahan pada proyek ini 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 solusi:
# Mulai kode proyek
screen_buttons = Event()
def has_screen_buttons():
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 240, 120)
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(240, 0, 480, 120)
brain.screen.set_fill_color(Color.ORANGE)
brain.screen.draw_rectangle(0, 120, 240, 240)
brain.screen.set_fill_color(Color.CYAN)
brain.screen.draw_rectangle(240, 120, 480, 240)
wait(1, SECONDS)
screen_buttons(has_screen_buttons)
while True:
screen_buttons.broadcast()
if brain.screen.pressing():
if brain.screen.x_position() < 240:
if brain.screen.y_position() < 120:
claw_motor.spin(FORWARD)
while brain.screen.pressing():
wait(5, MSEC)
else:
claw_motor.spin(REVERSE)
while brain.screen.pressing():
wait(5, MSEC)
else:
if brain.screen.y_position() < 120:
arm_motor.spin(FORWARD)
while brain.screen.pressing():
wait(5, MSEC)
else:
arm_motor.spin(REVERSE)
while brain.screen.pressing():
tunggu(5, MSEC)
motor_cakar.hentikan()
motor_lengan.hentikan()
tunggu(5, MSEC)Untuk pengalaman yang lebih realistis secara profesional, mintalah siswa untuk meminta umpan balik dari teman sekelas mereka tentang dua pilihan warna mereka.
Apakah warna-warna yang dipilih membuat Anda ingin menggunakan antarmuka ini, atau warna apa yang mereka sukai sebagai pengguna?
Salah satu bagian penting dalam mengembangkan antarmuka pengguna yang hebat adalah mengumpulkan data tentang pengalaman pengguna, bahkan preferensi estetika.