Inersia#
Perkenalan#
Otak memiliki sensor inersia bawaan. Sensor ini dapat mengukur bagaimana otak bergerak atau berputar.
Sensor Inersia menggunakan dua bagian untuk melakukan hal ini. Giroskop mengukur putaran, seperti ke arah mana Otak menghadap dan seberapa jauh ia telah berputar. Akselerometer mengukur perubahan gerakan, seperti mempercepat, memperlambat, atau berhenti tiba-tiba saat terjadi tabrakan.
Blok Inersia dapat digunakan untuk melacak belokan, mengatur ulang nilai arah atau rotasi, mendeteksi tabrakan, dan melaporkan percepatan.
Ada banyak cara untuk memprogram Sensor Inersia. Berikut adalah daftar semua blok Inersia:
Pengaturan — Kalibrasi atau atur nilai sensor.
kalibrasi giroskop — Mengkalibrasi Sensor Inersia bawaan Otak.
atur arah — Mengatur arah saat ini Otak ke nilai arah baru.
atur rotasi — Mengatur rotasi Otak saat ini ke nilai rotasi baru.
Nilai — Periksa informasi sensor.
heading — Melaporkan arah otak saat ini dari 0 hingga 359 derajat.
rotasi — Melaporkan rotasi Otak saat ini.
kecelakaan terdeteksi — Melaporkan apakah Brain telah mendeteksi benturan mendadak.
percepatan — Melaporkan seberapa cepat Otak mempercepat atau memperlambat pada sumbu yang dipilih.
kalibrasi giroskop#
Blok tumpukan kalibrasi giroskop mengkalibrasi bagian giroskop dari Sensor Inersia bawaan Brain.
Kalibrasi membantu Sensor Inersia mengukur putaran dengan benar. Jaga agar Brain tetap diam selama sekitar 2 detik selama kalibrasi. Jika Brain bergerak selama kalibrasi, nilai arah dan rotasi mungkin tidak mengukur putaran dengan benar.
Proyek akan menunggu hingga kalibrasi selesai sebelum blok berikutnya dalam tumpukan dijalankan.
kalibrasi gyro
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
atur judul#
Heading adalah arah yang dihadapi Otak, diukur dalam derajat dari 0 hingga 359. Blok tumpukan set heading mengubah heading Otak saat ini ke nilai heading baru.
Sebagai contoh, jika Otak telah berputar menghadap ke kanan, mengatur arah ke 0 derajat akan menjadikan posisi menghadap ke kanan tersebut sebagai 0 derajat yang baru. Kemudian Otak dapat melacak arah lain berdasarkan arah baru tersebut.
atur arah ke [0] derajat
Parameter |
Keterangan |
|---|---|
menuju |
Nilai arah, dalam derajat, yang akan ditetapkan untuk Otak. Ini bisa berupa bilangan bulat dari 0 hingga 359. |
rotasi set#
Rotasi adalah seberapa banyak Otak telah berputar, diukur dalam derajat. Tidak seperti arah, rotasi dapat meningkat melebihi 359 derajat atau menurun di bawah 0 derajat. Pada awal proyek, nilai rotasi diatur ke 0 derajat. Blok tumpukan atur rotasi mengubah rotasi Otak saat ini ke nilai baru.
Sebagai contoh, jika Otak telah berputar dua kali penuh ke kanan, nilai rotasinya akan menjadi 720 derajat. Mengatur rotasi ke 0 derajat akan mengatur ulang rotasi tersebut dari 720 menjadi 0 derajat. Kemudian Otak dapat melacak rotasi berdasarkan nilai baru tersebut.
atur rotasi ke [0] derajat
Parameter |
Keterangan |
|---|---|
rotasi |
Nilai rotasi, dalam derajat, yang akan diatur untuk Otak. Ini bisa berupa bilangan bulat. |
menuju#
Heading adalah arah yang dihadapi Otak, diukur dalam derajat. Blok pelapor heading melaporkan heading tersebut dari 0 hingga 359 derajat.
Arah awalnya adalah 0 derajat. Jika Otak berputar melewati 359 derajat, arah akan kembali ke 0 derajat.
(arah dalam derajat)
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
rotasi#
Rotasi adalah seberapa banyak Otak telah berputar, diukur dalam derajat. Pada awal proyek, nilai rotasi diatur ke 0 derajat. Blok pelapor rotasi melaporkan rotasi Otak saat ini.
Memutar ke kanan akan meningkatkan rotasi, dan memutar ke kiri akan mengurangi rotasi. Misalnya, melakukan dua putaran penuh ke kanan akan menghasilkan rotasi sebesar 720 derajat. Memutar satu putaran penuh ke kiri dari 0 derajat akan menghasilkan rotasi sebesar -360 derajat.
(rotasi dalam derajat)
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Terdeteksi kerusakan#
Blok Boolean detected crash melaporkan apakah Brain telah mendeteksi benturan mendadak, seperti robot menabrak suatu objek atau terbentur cukup keras sehingga mengubah gerakannya dengan cepat.
Benar — Sebuah kerusakan telah terdeteksi.
Salah — Tidak ada kerusakan yang terdeteksi.
<tabrakan terdeteksi?>
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai :: hat events
[Build Used: Super Code Base 2.0]
[Back up and turn after crashing.]
atur kecepatan kendarai ke (100) %
kendarai [maju v]
tunggu sampai <tabrakan terdeteksi?>
kendarai [mundur v] sejauh [100] [mm v] ▶
belok [kanan v] sejauh [90] derajat ▶
percepatan#
Akselerasi adalah seberapa cepat otak berakselerasi atau melambat. Blok pelapor akselerasi melaporkan akselerasi otak pada sumbu yang dipilih, dari -4,0 G hingga 4,0 G.
G adalah satuan yang digunakan untuk mengukur percepatan. 1 G kira-kira sama dengan percepatan yang Anda rasakan akibat gravitasi saat duduk diam.
Nilainya bisa positif atau negatif tergantung pada arah percepatan pada sumbu yang dipilih. Sumbu yang dipilih menunjukkan arah gerakan yang dilaporkan oleh blok tersebut.
(percepatan sumbu [x v] dalam g)
Parameter |
Keterangan |
|---|---|
sumbu |
Sumbu untuk mengukur percepatan:
|
Contoh
saat dimulai :: hat events
[Build Used: Super Code Base 2.0]
[Display the acceleration after moving.]
atur presisi cetak ke [Semua Digit v]
atur kecepatan kendarai ke (100) %
cetak [Resting: ] ▶
cetak (percepatan sumbu [x v] dalam g) ▶
atur kursor ke baris berikutnya
tunggu [1] detik
kendarai [maju v] sejauh [500] [mm v] ◀ dan jangan tunggu
tunggu [0.2] detik
cetak [Startup: ] ▶
cetak (percepatan sumbu [x v] dalam g) ▶