IOT Project #2 – Saklar Online dengan NodeMCU-Firebase

 

Saklar online menjadi salahsatu contoh praktek IOT yang mudah dipahami dan dibuat.

Pada kesempatan ini akan kita bahas bagaimana membuat saklar online dengan NODEMCU yang berbasis chip ESP8266 yang terkoneksi dengan Google Firebase. Ini merupakan lanjutan dari tulisan bagian 1 yang membahas antara NodeMCU dan Firebase. Kita akan menambahkan modul relay untuk saklar digital yang dapat digunakan sebagai saklar listrk 220 volt.

Tujuan

Proyek IOT#2 ini akan membahas cara mengoneksikan board NODEMCU dan database Firebase yang digunakan untuk mengendalikan saklar pada modul relay. Mekanismenya adalah sebagai berikut.
• Jika tombol ditekan maka status variabel saklar akan berubah (ON ke OFF dan sebaliknya)
• Status (ON atau OFF) ini akan dikirim ke server dan disimpan.
• Board NodeMCU akan membaca status di server, jika status ON, maka pin akan diberi tegangan (dihidupkan) dan sebaliknya.
• Modul relay akan membaca nilai pin, jika ada tegangan (ON) maka modul relay akan hidup/menghubungkan dua titik/kabel yang dihubungkan ke relay tersebut dan sebaliknya.
Pada praktiknya kita dapat menggunakan lebih dari satu board NodeMCU, sehingga antara tombol dan saklar dapat berjauhan, asalkan masing-masing terubung ke internet. Selain itu, kita dapat membuat program lain, misalnya dengan Android, yang akan mengatur status ON-OFF dengan akses langsung ke Firebase.

Hardware

Beberapa alat yang dibutuhkan untuk membuat proyek ini antara lain:
1 Board NodeMCU
1 momentary switch button
Kabel jumper secukupnya
1 modul relay
Koneksi internet melalui wifi (bisa menggunakan tethering ponse ).

Software

Arduino IDE software yang telah dilengkapi library ESP8266
Library Firebase untuk Arduino.
Sketch/kode program pada Proyek IOT#1

Prosedur

Sebelum memulai proyek ini pastikan sudah mempraktikkan proyek IOT #1. Kita tidak akan mengubah apappun dalam proyek tersebut hanya akan menambahkan modul relay.

Rangkaian Hardware

Rangkaian hardware ini sama dengan proyek 1, yaitu kita hubungkan salahsatu kaki dari tombol momentary ke Ground NodeMCU dan kaki lainnya dihubungkan ke salahsatu PIN, dalam contoh ini menggunakan PIN D1. Untuk melihat hasil dari proyek ini akan kita gunakan indikator lampu LED pada board internal NodeMCU. Bedanya adalah, pada proyek #2 ini kita akan menambahkan modul relay dengan menghubungkan pin VCC relay ke 3.3v NodeMCU, ground dihubungkan ke ground dan pin data IN relay dihubungkan ke pin D5 NodeMCU.

Sketch

Sketch atau kode program yang digunakan untuk proyek ini sama persis dengan sketch yang pernah dibuat pada bagian 1.

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST “iot-project-5d159.firebaseio.com”
#define FIREBASE_AUTH “gG3GEOWDPk40WWN7QdWGsB6B2nYmvNRzmr05hA90”
#define WIFI_SSID “wifihotspot”
#define WIFI_PASSWORD “xxxxxx”

int ledState=0;
int LED_PIN =2; //LED internal
int BUTTON_PIN = D1;
int OUT_PIN = D5;

void setup() {
Serial.begin(9600);
pinMode(BUTTON_PIN,INPUT_PULLUP);// tombol
pinMode(LED_PIN,OUTPUT); // LED
pinMode(OUT_PIN,OUTPUT); // output PIN

// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print(“connecting”);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(“.”);
delay(500);
}
Serial.println();
Serial.print(“connected: “);
Serial.println(WiFi.localIP());

Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH);
}

void loop() {

// get value
Serial.print(“Nilai Saklar: “);
Serial.println(Firebase.getInt(“saklar”));
ledState=Firebase.getInt(“saklar”);

btnState=digitalRead(BUTTON_PIN);
if (btnState==LOW)
{
ledState = !ledState;
digitalWrite(LED_PIN,ledState);
Serial.print(“Data berubah…”);
}

if (ledState==0)
{digitalWrite(LED_PIN,HIGH);
digitalWrite(OUT_PIN,HIGH);
}
else
{digitalWrite(LED_PIN,LOW);
digitalWrite(OUT_PIN,LOW);
}
// mengirim nilai
Firebase.setInt(“saklar”, ledState);
if (Firebase.failed()) {
Serial.print(“setting /truth failed:”);
Serial.println(Firebase.error());
return;
}
}

Pengujian

Setelah semua wiring diset sesuai penjelasan di atas, hidupkan board NodeMCU. Amati apakah lampu pada board menyala, juga lampu hijau pada modul relay. Seharusnya lampu LED pada board akan sama dengan lampu hijau di relay. Pencet tombol momentary switch 1-2 detik, amati apakan ada perubahan nyala lampu. Jika lampu di LED board dan lampu hijau pada relay menyala atau mati bersamaan, maka program ini sudah berjalan dengan baik.
Anda dapat menguji menggunakan arus listrik 220 volt untuk menguji alat ini untuk dipakai ‘beneran’. Caranya adalah dengan cara mirip ketika kita membuat saklar biasa, hanya saja kita hubungkan kabel ke posisi pada relay. Harap berhati-hati karena ini menggunakan tegangan tinggi.

Pengembangan

Pin yang kita pakai untuk mengendalikan saklar/relay dapat kita pakai untuk mengendalikan modul lain yang memiliki mekanisme yang hampir sama. Misalnya kita gunakan untuk mengontrol solenoid valve yang dipakai sebagai pengendali kran air, atau solenoid untuk kunci pintu rumah atau misalnya untuk memutar DC motor dll.

Klik SUKA di FB Page Teknologi Pembelajaran

Add a Comment

Your email address will not be published. Required fields are marked *