Alat Kita Sudah Bisa “Merasakan”
Sensor ultrasonik HC-SR04 mengukur jarak dengan memancarkan suara lewat pin trig dan mendengarkan pantulannya lewat pin echo. Hasilnya dicetak ke Serial Monitor supaya kita bisa memantau nilainya secara langsung.
Masalahnya: alat ini baru bisa melapor, belum bisa bertindak. Sekarang saatnya menambahkan aktuator.
void loop() { // Tembakkan suara & baca pantulan digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); durasi = pulseIn(echoPin, HIGH); jarak = durasi * 0.034 / 2; // Cuma melapor, belum bertindak Serial.print("Jarak: "); Serial.println(jarak); delay(500); }
Kenalan dengan Motor Servo
Kalau sensor adalah “panca indra” alat kita, servo adalah “ototnya”. Servo motor bisa diperintah berputar ke sudut tertentu (biasanya 0°–180°) dan akan bertahan di sudut itu — cocok untuk membuka/menutup sesuatu, seperti tutup tong sampah.
Kabel VCC (Merah)
Disambung ke 5V — sumber daya servo.
Kabel GND (Cokelat)
Disambung ke GND — kabel ground/negatif.
Kabel Signal (Oranye)
Disambung ke pin digital — membawa perintah sudut.
Tiga Baris Penting untuk Servo
Arahkan kursor ke tiap kartu untuk melihat baris mana yang berperan di kode.
Include library: <Servo.h> sudah bawaan Arduino IDE, tidak perlu install manual.
attach(): di setup(), beritahu servo terpasang di pin berapa.
write(): di loop(), perintahkan servo berputar ke sudut (0–180).
#include <Servo.h> Servo tutupServo; void setup() { tutupServo.attach(9); // pin signal } void loop() { tutupServo.write(90); // buka delay(1000); tutupServo.write(0); // tutup delay(1000); }
Gabungkan Sensor + Aktuator
Kita tidak menulis ulang dari nol. Kode minggu lalu di-upgrade: tambah Servo.h, lalu tambahkan logika — kalau jarak kurang dari 15 cm, servo membuka tutup.
durasi = pulseIn(echoPin, HIGH); jarak = durasi * 0.034 / 2; Serial.print("Jarak: "); Serial.println(jarak); // (belum ada aksi apapun) delay(500);
durasi = pulseIn(echoPin, HIGH); jarak = durasi * 0.034 / 2; Serial.print("Jarak: "); Serial.println(jarak); if (jarak < 15) { tutupServo.write(90); // buka } else { tutupServo.write(0); // tutup } delay(500);
Simulator Tong Sampah Otomatis
Coba kirim “event” seperti sensor asli mengirim data ke mikrokontroler, lalu lihat bagaimana state alat berubah.
State Aktif
SIAGA
Tutup tertutup, servo di 0°. Menunggu objek.
Kirim Event dari Sensor
Log Transisi
Belum ada transisi...
Sensor & Aktuator Kita
Putar dan perbesar model 3D untuk melihat detail komponen yang kita gabungkan minggu ini.
Memuat Model 3D...
Tong Sampah
Otomatis
Sensor mendeteksi tangan mendekat, servo membuka tutup — tanpa disentuh. Rangkaian dan kode kita sudah bisa melakukannya di atas meja.
Selanjutnya
Desain Rumah Alat (3D Print)
Dirancang di Fusion 360 • Menyusul