🎯 Tujuan Pembelajaran
Setelah menyelesaikan kegiatan ini, siswa mampu:
- Menghubungkan dan mengintegrasikan dua komponen (servo & ultrasonic) dengan Arduino Uno.
- Membuat sistem pemindaian (scanner) jarak secara otomatis.
- Menampilkan hasil pemindaian di Serial Monitor.
- Mengembangkan ide robotik berbasis sensor jarak dan gerak otomatis.
🧠 Konsep Dasar
🔹 Prinsip Dasar
Proyek ini menggabungkan dua konsep:
- Servo SG90 → berfungsi menggerakkan sensor ultrasonic ke berbagai arah.
- Ultrasonic HC-SR04 → mengukur jarak objek di depan sensor.
Ketika servo bergerak dari 0° ke 180°, sensor ultrasonic membaca jarak pada setiap sudut, seolah-olah “menyapu area” seperti radar.
Hasilnya bisa divisualisasikan di Serial Monitor atau bahkan dibuat tampil di layar (misalnya Processing atau aplikasi grafik lainnya).
🔹 Gambaran Kerja
⚙️ Komponen yang Dibutuhkan
| No | Komponen | Jumlah | Keterangan |
|---|---|---|---|
| 1 | Arduino UNO | 1 | Mikrokontroler utama |
| 2 | Sensor Ultrasonic HC-SR04 | 1 | Pengukur jarak |
| 3 | Servo SG90 | 1 | Penggerak sensor |
| 4 | Kabel jumper | 6–8 | Male-to-Female disarankan |
🔌 Rangkaian Komponen
| Komponen | Pin | Arduino Pin | Keterangan |
|---|---|---|---|
| Servo | Signal (Oranye) | D9 | Kendali servo |
| Servo | VCC (Merah) | 5V | Daya |
| Servo | GND (Coklat) | GND | Ground |
| HC-SR04 | TRIG | 10 | Pemicu |
| HC-SR04 | ECHO | 11 | Pantulan |
| HC-SR04 | VCC | 5V | Daya |
| HC-SR04 | GND | GND | Ground |
📘 Skema Sederhana (Teks)
💻 Kode Program Arduino
#include <Servo.h> // Library untuk kontrol servo
#define TRIG 10#define ECHO 11
Servo myServo;long duration;int distance;
void setup() { Serial.begin(9600); myServo.attach(9); // Servo di pin 9 pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT);}
void loop() { // Servo bergerak dari 0 ke 180 derajat for (int pos = 0; pos <= 180; pos++) { myServo.write(pos); delay(20); distance = getDistance(); Serial.print("Sudut: "); Serial.print(pos); Serial.print("°, Jarak: "); Serial.print(distance); Serial.println(" cm"); }
// Kembali dari 180 ke 0 derajat for (int pos = 180; pos >= 0; pos--) { myServo.write(pos); delay(20); distance = getDistance(); Serial.print("Sudut: "); Serial.print(pos); Serial.print("°, Jarak: "); Serial.print(distance); Serial.println(" cm"); }}
// Fungsi untuk membaca jarak dari sensor ultrasonicint getDistance() { digitalWrite(TRIG, LOW); delayMicroseconds(2); digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); duration = pulseIn(ECHO, HIGH); int dist = duration * 0.0343 / 2; return dist;}🧩 Penjelasan Singkat:
- Servo bergerak perlahan dari 0° ke 180° dan kembali.
- Setiap posisi servo → Arduino mengukur jarak menggunakan sensor ultrasonic.
- Data dikirim ke Serial Monitor dalam format “Sudut – Jarak”.
🧪 Langkah Kerja
- Rangkai komponen sesuai tabel koneksi di atas.
- Buka Arduino IDE dan salin kode program.
- Upload ke papan Arduino.
- Buka Serial Monitor (Ctrl + Shift + M).
- Amati data hasil pemindaian (sudut dan jarak).
🧠 Analisis dan Diskusi
- Apa fungsi servo dalam sistem radar ini?
- Mengapa perlu ada jeda
delay(20)dalam loop servo? - Bagaimana hasil pembacaan jarak berubah saat ada benda di depan sensor?
🚀 Soal Tantangan Kreatif
💡 Tantangan 1 – “Radar Visual”
Gunakan Serial Plotter untuk menampilkan grafik hasil pemindaian jarak terhadap sudut (tampilan seperti radar sungguhan).
💡 Tantangan 2 – “Smart Avoider System”
Gunakan data jarak ini untuk membuat robot yang menghindari halangan otomatis.
💡 Tantangan 3 – “Servo Speed Control”
Ubah kecepatan putaran servo agar sistem radar bisa memindai cepat atau lambat sesuai jarak objek.
💡 Tantangan 4 – “Double Sensor Radar”
Jika tersedia dua sensor ultrasonic, buat radar ganda kiri–kanan agar bisa memantau area lebih luas.
🏁 Refleksi Siswa
- Apa manfaat sensor dan servo jika digabungkan dalam satu sistem robotik?
- Menurutmu, di dunia nyata alat seperti ini digunakan untuk apa saja?


0 Komentar