---LESSON_INFO--- Fisika Robotika: Kecepatan, Jarak, dan Waktu. **Learning Objectives:** - Memahami konsep Gerak Lurus Beraturan (GLB). - Menghitung waktu yang dibutuhkan robot untuk mencapai target. - Mengatur durasi `delay()` berdasarkan perhitungan fisika. **Prerequisites:** - Geometri Roda dan Jarak ---END_LESSON_INFO--- # Fisika: Gerak dan Kecepatan Robot Untuk membuat robot berhenti tepat di depan rintangan, kita harus tahu seberapa cepat robot bergerak. ## 1. Rumus Kecepatan (GLB) Dalam fisika dasar, kecepatan robot dianggap konstan (Gerak Lurus Beraturan): $$v = \frac{s}{t}$$ - **$v$ (Velocity):** Kecepatan (cm/detik atau m/detik). - **$s$ (Space):** Jarak tempuh (cm atau meter). - **$t$ (Time):** Waktu tempuh (detik). ## 2. Aplikasi pada Arduino Jika kita ingin robot menempuh jarak **$s$**, kita harus menghitung berapa lama (**$t$**) motor harus dihidupkan sebelum diperintah berhenti. $$t = \frac{s}{v}$$ **Contoh:** Robot kamu memiliki kecepatan tetap **20 cm/detik**. Kamu ingin robot maju sejauh **100 cm**. $$t = 100 / 20 = 5 \text{ detik}$$ Maka dalam kode Arduino: ```cpp digitalWrite(motorPin, HIGH); // Jalan delay(5000); // Tunggu 5 detik (5000 ms) digitalWrite(motorPin, LOW); // Berhenti ``` ---EXERCISE--- ### Tantangan: Menghitung Waktu Tempuh Robot memiliki kecepatan **15 cm/detik**. Robot harus menempuh jarak **45 cm**. **Tugas:** 1. Hitung waktu tempuh dalam satuan detik. 2. Konversikan waktu tersebut ke milidetik (dikali 1000). 3. Tampilkan hasilnya ke Serial Monitor dengan format: `Waktu Delay: [hasil] ms`. --- ---INITIAL_CODE_ARDUINO--- // Latihan Gerak Fisika void setup() { Serial.begin(9600); float kecepatan = 15.0; // cm/detik float jarak = 45.0; // cm // --- TULIS KODE KAMU DI BAWAH INI --- float waktuDetik = 0; long waktuMs = 0; Serial.print("Waktu Delay: "); Serial.print(waktuMs); Serial.println(" ms"); // ------------------------------------ } void loop() { } ---END_INITIAL_CODE_ARDUINO--- ---KEY_TEXT--- float long Serial.println ---END_KEY_TEXT---