2.0 KiB
---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:
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:
- Hitung waktu tempuh dalam satuan detik.
- Konversikan waktu tersebut ke milidetik (dikali 1000).
- 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---