Disusun Oleh:
| Mochamad Haikal | (24051204177) |
| Syamil Bani Hafidz | (24051204197) |
| Muhammad Najwan | (24051204202) |
| Muhammad Risky Wira | (24051204186) |
| Calvin Satriansyah | (24051204184) |
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi Internet of Things (IoT) memberikan kemudahan dalam membangun sistem yang mampu melakukan pemantauan dan pengolahan data secara otomatis. Salah satu penerapannya adalah sistem monitoring tempat sampah yang dapat mengetahui kondisi kapasitas tempat sampah berdasarkan jarak permukaan sampah dengan sensor. Teknologi mikrokontroler seperti ESP32 dapat digunakan sebagai pusat kendali karena memiliki kemampuan pemrosesan, konektivitas Wi-Fi, serta dapat dihubungkan dengan berbagai sensor dan perangkat penyimpanan data.
Pada proyek ini dibuat sebuah sistem Smart Trash Monitor yang digunakan untuk memantau tingkat kepenuhan tempat sampah. Sistem menggunakan sensor HC-SR04 untuk mengukur jarak antara sensor dan permukaan sampah. Data hasil pengukuran kemudian diproses oleh ESP32 untuk menentukan kondisi tempat sampah berdasarkan jarak yang terbaca.
Sistem menggunakan tiga buah LED sebagai indikator kondisi tempat sampah. LED hijau menunjukkan kondisi KOSONG ketika jarak lebih dari 20 cm, LED kuning menunjukkan kondisi TERISI SEDANG ketika jarak berada antara 10–20 cm, sedangkan LED merah menunjukkan kondisi PENUH ketika jarak 10 cm atau kurang.
Selain memberikan indikator melalui LED, sistem juga dilengkapi dengan kartu microSD untuk menyimpan data hasil monitoring. Data yang disimpan meliputi waktu pembacaan, jarak, status tempat sampah, dan persentase level. Data tersebut dapat digunakan sebagai riwayat monitoring.
Untuk meningkatkan fungsi sistem sebagai perangkat IoT, ESP32 juga digunakan sebagai web server lokal. Data kondisi tempat sampah dapat ditampilkan melalui browser menggunakan halaman web lokal. Sistem menyediakan API /api/data untuk memberikan data kondisi terbaru dan /api/history untuk memberikan data riwayat yang tersimpan pada microSD.
Perancangan dan pengujian sistem dilakukan menggunakan Wokwi sehingga rangkaian dapat disimulasikan tanpa harus menggunakan perangkat keras secara langsung. Penggunaan Wokwi memungkinkan proses perancangan rangkaian, pemrograman ESP32, pengujian sensor, penyimpanan data, serta pengamatan hasil melalui web browser dilakukan dalam satu lingkungan simulasi.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan, rumusan masalah dalam proyek ini adalah:
1.Bagaimana merancang sistem monitoring tempat sampah berbasis ESP32?
2.Bagaimana menggunakan sensor HC-SR04 untuk mengukur jarak permukaan sampah?
3.Bagaimana ESP32 memproses hasil pembacaan sensor HC-SR04?
4.Bagaimana mengendalikan LED berdasarkan kondisi tingkat kepenuhan tempat sampah?
5.Bagaimana menyimpan data monitoring ke dalam microSD card?
6.Bagaimana menampilkan data monitoring menggunakan web server lokal?
7.Bagaimana menyediakan data monitoring melalui API?
8.Bagaimana melakukan simulasi dan pengujian sistem menggunakan Wokwi?
1.3 Tujuan Laporan
Tujuan dari pembuatan laporan ini adalah:
1.Mengetahui proses perancangan sistem Smart Trash Monitor berbasis ESP32.
2.Memahami penggunaan sensor HC-SR04 sebagai perangkat input untuk mengukur jarak.
3.Mengetahui cara ESP32 membaca dan memproses data dari sensor HC-SR04.
4.Menerapkan LED sebagai indikator kondisi tempat sampah.
5.Memahami penggunaan microSD sebagai media penyimpanan data monitoring.
6.Mengetahui proses pembuatan web server lokal menggunakan ESP32.
7.Memahami penggunaan API untuk menyediakan data hasil monitoring.
8.Mengetahui proses simulasi dan pengujian sistem menggunakan Wokwi.
9.Menerapkan pemrograman ESP32 untuk mengintegrasikan sensor, indikator, penyimpanan data, dan web monitoring
1.4 Manfaat Penulisan
Manfaat yang diperoleh dari penulisan laporan proyek Monitoring Suhu dan Kelembapan berbasis Arduino UNO adalah sebagai berikut:
1.Bagi mahasiswa, menambah pengetahuan mengenai ESP32, sensor HC-SR04, LED, microSD, web server, dan API.
2.Bagi proses pembelajaran, membantu memahami penerapan konsep Internet of Things melalui proyek monitoring tempat sampah.
3.Bagi pengembangan keterampilan, melatih kemampuan dalam merancang rangkaian, membuat program, menghubungkan komponen, menyimpan data, dan membuat antarmuka web.
4.Bagi pengembangan sistem, proyek dapat menjadi dasar untuk membuat sistem tempat sampah pintar yang dapat dikembangkan menjadi sistem monitoring berbasis jaringan.
BAB II
TINJAUAN PUSTAKA
2.1 Dasar Teori
2.1.1 Mikrokontroler
Mikrokontroler merupakan perangkat elektronik yang dapat digunakan untuk mengendalikan suatu sistem berdasarkan program yang telah dibuat. Mikrokontroler dapat menerima data dari perangkat input, memproses data tersebut, kemudian menghasilkan keluaran melalui perangkat output.
Pada proyek ini digunakan ESP32 sebagai mikrokontroler utama. ESP32 bertugas membaca sensor HC-SR04, menentukan kondisi tempat sampah, mengendalikan LED, menyimpan data ke microSD, serta menyediakan web server untuk menampilkan informasi monitoring.
2.1.2 ESP32
ESP32 merupakan mikrokontroler yang memiliki berbagai GPIO dan mendukung konektivitas Wi-Fi. Kemampuan tersebut membuat ESP32 sesuai digunakan dalam proyek Internet of Things karena dapat menghubungkan sistem mikrokontroler dengan jaringan.
Pada proyek ini, ESP32 digunakan sebagai pusat kendali seluruh sistem. ESP32 membaca jarak dari HC-SR04, mengendalikan tiga LED, menyimpan data ke microSD, dan menjalankan web server lokal.
2.1.3 Sensor HC-SR04
HC-SR04 merupakan sensor ultrasonik yang digunakan untuk mengukur jarak suatu objek. Sensor bekerja dengan mengirimkan gelombang ultrasonik melalui pin Trigger kemudian menerima pantulan melalui pin Echo.
Pada proyek ini, HC-SR04 digunakan untuk mengetahui jarak antara sensor dan permukaan sampah. Pin Trigger dihubungkan ke GPIO 27 ESP32, sedangkan pin Echo dihubungkan ke GPIO 26.
2.1.4 LED
LED atau Light Emitting Diode merupakan komponen elektronik yang dapat menghasilkan cahaya ketika dialiri arus listrik. Pada proyek ini, LED digunakan sebagai indikator visual untuk menunjukkan kondisi tempat sampah.
Terdapat tiga LED yang digunakan, yaitu LED hijau, kuning, dan merah. LED hijau menunjukkan kondisi KOSONG, LED kuning menunjukkan TERISI SEDANG, sedangkan LED merah menunjukkan kondisi PENUH.
2.1.5 MicroSD Card
MicroSD card merupakan media penyimpanan yang dapat digunakan untuk menyimpan data secara digital. Pada sistem IoT, microSD dapat digunakan untuk menyimpan riwayat hasil pembacaan sensor.
Pada proyek ini, microSD digunakan untuk menyimpan data dalam file sensor.csv. Data yang disimpan terdiri dari waktu pembacaan, jarak, status, dan level tempat sampah.
2.1.6 Web Server
Web server merupakan sistem yang menyediakan halaman atau data yang dapat diakses melalui browser menggunakan jaringan. ESP32 dapat digunakan sebagai web server sederhana untuk menampilkan informasi dari sensor.
Pada proyek ini, ESP32 menjalankan web server pada port 80. Halaman monitoring dapat diakses melalui browser menggunakan alamat lokal Wokwi http://localhost:8180.
2.1.7 API
Application Programming Interface atau API merupakan antarmuka yang memungkinkan suatu aplikasi memperoleh data dari sistem lain dalam format tertentu. Dalam proyek ini, API digunakan agar data sensor dapat diakses oleh halaman web.
Sistem menyediakan endpoint /api/data untuk data terbaru dan /api/history untuk data riwayat yang tersimpan pada microSD. Data API menggunakan format JSON sehingga dapat diproses oleh JavaScript pada halaman web.
2.2 Komponen
| No. | Komponen | Jumlah | Fungsi |
|---|---|---|---|
| 1 | ESP32 | 1 | Mikrokontroler dan Web Server |
| 2 | HC-SR04 | 1 | Mengukur jarak permukaan sampah |
| 3 | LED Hijau | 1 | Indikator kondisi kosong |
| 4 | LED Kuning | 1 | Indikator kondisi terisi sedang |
| 5 | LED Merah | 1 | Indikator kondisi penuh |
| 6 | Resistor 220 Ω | 3 | Membatasi arus LED |
| 7 | MicroSD Card | 1 | Menyimpan data monitoring |
BAB III
PEMBAHASAN
3.1 Penjelasan simulasi
Simulasi Smart Trash Monitor dilakukan menggunakan Wokwi dengan ESP32 sebagai pusat kendali yang terhubung dengan sensor HC-SR04, tiga buah LED, dan kartu microSD. Sensor HC-SR04 digunakan untuk mengukur jarak permukaan sampah terhadap sensor. Hasil pengukuran tersebut kemudian diproses oleh ESP32 untuk menentukan kondisi tempat sampah.
Rangkaian menggunakan GPIO 27 sebagai pin Trigger dan GPIO 26 sebagai pin Echo pada sensor HC-SR04. LED hijau dihubungkan ke GPIO 25, LED kuning ke GPIO 21, dan LED merah ke GPIO 22. MicroSD menggunakan GPIO 5 sebagai CS, GPIO 23 sebagai MOSI/DI, GPIO 19 sebagai MISO/DO, dan GPIO 18 sebagai SCK.
Sistem menentukan kondisi tempat sampah berdasarkan jarak yang diperoleh dari sensor. Apabila jarak lebih dari 20 cm, sistem menentukan kondisi KOSONG dengan level 0% dan menyalakan LED hijau. Apabila jarak berada antara 10 cm dan 20 cm, sistem menentukan kondisi TERISI SEDANG dengan level 50% dan menyalakan LED kuning. Apabila jarak 10 cm atau kurang, sistem menentukan kondisi PENUH dengan level 100% dan menyalakan LED merah.
Data hasil pengukuran juga disimpan ke dalam file sensor.csv pada microSD. Format data terdiri dari Waktu, Jarak, Status, dan Level. Penyimpanan tersebut memungkinkan sistem memiliki riwayat hasil monitoring yang dapat dibaca kembali oleh program.
Selain penyimpanan lokal, ESP32 menjalankan web server yang menyediakan dashboard monitoring. Halaman web menampilkan jarak, status, level tempat sampah, progress bar, serta riwayat data. Data terbaru diperbarui melalui endpoint /api/data, sedangkan riwayat data diperoleh melalui endpoint /api/history.
3.2 Progam
Program sistem terdiri dari beberapa bagian utama, yaitu pembacaan sensor, penentuan kondisi tempat sampah, penyimpanan data ke microSD, API, halaman web server, dan proses utama ESP32.
3.2.1 Pembacaan Sensor
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH, 30000);
if (duration == 0) {
distance = 0;
} else {
distance = duration * 0.034 / 2;
}
if (distance > 20) {
status = "KOSONG";
level = 0;
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
}
else if (distance > 10) {
status = "TERISI SEDANG";
level = 50;
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
digitalWrite(LED_RED, LOW);
}
else {
status = "PENUH";
level = 100;
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, HIGH);
}
}
Bagian program tersebut digunakan untuk mengirimkan sinyal ultrasonik dari HC-SR04 dan menghitung waktu pantulan sinyal. Nilai waktu kemudian dikonversi menjadi jarak dalam satuan sentimeter.
Setelah jarak diperoleh, program membandingkan nilai tersebut dengan batas yang telah ditentukan. Hasil perbandingan digunakan untuk menentukan status, level, dan LED yang menyala.
3.2.2 Penyimpanan Data ke MicroSD
File file = SD.open("/sensor.csv", FILE_APPEND);
if (file) {
file.print(millis());
file.print(",");
file.print(distance);
file.print(",");
file.print(status);
file.print(",");
file.println(level);
file.close();
Serial.println("Data berhasil disimpan ke SD!");
}
}
Program membuka file sensor.csv menggunakan mode append sehingga data baru ditambahkan ke data yang sudah ada. Data yang disimpan terdiri dari waktu menggunakan millis(), jarak, status, dan level.
3.2.3 API Data
String json = "{";
json += "\"distance\":" + String(distance, 2) + ",";
json += "\"status\":\"" + status + "\",";
json += "\"level\":" + String(level);
json += "}";
server.send(200, "application/json", json);
}
Fungsi tersebut membuat data sensor dalam format JSON. Endpoint API ini digunakan oleh halaman web untuk mengambil data kondisi tempat sampah terbaru.
Contoh data yang dihasilkan:
"distance": 25.34,
"status": "KOSONG",
"level": 0
}
3.2.4 API History
Endpoint /api/history digunakan untuk membaca data dari file sensor.csv. Program membaca isi file, memisahkan data berdasarkan tanda koma, kemudian mengubahnya menjadi format JSON agar dapat ditampilkan pada tabel riwayat di halaman web.
3.2.5 Web Server
Web Server digunakan untuk menampilkan dashboard monitoring melalui browser. Dashboard menampilkan informasi jarak, status, level tempat sampah, indikator progres, serta tabel riwayat data.
Halaman web mengambil data terbaru melalui JavaScript dengan memanggil endpoint /api/data. Pembaruan data dilakukan secara berkala sehingga tampilan monitoring bersifat dinamis.
3.2.6 Program Utama
Pada fungsi setup(), program melakukan inisialisasi Serial Monitor, pin sensor dan LED, koneksi Wi-Fi, microSD, serta Web Server. Program juga memeriksa keberadaan file sensor.csv dan membuat file tersebut apabila belum tersedia.
Pada fungsi loop(), program melakukan pembacaan sensor, menyimpan data ke microSD, menangani permintaan web server, kemudian melakukan jeda sebelum proses berikutnya dijalankan.
BAB IV
PENUTUP
4.1 Kesimpulan
Berdasarkan hasil simulasi, sistem Smart Trash Monitor berbasis ESP32 telah berhasil dirancang dan dijalankan menggunakan Wokwi. Sensor HC-SR04 dapat digunakan untuk membaca jarak permukaan sampah, kemudian ESP32 memproses hasil pembacaan tersebut menjadi kondisi KOSONG, TERISI SEDANG, atau PENUH. Kondisi tersebut ditampilkan melalui LED hijau, kuning, dan merah sesuai dengan batas jarak yang telah ditentukan.
Sistem juga berhasil menggunakan microSD sebagai media penyimpanan data monitoring dalam file sensor.csv. Selain itu, ESP32 berhasil menjalankan web server lokal dan menyediakan API sehingga data monitoring dapat ditampilkan secara dinamis melalui browser. Dengan demikian, proyek ini menunjukkan penerapan konsep IoT melalui integrasi sensor, mikrokontroler, indikator, penyimpanan data, web server, dan API dalam satu sistem monitoring tempat sampah.
4.2 Saran
1.Sistem dapat dikembangkan dengan menggunakan perhitungan persentase kapasitas yang lebih detail sehingga level tempat sampah tidak hanya 0%, 50%, dan 100%.
2.Sistem dapat ditambahkan buzzer sebagai indikator suara ketika tempat sampah berada dalam kondisi penuh.
3.Sistem dapat dikembangkan menggunakan sensor tambahan untuk meningkatkan kemampuan monitoring.
4.Data pada microSD dapat dikembangkan agar memiliki sistem pengelolaan riwayat yang lebih efisien.
5.Dashboard Web Server dapat dikembangkan dengan grafik perubahan level tempat sampah.
6.Sistem dapat dikembangkan agar dapat diakses melalui jaringan lokal tanpa simulator.
7.Pada implementasi perangkat keras nyata, koneksi dan sumber daya setiap komponen perlu diperhatikan, terutama tegangan pin Echo HC-SR04 terhadap ESP32.
8.Sistem dapat dikembangkan menggunakan database atau server eksternal untuk menyimpan data monitoring dalam jangka panjang.
DAFTAR PUSTAKA
Arduino. (n.d.). Arduino Reference – Digital I/O and Serial Communication. https://www.arduino.cc/reference/en/
Espressif. (n.d.). ESP32 Arduino Core Documentation.
https://docs.espressif.com/projects/arduino-esp32/en/latest/
PlatformIO. (n.d.). PlatformIO Documentation. https://docs.platformio.org/
Wokwi. (n.d.). Wokwi Documentation – ESP32 and MicroSD Card Simulation. https://docs.wokwi.com/
LAMPIRAN







Video Demo: https://drive.google.com/file/d/12AvIKIfG6dPDRhQv29o8EHSHoXlSt7lv/view?usp=sharing
Tidak ada komentar:
Posting Komentar