Lompat ke isi utama

Tantangan Otomatis - Python

Denah lantai untuk Automed Challenge termasuk penunjukan area sebagai berikut: Apotek, Ruang 1, Ruang 2, Ruang 3, Start, dan Lift. Kamar 2 dan Kamar 3 berada di lantai dua, kamar lainnya berada di lantai pertama. Pengukuran ditandai, dengan seluruh denah lantai sesuai dengan persegi panjang berukuran 2 meter kali 1,8 meter.
Tata letak rumah sakit Tantangan Otomatis dengan dimensi

Tantangan Otomatis

Dalam tantangan ini, Anda perlu memprogram robot Anda untuk menavigasi rumah sakit saat mengirimkan obat-obatan kepada pasien di beberapa ruangan berbeda.

Ikon Tips Guru Tips Guru

Tingkatkan keterlibatan dengan membuat cerita latar belakang rumah sakit! Jenis rumah sakit apa itu dan jenis pasien apa yang dilayani rumah sakit itu?

Aturan Tantangan

  • Robot harus memulai dan mengakhiri di Zona Mulai.

  • Seluruh robot harus berada di dalam Apotek, Lift, dan Kamar Pasien dan menunggu beberapa saat berikut ini untuk menyelesaikan tindakan:

    • Apotek: Tunggu setidaknya 5 detik untuk mengambil obat.

    • Lift: Tunggu setidaknya 5 detik untuk mencapai lantai lain.

    • Ruang Pasien: Tunggu setidaknya 3 detik untuk menyerahkan obat.

  • Robot tidak boleh bersentuhan atau melewati dinding mana pun.

  • Robot harus mengunjungi Apotek terlebih dahulu untuk mengambil obat-obatan untuk Kamar Pasien.

  • Robot harus mengunjungi setiap Ruang Pasien (tanpa urutan tertentu) untuk menyerahkan obat.

  • Selamat bersenang-senang!

Ikon Kotak Alat Guru Kotak Alat Guru - Solusi

Rubrik pemrograman untuk mengevaluasi siswa dapat ditemukan di sini (Google / .docx / .pdf).

Lihat contoh solusi Python VEXcode V5 di bawah ini: 

# Pustaka mengimpor
dari vex import *

# Mulai kode proyek

# Pergi ke apotek
drivetrain.drive_for(MAJU, 900, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 1350, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 600, MM)
tunggu(6, DETIK)

# Pergi ke ruang 1
drivetrain.drive_for(MUNDUR, 600, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 600, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
Bahasa Indonesia: drivetrain.drive_for(MAJU, 600, MM)
tunggu(6, DETIK)

# Pergi ke lift
drivetrain.drive_for(MUNDUR, 600, MM)
drivetrain.putar_untuk(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 600, MM)
drivetrain.putar_untuk(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 600, MM)
tunggu(6, DETIK)

# Pergi ke ruang 2
drivetrain.drive_for(MUNDUR, 800, MM)
drivetrain.putar_untuk(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 1000, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 800, MM)
tunggu(5, DETIK)

# Pergi ke ruang 3
drivetrain.drive_for(MUNDUR, 800, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 600, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)
drivetrain.drive_for(MAJU, 800, MM)
tunggu(5, DETIK)

# Pergi ke lift
drivetrain.drive_for(MUNDUR, 800, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 750, MM)
drivetrain.turn_for(KIRI, 90, DERAJAT)
drivetrain.drive_for(MAJU, 750, MM)
wait(6, DETIK)

# Kembali ke zona awal
drivetrain.drive_for(MUNDUR, 1500, MM)