Selamat datang di blog kami yang penuh semangat! Kali ini, kami akan mengajak Anda untuk memasuki dunia menakjubkan Internet of Things (IoT) dengan proyek yang menyenangkan dan bermanfaat. Proyek kami kali ini adalah “Arduino Water Level dengan NodeMCU.” Bersiaplah untuk merenungkan keajaiban teknologi ini karena kami akan menyajikan Anda penjelasan lengkap, tutorial kode, dan bahkan link referensi gambar rangkaian. Ayo, mari kita mulai!

Pendahuluan: Memahami Internet of Things (IoT)

Sebelum kita melangkah lebih jauh, mari kita singgahi sejenak pada istilah yang mungkin masih terdengar asing: Internet of Things (IoT). IoT adalah konsep di mana objek fisik, seperti perangkat, kendaraan, atau bahkan bangunan, dilengkapi dengan teknologi yang memungkinkannya terhubung dan bertukar data melalui internet. Dalam konteks proyek ini, kita akan menggabungkan teknologi Arduino dan NodeMCU untuk menciptakan sistem pemantauan tingkat air yang cerdas.

Apa itu Arduino dan NodeMCU?

Arduino adalah platform elektronik open-source yang dirancang untuk memudahkan pengembangan berbagai proyek elektronik. Arduino menggunakan mikrokontroler yang bisa diprogram untuk melakukan berbagai tugas sesuai keinginan Anda. Fleksibilitasnya dan dukungan komunitas yang besar membuat Arduino menjadi pilihan populer bagi para hobiis, pelajar, dan bahkan para profesional.

NodeMCU adalah platform pengembangan yang memanfaatkan chip ESP8266. ESP8266 merupakan modul Wi-Fi yang memungkinkan perangkat tersebut terhubung ke internet secara nirkabel. NodeMCU menyediakan kemampuan Arduino-like dengan tambahan dukungan Wi-Fi, yang sangat berguna dalam proyek IoT seperti yang akan kita lakukan kali ini.

Proyek Arduino Water Level dengan NodeMCU

Bahan-bahan yang Diperlukan:

  1. NodeMCU (ESP8266) board
  2. Sensor water level (Contoh: Sensor Ultrasonik HC-SR04)
  3. Kabel jumper
  4. Breadboard atau PCB untuk merakit rangkaian
  5. Akses internet (opsional, untuk mengirim data ke cloud)

Langkah 1: Menyambungkan Komponen

  1. Sambungkan sensor ultrasonik HC-SR04 dengan NodeMCU seperti di bawah ini:
    • VCC Sensor ke 3.3V pada NodeMCU
    • GND Sensor ke GND pada NodeMCU
    • Trig Sensor ke pin D1 pada NodeMCU
    • Echo Sensor ke pin D2 pada NodeMCU
  2. Pastikan semua koneksi terpasang dengan benar dan tidak ada kabel yang terhubung dengan pin yang salah sebelum melanjutkan ke langkah selanjutnya.
Baca juga  Koding Arduino IoT Kebun V2

Langkah 2: Instalasi Board dan Library pada Arduino IDE

  1. Buka Arduino IDE pada komputer Anda.
  2. Pergi ke menu “File” > “Preferences”.
  3. Di dalam kolom “Additional Boards Manager URLs”, tambahkan URL berikut untuk menginstal board NodeMCU (ESP8266): http://arduino.esp8266.com/stable/package_esp8266com_index.json
  4. Klik “OK” untuk menyimpan preferensi.
  5. Selanjutnya, pergi ke menu “Tools” > “Board” > “Boards Manager”.
  6. Cari “esp8266” menggunakan kotak pencarian.
  7. Klik pada “esp8266 by ESP8266 Community” dan klik “Install” untuk menginstal board NodeMCU.
  8. Setelah instalasi selesai, tutup Arduino IDE dan buka kembali.

Langkah 3: Menulis Kode Program

Sekarang, kita akan menulis kode program untuk mengambil data dari sensor ultrasonik dan mengirimkannya melalui Serial Monitor.

#include <ESP8266WiFi.h>

// Konfigurasi WiFi
const char* ssid = "Nama_Jaringan_WiFi";
const char* password = "Kata_Sandi_WiFi";

// Pin untuk sensor ultrasonik
const int trigPin = D1;
const int echoPin = D2;

void setup() {
  Serial.begin(115200);  // Memulai komunikasi serial dengan baud rate 115200
  pinMode(trigPin, OUTPUT); // Mengatur pin Trig sebagai OUTPUT
  pinMode(echoPin, INPUT);  // Mengatur pin Echo sebagai INPUT

  // Menghubungkan ke jaringan WiFi
  WiFi.begin(ssid, password); // Memulai proses koneksi WiFi dengan SSID dan password yang sudah diberikan
  while (WiFi.status() != WL_CONNECTED) { // Menunggu hingga koneksi WiFi berhasil terhubung
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi!"); // Jika koneksi WiFi berhasil, mencetak pesan "Connected to WiFi!" di Serial Monitor
}

void loop() {
  // Baca data dari sensor
  long duration, distance;
  digitalWrite(trigPin, LOW); // Menyimpan pin Trig pada level LOW selama 2 mikrodetik
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); // Menyimpan pin Trig pada level HIGH selama 10 mikrodetik
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW); // Kembali mengubah pin Trig menjadi LOW

  duration = pulseIn(echoPin, HIGH); // Mengukur durasi pulsa dari pin Echo yang berlangsung saat sinyal kembali dari sensor
  distance = duration * 0.034 / 2; // Menghitung jarak berdasarkan waktu pulsa dengan asumsi kecepatan suara adalah 34 cm/mikrodetik

  // Kirim data melalui Serial Monitor
  Serial.print("Tinggi air: ");
  Serial.print(distance); // Mencetak nilai tinggi air yang terukur (dalam satuan cm) di Serial Monitor
  Serial.println(" cm"); // Mencetak satuan centimeter di baris baru untuk pemisah

  delay(2000); // Menunda proses selama 2 detik sebelum membaca data sensor lagi
}

