● online
- Raspberry Pi 4 Model B 4GB Original UK E14 Raspi 4....
- 5V 700mA (3.5W) Isolated switch Power Supply Modul....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Male to Mal....
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard....
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW....
- Dimmer AC 4000W 220 Volt 4000 Watt 220V + Casing A....
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A....
- LCD 16x2 / 1602 Display Arduino Raspberry LCD 16 x....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Bikin Tempat Sampah Pintar yang Bisa Terbuka Otomatis dan Mendeteksi Kondisi Penuh
Halo sobat IoT! Pernah gak sih kamu membayangkan punya tempat sampah pintar di rumah yang gak cuma bisa bekerja secara otomatis, tetapi juga mampu memberikan laporan kondisi secara nirkabel? Di era modern ini, mengembangkan perangkat smart bin berbasis Internet of Things (IoT) menjadi salah satu proyek menarik untuk dipelajari. Dengan memadukan mikrokontroler ESP32 dan sensor digital, kita bisa membangun sistem monitoring dan kontrol jarak jauh yang lebih efisien. Konsep monitoring berbasis IoT ini juga bisa diterapkan pada berbagai kebutuhan lain, salah satunya untuk memantau kondisi lingkungan peternakan melalui proyek sistem monitoring suhu dan kelembapan kandang ayam berbasis IoT. Yuk, kita bedah langkah demi langkah pembuatannya!

1. Alat dan Bahan Tempat Sampah Pintar
Berikut adalah daftar komponen hardware utama yang kita butuhkan untuk membangun modul kontrol dan monitoring tempat sampah pintar ini:
| Komponen | Jumlah | Keterangan |
| ESP32 IoT Programmable Controller (SKU: DFR0886) | 1 unit | Mikrokontroler utama berbasis ESP32 SoC dengan konektivitas WiFi & MQTT (sumber rujukan resmi dari DFRobot ESP32 Controller). |
| Sensor DHT22 / AM2302 | 1 unit | Sensor suhu dan kelembapan digital 4-pin (VDD, DATA, NULL, GND) berbasis kapasitif (dapat dikembangkan menggunakan Adafruit DHT Sensor Library). |
| LED Indikator | 1 unit | Indikator status aktuator yang terhubung ke pin GPIO 15. |
| Kapasitor 100nF | 1 unit | Kapasitor filter tegangan (opsional) dipasang antara VDD dan GND pada DHT22. |
Nah, dalam arsitektur sistem pengelolaan sampah pintar modern, sensor DHT22 ini bertugas memantau tingkat kelembapan dan suhu di dalam wadah sampah secara real-time. Data ini sangat vital untuk mendeteksi proses pembusukan sampah organik dan risiko timbulnya bau tak sedap. Sementara itu, komponen LED Indikator berfungsi merespons perintah kontrol jarak jauh via MQTT untuk mensimulasikan pemicu aktuator (seperti alarm status atau mekanisme pembuka otomatis) saat batas kapasitas atau ambang kelembapan terlampaui.
2. Skematik Rangkaian
Pinout Sensor DHT22 atau AM2302
Nah, buat wiring-nya, kita perlu memahami urutan pin dari sensor DHT22 (atau AM2302). Kalau sobat memegang sensor dengan menghadap ke sisi depan, konfigurasi 4 pin dihitung dari kiri ke kanan:
- Pin 1 adalah VDD yang dihubungkan ke sumber tegangan 3.3V-6V DC.
- Pin 2 adalah DATA yang memproses transmisi sinyal digital single-bus.
- Pin 3 adalah NULL atau NC (Not Connected) yang tidak terhubung ke jalur mana pun.
- Pin 4 adalah GND yang disambungkan ke jalur ground sistem.
Pemasangan Filter Tegangan dan Resistor
Biar sinyal pembacaan gak gampang terkena noise atau gangguan desah listrik, kita pasang kapasitor filter berukuran 100nF tepat di antara jalur VDD dan GND pada sensor DHT22. Selain itu, jalur DATA wajib dilengkapi dengan pull-up resistor (R_L) ke VDD agar jalur bus tetap berada pada level tegangan HIGH saat kondisi bebas (free status).
Koneksi LED Indikator
LED Indikator dihubungkan langsung sebagai aktuator keluaran digital. Pin positif (anode) LED disambungkan ke pin GPIO 15 pada ESP32, sedangkan pin negatifnya (cathode) terhubung ke GND. Logika program mikrokontroler akan mengatur apakah GPIO 15 bernilai HIGH atau LOW berdasarkan data instruksi yang diterima.
3. Cara Kerja Sistem Sensor dan Kontrol IoT

