2.6 KiB
---LESSON_INFO--- Matematika Robotika: Trigonometri Dasar.
Learning Objectives:
- Mengenal konsep sudut (derajat) dalam robotika.
- Memahami fungsi Sinus, Cosinus, dan Tangen pada segitiga siku-siku.
- Menghitung jarak horizontal/vertikal berdasarkan sudut sensor.
Prerequisites:
- Geometri Roda dan Jarak ---END_LESSON_INFO---
Matematika: Trigonometri Dasar
Dalam robotika, posisi tidak selalu berupa garis lurus. Terkadang robot harus mendeteksi objek di sudut tertentu atau menggerakkan lengan (servo) pada sudut yang presisi. Di sinilah Trigonometri digunakan.
1. Segitiga Siku-Siku
Bayangkan sebuah sensor ultrasonik dipasang miring pada robot. Jarak yang diukur sensor adalah garis miring (Sisi Miring), namun kita ingin tahu jarak robot ke dinding secara mendatar (Sisi Samping).
Rumus Utama (Soh-Cah-Toa):
- Sinus (Sin):
\frac{\text{Depan}}{\text{Miring}} - Cosinus (Cos):
\frac{\text{Samping}}{\text{Miring}} - Tangen (Tan):
\frac{\text{Depan}}{\text{Samping}}
2. Derajat ke Radian
Komputer (dan Arduino) menghitung fungsi trigonometri menggunakan satuan Radian, bukan Derajat.
Rumus Konversi:
\text{Radian} = \text{Derajat} \times \left(\frac{\pi}{180}\right)
Di Arduino: float rad = derajat * (PI / 180.0);
3. Contoh Kasus
Jika sensor mendeteksi benda pada jarak miring 100 cm dengan sudut 30 derajat terhadap lantai, berapa jarak mendatarnya?
\text{Jarak Mendatar} = \text{Jarak Miring} \times \cos(30^\circ)
---EXERCISE---
Tantangan: Kalkulator Jarak Horizontal
Sebuah sensor jarak dipasang pada robot dengan sudut kemiringan 60 derajat terhadap garis vertikal. Sensor membaca jarak miring sebesar 200 cm.
Tugas:
- Konversikan sudut 60 derajat menjadi Radian.
- Hitung jarak horizontal (Sisi Depan sudut) menggunakan fungsi
sin(). Rumus: $Horizontal = JarakMiring \times \sin(Radian)$ - Tampilkan hasilnya ke Serial Monitor.
---INITIAL_CODE_ARDUINO--- // Latihan Trigonometri Robotika void setup() { Serial.begin(9600);
float jarakMiring = 200.0; float sudutDerajat = 60.0;
// --- TULIS KODE KAMU DI BAWAH INI ---
// 1. Konversi derajat ke radian float sudutRadian = 0;
// 2. Hitung jarak horizontal menggunakan sin(sudutRadian) float jarakHorizontal = 0;
// 3. Tampilkan ke Serial Monitor Serial.print("Jarak Horizontal: "); Serial.print(jarakHorizontal); Serial.println(" cm");
// ------------------------------------ }
void loop() { // Tidak ada kode di loop } ---END_INITIAL_CODE_ARDUINO---
---KEY_TEXT--- sin PI Serial.println ---END_KEY_TEXT---