Gerakan#
Perkenalan#
Motor mengontrol bagaimana bagian-bagian robot bergerak. Motor dapat digunakan untuk mengangkat lengan, memutar cakar, memutar roda, atau menggerakkan bagian lain dari suatu konstruksi. Dua motor dapat bekerja bersama sebagai sistem penggerak untuk menggerakkan dan memutar seluruh robot.
Setiap motor dikonfigurasi di jendela Perangkat. Tergantung pada versi build, nama motor dan arahnya dapat berubah. Misalnya, versi Competition Advanced 2.0 memiliki motor bernama ArmMotor, dengan arah atas dan bawah. Robot kustom mungkin menggunakan nama atau arah motor yang berbeda.
Secara default, maju memutar motor berlawanan arah jarum jam, dan mundur memutar motor searah jarum jam. Jika motor diatur ke arah mundur di jendela Perangkat, arah tersebut akan ditukar.
Ada banyak cara untuk memprogram motor. Berikut adalah daftar semua blok Gerak:
Tindakan — Hentikan dan putar motor.
putar motor — Memutar motor maju atau mundur selamanya.
putar motor selama — Memutar motor sejauh jarak tertentu.
putar motor ke posisi — Memutar motor ke posisi tertentu.
hentikan motor — Menghentikan putaran motor.
Pengaturan — Sesuaikan pengaturan motor.
atur posisi motor — Mengubah posisi motor saat ini ke nilai baru.
atur kecepatan motor — Memberi tahu motor seberapa cepat harus berputar.
atur penghentian motor — Mengatur bagaimana motor akan berhenti bergerak: dengan mengerem, meluncur, atau menahan.
atur torsi maksimum motor — Mengatur seberapa keras motor diizinkan untuk mendorong saat berputar.
atur batas waktu motor — Mengatur berapa detik motor akan mencoba menyelesaikan suatu gerakan.
Nilai — Periksa status motor.
motor sudah selesai — Melaporkan apakah motor sudah selesai bergerak.
Apakah motor berputar? — Melaporkan apakah motor berputar.
posisi motor — Melaporkan posisi motor saat ini.
kecepatan motor — Melaporkan seberapa cepat motor berputar, dalam persentase dari -100% hingga 100%.
arus motor — Melaporkan berapa banyak daya yang digunakan motor dari baterai, dalam persentase dari 0% hingga 100%.
Tindakan#
motor putar#
Blok tumpukan spin motor memutar motor maju atau mundur selamanya. Motor akan terus berputar hingga diberi tindakan lain, seperti berputar ke arah yang berbeda atau berhenti.
putar [ArmMotor v] [naik v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan berputar. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
arah |
Arah putaran motor. Secara default, pilihannya adalah maju dan mundur. Pilihan arah dapat berubah tergantung pada konfigurasi motor. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
putar [ArmMotor v] [naik v]
tunggu [1] detik
hentikan [ArmMotor v]
putar motor untuk#
Blok spin motor for stack memutar motor sejauh jarak tertentu. Putaran tersebut relatif terhadap posisi motor saat ini. Proyek akan menunggu hingga motor selesai berputar sebelum blok berikutnya dalam stack dijalankan.
putar [ArmMotor v] [naik v] sejauh [90] [derajat v] ▶
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan berputar. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
arah |
Arah putaran motor. Secara default, pilihannya adalah maju dan mundur. Pilihan arah dapat berubah tergantung pada konfigurasi motor. |
jarak |
Jarak putaran motor. Derajat menggunakan bilangan bulat. Putaran dapat menggunakan bilangan bulat atau desimal. |
satuan |
Satuan jarak: derajat atau putaran. |
dan jangan menunggu |
Pilih tanda panah ( ▶ ) untuk memperluas blok menjadi dan jangan menunggu, sehingga blok berikutnya dalam tumpukan akan segera dijalankan. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
tunggu [1] detik
putar [ArmMotor v] [turun v] sejauh [180] [derajat v] ▶
Putar motor ke posisi yang diinginkan.#
Blok tumpukan putar motor ke posisi memutar motor ke posisi tertentu.
Posisi motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam derajat atau putaran. Satu putaran sama dengan 360 derajat. Pada awal proyek, posisi motor diatur ke 0 derajat. Posisi motor juga dapat diatur menggunakan blok atur posisi motor.
Nilai posisi bersifat absolut. Ini berarti arah putaran bergantung pada posisi motor saat ini.
putar [ArmMotor v] ke posisi (90) [derajat v] ▶
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan berputar. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
posisi |
Nilai posisi putaran motor. Derajat menggunakan bilangan bulat. Putaran dapat menggunakan bilangan bulat atau desimal. |
satuan |
Satuan posisi: derajat atau putaran. |
dan jangan menunggu |
Pilih tanda panah ( ▶ ) untuk memperluas blok menjadi dan jangan menunggu, sehingga blok berikutnya dalam tumpukan akan segera dijalankan. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
tunggu [1] detik
putar [ArmMotor v] ke posisi [0] [derajat v] ▶
motor berhenti#
Blok tumpukan stop motor menghentikan motor agar tidak berputar.
hentikan [ArmMotor v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan dihentikan. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
putar [ArmMotor v] [naik v]
tunggu [1] detik
hentikan [ArmMotor v]
Pengaturan#
atur posisi motor#
Posisi motor adalah seberapa jauh motor telah berputar, diukur dalam derajat atau putaran. Satu putaran sama dengan 360 derajat. Blok tumpukan atur posisi motor mengubah posisi motor saat ini ke nilai baru.
Sebagai contoh, jika sebuah motor telah berputar hingga 180 derajat, mengatur posisi ke 0 derajat akan mengatur ulang posisi tersebut dari 180 menjadi 0 derajat. Kemudian motor dapat berputar ke posisi berdasarkan nilai baru tersebut.
atur posisi [ArmMotor v] ke (0) [derajat v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan digunakan untuk mengatur posisi. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
posisi |
Nilai posisi yang akan diatur untuk motor. Derajat menggunakan bilangan bulat. Putaran dapat menggunakan bilangan bulat atau desimal. |
satuan |
Satuan posisi: derajat atau putaran. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
atur posisi [ArmMotor v] ke [0] [derajat v]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
tunggu [1] detik
putar [ArmMotor v] ke posisi [0] [derajat v] ▶
mengatur kecepatan motorik#
Blok tumpukan set motor velocity memberi tahu motor seberapa cepat harus berputar. Persentase yang lebih tinggi membuat motor berputar lebih cepat dan persentase yang lebih rendah membuat motor berputar lebih lambat.
Setiap proyek dimulai dengan setiap motor berputar pada kecepatan 50% secara default.
Catatan: Kecepatan yang lebih tinggi membuat motor berputar lebih cepat, tetapi mungkin kurang presisi. Kecepatan yang lebih rendah membuat motor berputar lebih lambat, tetapi bisa lebih presisi.
atur kecepatan [ArmMotor v] ke [50] %
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diatur kecepatannya. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
kecepatan |
Kecepatan putaran berkisar dari 0% hingga 100%. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
tunggu [1] detik
[Move slow.]
atur kecepatan [ArmMotor v] ke [20] %
putar [ArmMotor v] [turun v] sejauh [180] [derajat v] ▶
tunggu [1] detik
[Move fast.]
atur kecepatan [ArmMotor v] ke [100] %
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
set motor berhenti#
Blok tumpukan set motor stopping mengatur bagaimana motor akan berhenti bergerak: dengan mengerem, meluncur, atau menahan.
atur penghentian [ArmMotor v] ke [rem v]
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diatur perilaku penghentiannya. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
menghentikan perilaku |
Cara motor akan berhenti:
|
Sebagai contoh, jika digunakan build Competition Advanced 2.0 dan ArmMotor diatur ke mode tahan (hold), motor akan menahan lengan pada posisi saat ini hingga terjadi gerakan lengan berikutnya. Ini berarti motor akan bekerja melawan gravitasi untuk menjaga lengan tetap di udara jika motor berhenti saat lengan terangkat.
Jika blok ini tidak digunakan, motor akan menggunakan rem saat berhenti.
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
atur kecepatan [ArmMotor v] ke [20] %
atur penghentian [ArmMotor v] ke [coast v]
putar [ArmMotor v] [naik v]
tunggu [1] detik
hentikan [ArmMotor v]
atur torsi maksimum motor#
Torsi adalah gaya putar. Ini menunjukkan seberapa kuat motor dapat mendorong atau menarik saat berputar.
Blok tumpukan set motor max torque mengatur torsi maksimum yang diizinkan untuk digunakan oleh motor.
Persentase yang lebih tinggi memungkinkan motor mendorong lebih keras, seperti saat mengangkat benda berat. Persentase yang lebih rendah membatasi seberapa keras motor dapat mendorong. Ini dapat membantu melindungi robot jika motor macet atau mencapai batas pergerakannya.
Setiap proyek dimulai dengan torsi masing-masing motor pada 50% secara default.
atur torsi maksimum [ArmMotor v] ke (50) %
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diatur torsi maksimumnya. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
torsi |
Torsi maksimum yang dapat digunakan motor berkisar dari 0% hingga 100%. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
tunggu [1] detik
[Move with less torque.]
atur torsi maksimum [ArmMotor v] ke [20] %
putar [ArmMotor v] [turun v] sejauh [180] [derajat v] ▶
tunggu [1] detik
[Move with maximum torque.]
atur torsi maksimum [ArmMotor v] ke [100] %
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
atur waktu habis motor#
Blok tumpukan set motor timeout mengatur berapa detik motor akan mencoba menyelesaikan suatu gerakan. Jika motor tidak dapat menyelesaikannya dalam waktu tersebut, motor akan berhenti mencoba dan beralih ke blok berikutnya dalam tumpukan. Ini mencegah motor macet pada suatu gerakan.
atur batas waktu [ArmMotor v] ke (1) detik
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan diatur waktu habisnya. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
waktu |
Jumlah detik yang dapat dicoba oleh motor untuk menyelesaikan suatu gerakan. Ini bisa berupa bilangan bulat atau desimal. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
atur posisi [ArmMotor v] ke [0] [derajat v]
atur batas waktu [ArmMotor v] ke [1] detik
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ▶
putar [ArmMotor v] ke posisi [0] [derajat v] ▶
Nilai-nilai#
Apakah mesinnya sudah rusak?#
Blok Boolean motor is done melaporkan apakah motor telah selesai bergerak. Ini dapat digunakan untuk mengontrol pengaturan waktu perilaku lain berdasarkan pergerakan motor.
Benar — Motor sudah berhenti bergerak.
Salah — Motor masih berputar.
Blok ini bekerja bersama dengan blok Gerak berikut yang memiliki parameter dan jangan menunggu: putar motor selama dan putar motor ke posisi.
<[ArmMotor v] selesai?>
Parameter |
Keterangan |
|---|---|
motor |
Motor akan melaporkan apakah proses pergerakannya telah selesai. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ◀ dan jangan tunggu
tunggu [0.1] detik
selamanya
jika <[ArmMotor v] selesai?> maka
atur cahaya mata [mati v]
lainnya
atur cahaya mata [nyala v]
Apakah motornya berputar?#
Blok Boolean motor berputar? melaporkan apakah motor berputar. Ini dapat digunakan untuk mengontrol pengaturan waktu perilaku lain berdasarkan pergerakan motor.
Benar — Motornya berputar.
Salah — Motor tidak berputar.
Blok ini bekerja bersama dengan blok Gerak berikut yang memiliki parameter dan jangan menunggu: putar motor selama dan putar motor ke posisi.
<[ArmMotor v] sedang berputar?>
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan melaporkan apakah sedang berputar. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
putar [ArmMotor v] [naik v] sejauh [180] [derajat v] ◀ dan jangan tunggu
tunggu [0.1] detik
selamanya
jika <[ArmMotor v] sedang berputar?> maka
atur cahaya mata [nyala v]
lainnya
atur cahaya mata [mati v]
posisi motor#
Posisi motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam derajat atau putaran. Blok pelapor posisi motor melaporkan posisi motor saat ini.
Pada awal proyek, posisi motor diatur ke 0 derajat. Jika motor berputar satu putaran penuh ke depan, posisinya akan menjadi 360 derajat atau 1 putaran. Jika motor berputar ke arah lain, posisinya akan negatif.
(posisi [ArmMotor v] dalam [derajat v] :: custom-motion)
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan dilaporkan posisinya. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
satuan |
Satuan untuk melaporkan posisi motor adalah: derajat atau putaran. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
atur posisi [ArmMotor v] ke [0] [derajat v]
cetak [Start: ] ▶
cetak (posisi [ArmMotor v] dalam [derajat v] :: custom-motion) ▶
atur kursor ke baris berikutnya
putar [ArmMotor v] [naik v]
tunggu [1] detik
hentikan [ArmMotor v]
cetak [After: ] ▶
cetak (posisi [ArmMotor v] dalam [derajat v] :: custom-motion) ▶
kecepatan motorik#
Blok pelapor kecepatan motor melaporkan seberapa cepat motor berputar, sebagai persentase dari -100% hingga 100%.
Nilai positif berarti motor berputar maju. Nilai negatif berarti motor berputar mundur.
(kecepatan [ArmMotor v] dalam %)
Parameter |
Keterangan |
|---|---|
motor |
Motor yang kecepatan putarannya akan dilaporkan. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
cetak [Resting: ] ▶
cetak (kecepatan [ArmMotor v] dalam %) ▶
atur kursor ke baris berikutnya
putar [ArmMotor v] [naik v]
tunggu [1] detik
cetak [Moving: ] ▶
cetak (kecepatan [ArmMotor v] dalam %) ▶
hentikan [ArmMotor v]
arus motor#
Blok pelapor arus motor melaporkan berapa banyak daya yang digunakan motor dari baterai, dalam bentuk persentase dari 0% hingga 100%.
Nilai arus yang lebih tinggi berarti motor menggunakan lebih banyak daya. Hal ini dapat terjadi ketika motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.
(arus [ArmMotor v] dalam %)
Parameter |
Keterangan |
|---|---|
motor |
Motor yang akan dilaporkan arusnya. Pilih dari motor yang telah dikonfigurasi di jendela Perangkat. |
Contoh
saat dimulai :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
cetak [Resting: ] ▶
cetak (arus [ArmMotor v] dalam %) ▶
atur kursor ke baris berikutnya
putar [ArmMotor v] [naik v]
tunggu [1] detik
cetak [Moving: ] ▶
cetak (arus [ArmMotor v] dalam %) ▶
hentikan [ArmMotor v]