Komunikasi Single Bus DHT22
Komunikasi data antara ESP32 dan sensor DHT22 mengandalkan protokol digital single-bus yang membutuhkan waktu sekitar 5ms untuk sekali transmisi. Proses ini diawali oleh host (ESP32) yang menarik garis bus ke level LOW minimal 1ms, lalu menariknya ke HIGH selama 20-40µs untuk menunggu respons sensor. Sensor DHT22 kemudian menjawab dengan menarik garis ke LOW selama 80µs, diikuti level HIGH selama 80µs sebagai tanda siap mengirimkan data.
Setelah fase respons selesai, DHT22 mulai memancarkan 40-bit data (8-bit kelembapan integer, 8-bit kelembapan desimal, 8-bit suhu integer, 8-bit suhu desimal, dan 8-bit checksum). Nah, yang perlu diperhatikan secara rinci: setiap bit dari 40-bit data tersebut selalu diawali dengan pulsa sinyal LOW sepanjang 50µs. Setelah pulsa LOW 50µs tersebut, durasi sinyal HIGH yang mengikutinya menentukan nilai bit data, di mana sinyal HIGH sepanjang 70µs mewakili bit ‘1’, sedangkan sinyal HIGH sepanjang 26–28µs mewakili bit ‘0’.
Pengolahan dan Pengiriman MQTT
Setelah paket 40-bit data divalidasi melalui checksum, ESP32 memproses nilai suhu serta kelembapan di dalam wadah sampah. Data tersebut secara berkala dikirimkan (publish) melalui jaringan WiFi ke broker MQTT pada topik tertentu. Di saat yang sama, ESP32 terus mendengarkan (subscribe) topik perintah dari broker MQTT. Ketika sistem menerima data perintah dari pengguna (misalnya pemicu kondisi sampah penuh atau instruksi pembersihan), ESP32 langsung mengeksekusi logika untuk menyalakan atau mematikan LED indikator secara real-time.
4. Pemrograman ESP32 dan Konfigurasi MQTT
Berikut adalah kode program C++/Arduino resmi untuk mengelola koneksi WiFi, komunikasi MQTT publish dan subscribe, serta kontrol aktuator pada ESP32:
#include <WiFi.h>
#include <PubSubClient.h>
// Definisi pin LED
#define LED 15
// Konfigurasi WiFi dan MQTT
const char* ssid = "your_ssid";
const char* password = "your_password";
const char* mqtt_server = "broker.mqtt-dashboard.com";
// Inisialisasi koneksi WiFi dan MQTT
WiFiClient espClient;
PubSubClient client(espClient);
// Variabel untuk pengiriman pesan
long lastMsg = 0;
char msg[50];
int value = 0;
// Fungsi untuk menghubungkan ESP32 ke WiFi
void setup_wifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
randomSeed(micros());
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
// Fungsi untuk menerima pesan dari MQTT
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
// Mengatur kondisi LED berdasarkan pesan MQTT
if ((char)payload[0] == '0') {
digitalWrite(LED, LOW);
} else {
digitalWrite(LED, HIGH);
}
}
// Fungsi untuk menghubungkan ulang MQTT
void reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
String clientId = "FireBeetleClient-";
clientId += String(random(0xffff), HEX);
if (client.connect(clientId.c_str())) {
Serial.println("connected");
client.publish("outTopic", "hello world");
client.subscribe("inTopic");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}
}
}
// Fungsi inisialisasi sistem
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
}
// Fungsi utama yang dijalankan berulang kali
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
// Mengirim pesan MQTT setiap 2 detik
long now = millis();
if (now - lastMsg > 2000) {
lastMsg = now;
++value;
snprintf(msg, sizeof(msg), "hello world #%ld", value);
Serial.print("Publish message: ");
Serial.println(msg);
client.publish("outTopic", msg);
}
}
Penjelasan Fungsi Penting Program
Program di atas mengintegrasikan pustaka WiFi.h untuk menangani koneksi nirkabel dan PubSubClient.h untuk mengelola protokol MQTT. Broker publik ditentukan pada broker.mqtt-dashboard.com menggunakan port default 1883.
Di dalam fungsi setup_wifi(), terdapat baris randomSeed(micros()); yang dipadukan dengan pemanggilan clientId += String(random(0xffff), HEX); pada fungsi reconnect(). Kenapa hal ini sangat penting? Dalam arsitektur MQTT, setiap klien wajib memiliki Client ID yang unik. Pembuatan ID acak ini mencegah terjadinya session eviction loop, yaitu kondisi di mana dua perangkat dengan ID yang sama saling memutuskan koneksi satu sama lain secara berulang-ulang dari broker.
Fungsi callback() bertugas membaca pesan masuk pada topik subskripsi (inTopic). Jika karakter pertama payload berisi '0', pin GPIO 15 diatur ke LOW (LED padam). Jika menerima karakter lain, GPIO 15 diatur ke HIGH (LED menyala). Pada fungsi loop(), ESP32 secara teratur mempublikasikan status pesan ke outTopic setiap 2000 ms (2 detik) dengan menyertakan nilai increment value.
5. Pengujian Sistem dan Hasil Eksperimen
Untuk menguji integritas hardware dan software, hubungkan ESP32 ke komputer dan buka Serial Monitor pada Arduino IDE dengan baud rate 115200. Saat booting, Serial Monitor akan menampilkan status penyambungan WiFi, alamat IP lokal yang didapatkan, proses otentikasi ke broker MQTT, hingga log publikasi pesan secara terus-menerus ke outTopic.
Tips dan Catatan Penting Pengujian
- Kenapa harus ada jeda pembacaan? Selalu beri jeda antar-pembacaan pada sensor DHT22 minimal lebih dari 2 detik (>2s) sesuai spesifikasi sensing period, agar data kelembapan dan suhu tidak mengalami eror.
- Hindari instruksi awal: Peringatan penting, jangan beri perintah atau instruksi apa pun ke sensor DHT22 dalam 1 detik pertama setelah diberi daya untuk melewati fase unstable status.
- Solusi troubleshooting: Jika pembacaan sinyal dari DHT22 selalu menghasilkan status HIGH, hal ini mengindikasikan koneksi fisik kurang baik atau kabel kendur. Periksa kembali sambungan kabel dan resistor pull-up kamu.
6. Kesimpulan
Mengembangkan tempat sampah pintar berbasis mikrokontroler ESP32, sensor DHT22, dan protokol MQTT memberikan pemahaman mendalam tentang bagaimana sistem IoT bekerja secara komprehensif. Mulai dari pembacaan kondisi internal wadah hingga mengeksekusi aktuator secara real-time, proyek ini merupakan pijakan awal yang sangat solid. Teruslah bereksperimen, kembangkan fitur-fitur baru, dan selamat berkarya di dunia IoT!
Bikin Tempat Sampah Pintar yang Bisa Terbuka Otomatis dan Mendeteksi Kondisi Penuh
Apa itu relay? Relay merupakan sebuah saklar yang dikendalikan dengan aliran arus listrik. Pada relay terdapat 2 bagian utama... selengkapnya
Mengapa disebut buzzer passive? karena sensor ini tidak mempunyai suara sendiri, melainkan buzzer ini perlu dikontrol dengan kontroler seperti... selengkapnya
Salah satu proyek pertama yang sering dilakukan oleh pemula dalam dunia Raspberry Pi adalah menyalakan LED. Meskipun terlihat sederhana, proyek... selengkapnya
Pernah gak sih kamu lupa nyiram tanaman kesayangan sampai daunnya layu dan hampir mati? Padahal, menjaga tanaman tetap segar dan... selengkapnya
Android merupakan sistem operasi untuk perangkat seluler dengan pengguna terbesar di dunia termasuk di Indonesia, dengan market share 90%... selengkapnya
Arduino Pro Mini merupakan jenis Arduino yang berukuran kecil dibandingkan dengan Nano, Unodan Mega. Dengan ukuran yang kecil ini... selengkapnya
Motor servo adalah salah satu jenis motor listrik yang memiliki feedback berupa sensor posisi. Dengan adanya feedback tersebut, motor... selengkapnya
SW-420 adalah sensor untuk mendeteksi getaran, cara kerja sensor ini adalah dengan menggunakan 1 buah pelampung logam yang berisi 2... selengkapnya
Ada beberapa jenis view di Android dan kali ini yang kita akan bahas adalah ListView. ListView adalah view yang... selengkapnya
Sensor ultrasonik merupakan sensor yang dapat mendeteksi suatu benda yang ada di depannya dengan jarak tertentu. Prinsip kerja dari... selengkapnya
Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300Harga untuk 10pcs Resistance: 220 Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film Lead Free ROHS compliant
Rp 1.500Support terus UKM indonesia dengan membeli produk-produk dalam negeri. Untuk kualitas tidak usah diragukan, udah kita tes QC dengan sangat… selengkapnya
Rp 8.500Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Features: It is of high power density, high efficiency, high-reliability, small size and lightweight. It can isolate unsteady single-way voltage… selengkapnya
Rp 18.500Harga untuk 10pcs Resistance: 1K Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film
Rp 1.500TILT SENSOR adalah sensor untuk mendeteksi sudut kemiringan / derajat, dimana cara kerja sensor ini adalah dengan menggunakan 2 buah… selengkapnya
Rp 9.800ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and… selengkapnya
Rp 38.400Modul sensor tegangan AC bolak balik 1 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 21.000Bikin Tempat Sampah Pintar yang Bisa Terbuka Otomatis dan Mendeteksi Kondisi Penuh
Kategori
Artikel Terkait
-
Bikin Sistem Parkir Otomatis dengan Penghitung Kendaraan dan Indikator Slot Kosong
-
Rancang Sistem Pendeteksi Kebakaran dengan Kipas Otomatis dan Alarm Peringatan
-
Bikin Alat Monitoring Konsumsi Listrik Rumah Secara Real-Time Berbasis ESP32
-
Bikin Sistem Keamanan Pintu Berbasis RFID dengan Notifikasi Telegram
-
Rancang Sistem Penyiram Tanaman Otomatis Berbasis ESP32 dengan Monitoring Smartphone

Saat ini belum tersedia komentar.