Langsung ke konten utama

Menambahkan Tombol Kedua ke Layar Otak - Python

Ikon Kotak Peralatan Guru 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.

Bahan-bahan yang Dibutuhkan:
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

Ikon Kotak Peralatan Guru 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.

VEXcode V5 dengan drive untuk mengetikkan perintah di ruang kerja di sebelah kiri, dan informasi Bantuan terbuka di sebelah kanan. Bantuan tersebut menampilkan definisi perintah dan informasi tentang cara penggunaannya.

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.

Kisi piksel pada layar V5 Brain menunjukkan 12 baris bernomor di sepanjang sisi kiri, dengan baris teratas diberi label Baris 1 dan baris terbawah diberi label Baris 12. Di bagian atas terdapat 48 kolom bernomor, dengan Kolom 1 diberi label di paling kiri dan Kolom 48 diberi label di paling kanan. Ukuran piksel totalnya adalah 480 piksel lebar dan 240 piksel tinggi.

  • 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.

Ikon Kotak Peralatan Guru 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.

Ikon Tips Guru Tips untuk Guru

Untuk bantuan lebih lanjut, lihat Perpustakaan VEXuntuk artikel bantuan tambahan.

Langkah 2: Pemrograman untuk dua tombol.

  • SimpanStopOrDrivesebagai proyekLeftOrRight.

Kotak dialog nama proyek di Toolbar VEXcode V5 bertuliskan Kiri atau Kanan dan menunjukkan Slot 2 terpilih.

  • 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.

Proyek Kiri atau Kanan ditampilkan dengan perintah yang diberi label sesuai fungsinya. Perintah While true dan if pertama diberi label sebagai Terus memeriksa apakah layar ditekan. Perintah if bersarang berikutnya diberi label "when screen is pressed", memeriksa apakah di sebelah kiri atau kanan. Perintah belok berikutnya diberi label jika tombol ditekan di sebelah kiri (kurang dari 240, belok kiri), kemudian perintah tunggu hingga diberi label tunggu hingga layar tidak lagi ditekan sebelum melanjutkan. Perintah belok kanan berikutnya di cabang else diberi label jika penekanan tidak pada kiri (kurang dari 240), belok kanan, dan perintah tunggu hingga diberi label menunggu hingga layar tidak lagi ditekan sebelum melanjutkan. Cabang else terluar diberi label jika layar tidak ditekan, maka akan terus bergerak maju.

  • Setelah proyek selesai, unduh dan jalankan untuk menguji cara kerjanya.Toolbar VEXcode V5 dengan kotak merah di sekitar ikon Unduh. Ikon-ikon yang ditampilkan, dari kiri ke kanan, bertuliskan Controller, Brain, Download, Run, Stop, dan Share.
  • Catatlah di buku catatan teknik Anda tentang bagaimana tombol-tombol tersebut mengontrol pergerakan Clawbot.

Ikon Tips Guru 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.

Ikon Kotak Peralatan Guru 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.

Ikon Kotak Peralatan Guru 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)

Ikon Motivasi Diskusi 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.

Kisi piksel pada layar V5 Brain menunjukkan 12 baris bernomor di sepanjang sisi kiri, dengan baris teratas diberi label Baris 1 dan baris terbawah diberi label Baris 12. Di bagian atas terdapat 48 kolom bernomor, dengan Kolom 1 diberi label di paling kiri dan Kolom 48 diberi label di paling kanan. Ukuran piksel totalnya adalah 480 piksel lebar dan 240 piksel tinggi.

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 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.