Halo teman-teman, ketemu lagi kita di artikel duwiarsana nih!
Kali ini, kita akan bikin proyek yang keren banget yaitu tong sampah otomatis yang bisa berbicara menggunakan modul MP3 DFPlayer Mini. Proyek ini cocok banget buat kalian yang ingin menambahkan sentuhan teknologi pada tempat sampah di rumah atau di sekolah. Yuk, langsung kita bahas cara membuatnya!
Komponen yang Dibutuhkan
- Arduino Uno
- Sensor Ultrasonic HC-SR04
- Servo Motor
- DFPlayer Mini
- Speaker kecil
- Kabel jumper
- Breadboard (opsional)
- Sumber daya eksternal (jika diperlukan)
Skema Rangkaian
1. Sensor Ultrasonic HC-SR04
- VCC -> Arduino 5V
- Trigger -> Arduino pin 8
- Echo -> Arduino pin 9
- GND -> Arduino GND
2. DFPlayer Mini
- VCC -> Arduino 5V
- GND -> Arduino GND
- RX -> Arduino pin 5 (TX dari SoftwareSerial)
- TX -> Arduino pin 6 (RX dari SoftwareSerial)
3. Servo
- Signal -> Arduino pin 7
- VCC -> Arduino 5V atau sumber daya eksternal
- GND -> Arduino GND
Koding Arduino
Berikut adalah koding lengkap untuk proyek ini:
#include <HCSR04.h>
#include <Servo.h>
#include <DFPlayerMini_Fast.h>
#include <SoftwareSerial.h>
// Inisialisasi komunikasi serial untuk DFPlayer Mini
SoftwareSerial mySerial(5, 6); // RX, TX
// Inisialisasi sensor ultrasonic
UltraSonicDistanceSensor distanceSensor(8, 9); // Sensor menggunakan pin digital 8 dan 9
// Inisialisasi variabel untuk menyimpan jarak
int jarak = 0;
// Inisialisasi servo
Servo myservo;
// Inisialisasi DFPlayer Mini
DFPlayerMini_Fast myMP3;
void setup() {
// Menyambungkan servo ke pin 7 dan mengatur posisi awal ke 0 derajat
myservo.attach(7);
myservo.write(0);
// Memulai komunikasi serial
Serial.begin(9600);
mySerial.begin(9600);
// Memulai DFPlayer Mini
myMP3.begin(mySerial, true);
// Mengatur volume DFPlayer Mini ke maksimum (25)
Serial.println("Setting volume to max");
myMP3.volume(25);
}
void loop() {
// Membaca jarak dari sensor ultrasonic
jarak = distanceSensor.measureDistanceCm();
// Jika jarak lebih dari 0 dan kurang dari 50 cm
if (jarak > 0 && jarak < 50) {
// Memutar servo ke 150 derajat untuk membuka tutup tong sampah
myservo.write(150);
delay(500);
// Selama jarak masih dalam rentang 0-50 cm, terus membaca jarak
while (jarak > 0 && jarak < 50) {
jarak = distanceSensor.measureDistanceCm();
delay(100);
}
// Menunggu 2 detik sebelum memutar audio
delay(2000);
// Memutar audio file ke-1
myMP3.play(1);
delay(3000);
// Mengembalikan servo ke posisi 0 derajat untuk menutup tutup tong sampah
myservo.write(0);
}
// Delay 500 ms sebelum membaca jarak lagi
delay(500);
}
Penjelasan Kode
- Inisialisasi dan Deklarasi:
- Mengimpor library yang dibutuhkan:
HCSR04.h
,Servo.h
,DFPlayerMini_Fast.h
,SoftwareSerial.h
. - Membuat objek
mySerial
untuk komunikasi serial dengan DFPlayer Mini. - Mengatur pin untuk sensor ultrasonic menggunakan
UltraSonicDistanceSensor distanceSensor(8, 9);
. - Membuat variabel
jarak
untuk menyimpan jarak yang diukur. - Membuat objek
myservo
untuk servo motor. - Membuat objek
myMP3
untuk DFPlayer Mini.
- Mengimpor library yang dibutuhkan:
- Setup:
- Menyambungkan servo ke pin 7 dan mengatur posisi awal ke 0 derajat.
- Memulai komunikasi serial dengan baud rate 9600.
- Memulai DFPlayer Mini.
- Mengatur volume DFPlayer Mini ke maksimum.
- Loop:
- Membaca jarak dari sensor ultrasonic.
- Mengecek apakah jarak dalam rentang 0-50 cm.
- Memutar servo ke 150 derajat untuk membuka tutup tong sampah.
- Selama jarak masih dalam rentang, terus membaca jarak.
- Menunggu 2 detik sebelum memutar audio.
- Memutar audio file pertama.
- Menutup kembali tutup tong sampah dengan memutar servo ke posisi 0 derajat.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, kalian bisa membuat tong sampah otomatis yang bisa berbicara. Proyek ini tidak hanya menambah fungsionalitas pada tong sampah, tetapi juga membuatnya lebih interaktif dan menyenangkan.
Selamat mencoba dan semoga bermanfaat! Kalau ada pertanyaan atau butuh bantuan, jangan ragu untuk menghubungi saya di duwiarsana.com. Sampai jumpa di proyek selanjutnya!
Oke bro. Siap di pelajari..