Penjelasan Koding:

  1. Library ESP8266WiFi diimpor untuk menggunakan fitur WiFi pada NodeMCU.
  2. Konfigurasi WiFi diatur dengan menyediakan nama jaringan WiFi (ssid) dan kata sandi WiFi (password) yang sesuai dengan jaringan yang ingin Anda hubungkan.
  3. Dalam fungsi setup()Serial.begin(115200) menginisialisasi komunikasi serial dengan baud rate 115200, sehingga data dari sensor dapat dikirimkan dan ditampilkan di Serial Monitor.
  4. Pin trigPin dan echoPin dideklarasikan sebagai pin untuk mengontrol sensor ultrasonik. trigPin diatur sebagai OUTPUT untuk mengirimkan sinyal ultrasonik, dan echoPin diatur sebagai INPUT untuk menerima kembali sinyal yang dipantulkan.
  5. NodeMCU terhubung ke jaringan WiFi menggunakan WiFi.begin(ssid, password). Selama proses koneksi berlangsung, program akan menunggu hingga status WiFi terhubung (WL_CONNECTED) dengan while loop. Pesan “Connecting to WiFi…” akan dicetak di Serial Monitor selama proses ini.
  6. Setelah terhubung ke WiFi, pesan “Connected to WiFi!” akan dicetak di Serial Monitor untuk menandakan bahwa NodeMCU berhasil terhubung.
  7. Dalam fungsi loop(), rangkaian akan terus membaca data dari sensor secara berulang.
  8. Proses membaca data dimulai dengan mengirimkan sinyal ultrasonik. Pin Trig diatur ke LOW selama 2 mikrodetik, lalu diubah ke HIGH selama 10 mikrodetik, dan akhirnya kembali ke LOW. Durasi pulsa dari pin Echo diukur menggunakan pulseIn(), yang memberikan waktu yang dibutuhkan oleh sinyal untuk kembali ke sensor.
  9. Jarak air dihitung berdasarkan durasi pulsa yang diukur. Dalam kode ini, diasumsikan bahwa kecepatan suara adalah 34 cm/mikrodetik (dapat bervariasi tergantung kondisi lingkungan). Jarak dihitung dengan mengalikan durasi pulsa dengan 0,034 (34 cm/mikrodetik) dan dibagi 2 karena sinyal pergi ke target dan kembali lagi.
  10. Hasil pengukuran tinggi air dalam satuan cm akan dicetak di Serial Monitor dengan pesan “Tinggi air: [nilai] cm”.
  11. Proses akan diulang setelah menunggu selama 2 detik (delay(2000)) sebelum membaca data sensor kembali.
Baca juga  Makan Malam Bersama Teman Google

Langkah 4: Mengunggah Kode ke NodeMCU

  1. Pastikan NodeMCU telah terhubung ke komputer melalui kabel USB.
  2. Pilih board NodeMCU (ESP8266) dengan pergi ke menu “Tools” > “Board” > “NodeMCU 1.0 (ESP-12E Module)”.
  3. Pilih port yang sesuai dengan NodeMCU pada menu “Tools” > “Port”.
  4. Klik tombol panah mengarah ke kanan untuk mengunggah kode ke NodeMCU.

Langkah 5: Mengamati Hasil

Setelah kode diunggah, Anda dapat membuka Serial Monitor pada Arduino IDE untuk melihat hasil pembacaan tinggi air dari sensor ultrasonik. Pastikan baud rate pada Serial Monitor disetel ke 115200.

Project diatas adalah sebuah rangkaian yang menggunakan sensor ultrasonik untuk membaca level ketinggian air. Dalam proyek ini, hasil pembacaan ditampilkan pada serial monitor di komputer. Jika Anda tertarik untuk membuat proyek water level IoT yang dapat mengirimkan hasil pembacaan secara langsung ke handphone, Anda dapat menyimak video di bawah ini:

Sekarang Anda telah berhasil membuat rangkaian water level menggunakan NodeMCU dan sensor ultrasonik. Anda dapat memodifikasi kode untuk menambahkan fitur tambahan, seperti mengirim data ke cloud atau menampilkan informasi menggunakan aplikasi berbasis web. Selamat mencoba!

Loading

Proyek Arduino Water Level dengan NodeMCU: Kreatifitas Tak Terbatas dalam Dunia IoT!

Komentar anda

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.