Contents
Pada tutorial sensor hujan Arduino yang lalu kita sudah belajar bagaimana menangani sensor hujan/rain drop dengan Arduino Uno. Sekarang mari kita coba mengambil data output sensor ini menggunakan NodeMCU. Pada prinsipnya NodeMCU berbasis ESP8266 seri ESP12e. Mikrokontroller keluaran Espressif ini memiliki modul WIFI internal di dalamnya, jadi sangat cocok digunakan untuk project-project yang membutuhkan kendali jarak jauh melalui internet. Salah satu protokol komunikasi data yang saat ini populer adalah IoT (Internet of Things). Jadi dengan menggunakan nodeMCU, sensor hujan yang Anda ambil datanya tadi bisa sewaktu-waktu Anda monitor (melalui aplikasi HP atau web) menggunakan teknologi IoT tadi.
Untuk IoT akan kita ulas di tutorialnya selanjutnya ya, kali ini kita masih akan membahas bagaimana cara mengambil data sensor hujan menggunakan NodeMCU. Alat dan bahan yang diperlukan dalam percobaan ini adalah:
Alat dan Bahan Percobaan Sensor Hujan – NodeMCU
- NodeMcu
- Sensor Hujan FC-37
- Resistor 150 Ω
- LED merah
- LED hijau
- Kabel jumper secukupnya
- Protoboard
Buatlah rangkaian seperti pada gambar dibawah ini dengan konfigurasi pin:
- VCC dihubungkan dengan 5V (VU) NodeMcu
- GND dihubungkan dengan GND NodeMcu.
- D0 dihubungkan dengan pin D5 NodeMcu
- LED hijau terhubung dengan pin D6 NodeMcu
- LED merah terhubung dengan pin D7 NodeMcu
Source Code
Kemudian buka IDE Arduino Anda (atau dapat diunduh di arduino.cc jika belum punya), dan salin listing program sebagai berikut :
#define sensor_hujan D5 //Deklarasi Sensor hujan pada pin D5 NodeMcu #define LEDh D6 //Deklarasi LED hijau pada pin D6 NodeMcu #define LEDm D7 //Deklarasi LED merah pada pin D7 NodeMcu void setup () { Serial.begin(9600); pinMode (sensor_hujan, INPUT); //Deklarasi sensor hujan sebagai input pinMode (LEDh, OUTPUT); //Deklarasi LED hijau sebagai Output pinMode (LEDm, OUTPUT); //Deklarasi LED merah sebagai Output } void loop() { int kondisi_sensor = digitalRead(sensor_hujan); //Instruksi untuk membaca nilai digital Serial.print("Raindrop Sensor\n"); Serial.print("Digital Value: "); //Instruksi untuk menampilkan nilai digital pada Serial Monitor Serial.println(kondisi_sensor); //Intruksi untuk mengaktifkan LED hijau saat sensor tidak mendeteksi hujan if (kondisi_sensor == 0){ //Saat hujan terdeteksi maka nilai digital = 0 digitalWrite(LEDh, LOW); digitalWrite(LEDm,HIGH); Serial.print("Rain\n"); } //Intruksi untuk mengaktifkan LED merah saat sensor tidak mendeteksi hujan else{ digitalWrite(LEDh,HIGH); //Saat hujan tidak terdeteksi maka nilai digital = 1 digitalWrite(LEDm,LOW); Serial.print("Dry\n"); } delay(1000); }
Upload sketch (program di atas) dengan menekan tombol upload atau melalui shortkey CTRL+U, pastikan pengaturan board pada Arduino Uno. Kemudian aktifkan tools ‘Serial Monitor’ di Arduino IDE melalui menu tools | Serial Monitor. Pastikan kabel USB antara laptop dan Arduino tetap terpasang. Setelah program selesai diunggah perhatikan nilai digital sensor yang ditampilkan pada serial monitor serta kondisi LED
Hasil Percobaan Sensor Hujan – NodeMCU
Pada Gambar di atas saat tidak hujan maka nilai digital sensor berlogik 1 serta LED hijau akan aktif dan saat hujan terdeteksi oleh sensor maka nilai digital sensor berlogik 0 serta LED merah aktif (sesuai instruksi baris 25-32)
Demikian tutorial kali ini. Sebagai resume, program diatas mengendalikan LED untuk ON / OFF berdasarkan nilai digital output sensor hujan. Saat hujan terdeteksi output sensor berlogik 0 maka LED merah aktif, namun saat tidak ada hujan maka output sesor api berlogik 1 maka LED hijau aktif. Jika hasil percobaan anda telah sesuai seperti tutorial kali ini selamat anda telah berhasil mengendalikan LED berdasarkan nilai digital sensor hujan. Anda dapat mengembangkan percobaan ini sesuai dengan kebutuhan atau keinginan anda