Panduan Membuat Proyek IoT dengan ESP32: Mengukur Kualitas Air dengan Sensor

3 min read 21-08-2024
Panduan Membuat Proyek IoT dengan ESP32: Mengukur Kualitas Air dengan Sensor

Pendahuluan

Internet of Things (IoT) adalah teknologi yang memungkinkan perangkat untuk saling terhubung melalui internet, sehingga dapat mengumpulkan, mengirim, dan menganalisis data. Dalam artikel ini, kita akan membahas cara membuat proyek IoT menggunakan ESP32 untuk mengukur kualitas air dengan bantuan sensor. Dengan proyek ini, Anda dapat memantau parameter kualitas air seperti pH, suhu, dan TDS (Total Dissolved Solids) secara real-time.

Apa itu ESP32?

ESP32 adalah mikrokontroler yang sangat populer dengan fitur Wi-Fi dan Bluetooth yang terintegrasi. Dengan banyaknya input/output dan kekuatan pemrosesan, ESP32 menjadi pilihan ideal untuk aplikasi IoT. Kemampuan ini memungkinkan Anda untuk menghubungkan berbagai sensor untuk mengumpulkan data dan mengirimnya ke cloud atau aplikasi mobile.

Alat dan Bahan yang Dibutuhkan

Berikut adalah alat dan bahan yang diperlukan untuk proyek ini:

  • ESP32 Development Board
  • Sensor Kualitas Air (pH sensor, TDS sensor, dan suhu sensor)
  • Breadboard dan jumper wire
  • Catu daya untuk ESP32
  • Software Arduino IDE
  • Koneksi internet

Persiapan

Sebelum memulai, pastikan Anda telah menginstal Arduino IDE di komputer Anda. Anda juga perlu menambahkan platform ESP32 ke Arduino IDE. Untuk melakukannya:

  1. Buka Arduino IDE.
  2. Pilih "File" -> "Preferences".
  3. Tambahkan URL berikut di "Additional Board Manager URLs":
    https://dl.espressif.com/dl/package_esp32_index.json
    
  4. Pergi ke "Tools" -> "Board" -> "Boards Manager" dan cari "ESP32" lalu instal.

Pengaturan Sensor

Di dalam proyek ini, kita akan menggunakan beberapa sensor untuk mengukur kualitas air:

  1. Sensor pH: Mengukur tingkat keasaman atau kebasaan air.
  2. TDS Sensor: Mengukur kadar total padatan terlarut dalam air.
  3. Sensor Suhu: Mengukur temperatur air.

Koneksi Hardware

Setelah Anda memiliki semua alat dan bahan, langkah selanjutnya adalah menghubungkan sensor ke ESP32. Berikut adalah diagram pengkabelan yang umum digunakan:

ESP32                Sensor
-----                ------
GND      ---------  GND
3.3V     ---------  VCC
GPIO34   ---------  Output pH
GPIO35   ---------  Output TDS
GPIO32   ---------  Output Suhu

Catatan: Pastikan Anda menghubungkan sensor sesuai dengan spesifikasi dan pin yang tepat.

Pemrograman ESP32

Setelah menghubungkan hardware, buka Arduino IDE dan buat file baru. Anda dapat menyalin dan menempelkan kode berikut sebagai dasar untuk proyek Anda.

#include <WiFi.h>
#include <WebServer.h>

// Ganti dengan nama dan password WiFi Anda
const char* ssid = "your_ssid";
const char* password = "your_password";

// Inisialisasi pin
const int pHSensorPin = 34;
const int tdSensorPin = 35;
const int suhuSensorPin = 32;

WebServer server(80);

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, password);
    
    // Tunggu hingga terhubung
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Menghubungkan ke WiFi...");
    }

    Serial.println("Terhubung ke WiFi");
    server.on("/", handleRoot);
    server.begin();
    Serial.println("Server dimulai");
}

void loop() {
    server.handleClient();
}

void handleRoot() {
    float pHValue = analogRead(pHSensorPin) * (5.0 / 1023.0); // Mengubah nilai analog menjadi pH
    float tdsValue = analogRead(tdSensorPin) * (5.0 / 1023.0); // Mengubah nilai analog menjadi TDS
    float suhuValue = analogRead(suhuSensorPin) * (5.0 / 1023.0); // Mengubah nilai analog menjadi suhu

    String html = "<h1>Kualitas Air</h1>";
    html += "<p>pH: " + String(pHValue) + "</p>";
    html += "<p>TDS: " + String(tdsValue) + "</p>";
    html += "<p>Suhu: " + String(suhuValue) + "</p>";
    
    server.send(200, "text/html", html);
}

Penjelasan Kode

  • Pustaka WiFi dan WebServer digunakan untuk menghubungkan ESP32 ke jaringan dan menangani permintaan server HTTP.
  • Pin sensor terhubung dan dibaca di dalam fungsi loop().
  • Fungsi handleRoot() digunakan untuk membuat halaman web yang menampilkan data kualitas air.

Mengunggah dan Menguji Proyek

Setelah menyiapkan kode, sambungkan ESP32 ke komputer Anda dan pilih port yang sesuai di Arduino IDE. Klik Upload untuk memprogram ESP32.

Pengujian

Setelah pengunggahan selesai, buka browser web dan masukkan alamat IP ESP32 yang ditampilkan di Serial Monitor. Anda akan melihat halaman yang menampilkan kualitas air yang terukur.

Kesimpulan

Dengan mengikuti panduan ini, Anda telah berhasil membuat proyek IoT menggunakan ESP32 untuk mengukur kualitas air. Proyek ini tidak hanya memberikan pengalaman praktis dalam menggunakan teknologi IoT tetapi juga pentingnya menjaga kualitas air. Anda dapat mengembangkan proyek ini lebih lanjut dengan menambahkan lebih banyak sensor atau mengintegrasikannya dengan platform cloud untuk analisis lebih lanjut.

Selamat mencoba, dan semoga sukses dengan proyek IoT Anda!