Sensor INA219 merupakan sensor arus DC yang juga bisa membaca tegangan pada bebanya, sensor ina219 menggunakan komunikasi I2C untuk dapat diakases menggunakan ESP8266, pada tutorial sebelumnya juga saya sudah menuliskan cara mengakses sensor ina219 dengan ESp32, dan kali ini kita akan mengakses sensor INA219 menggunakan NodeMCU atau Wemos D1 Mini ESP8266.
Tutorial ESP32 Sensor Arus DC INA219 Beban Relay Door Lock
Terlepas dari tipe mikrokontroler nya, bebas memilih jenis esp8266 untuk dapat mengakses sensor ini, mau menggunakan arduino, esp8266 tipe esp-01 atau nodemcu atau juga wemos d1 mini semuanya sama.
Penerapan Aplikasi Sensor Arus INA219 dengan NodeMCU
Berikut salah satu projek yang bisa diaplikasikan dengan modul INA219 dan NodeMCU
- Alat Monitoring Arus Berbasis IoT
- Alat Data Logger Arus dan tegangan
- Monitoring Daya pada sebuah alat
- Multimeter Digital
- Dan masih banyak yang lainya
Hardware yang diperlukan untuk percobaan
- Modul NodeMCU ESP8266
- Sensor Arus DC INA219
- Modul Relay
- Solenoid Door Lock
- Kabel Jumper
- Adaptor atau Baterai 12V
Langkah Tutorial Mengakses Sensor INA219 dengan NodeMCU ESP8266
- Siapkan terlebih dahulu alat yang dibutuhkan
- Rangkai semua komponen seperti pada gambar diatas
- Download library INA219 Disini !
- Buat program seperti di bawah
- Upload program
- Amati hasilnya dengan memberikan nilai 0 atau 1 pada serial monitor
Program Mengakses Sensor INA219 dengan NodeMCU ESP8266
#include <Wire.h> #include <Adafruit_INA219.h> Adafruit_INA219 ina219; #define pinrelay D5 void setup(void) { Serial.begin(9600); while (!Serial) { // will pause Zero, Leonardo, etc until serial console opens delay(1); } uint32_t currentFrequency; pinMode(pinrelay, OUTPUT); digitalWrite(pinrelay, 1); ina219.begin(); Serial.println("Measuring voltage and current with INA219 ..."); } void loop(void) { //kirim 1 atau 0 dari serial monitor float current_mA = 0; float loadvoltage = 0; float power_mW = 0; if (Serial.available()) { int d =Serial.parseInt(); if (d == 0) { digitalWrite(pinrelay, 0); Serial.println("Relay Nyala"); } else if (d == 1) { digitalWrite(pinrelay, 1); Serial.println("Relay Mati"); } delay(100); current_mA = ina219.getCurrent_mA(); power_mW = ina219.getPower_mW(); loadvoltage = ina219.getBusVoltage_V() + (ina219.getShuntVoltage_mV() / 1000); Serial.print("Load Voltage: "); Serial.print(loadvoltage); Serial.println(" V"); Serial.print("Current: "); Serial.print(current_mA); Serial.println(" mA"); Serial.print("Power: "); Serial.print(power_mW); Serial.println(" mW"); Serial.println(""); } }
Dari gambar hasil program arduino IDE untuk esp8266 yang mengakses sensor arus INA219, kita dapat mengetahui datanya dengan penjelasan sebagai berikut.
Saat diberikan nilai 0, dari serial monitor maka otomatis relay akan menyala, hal ini disebabkan karena relay aktif LOW, kemudian karena relay menyala maka door lock teraliri listrik sehingga terdapat tegangan dan juga arus, yang terukur sekitar 12V 780mA
Sedangkan ketika dikirimi nilai 1 dari serial monitor, relay akan mati, dan tegangan serta arus pada beban menjadi 0V 0 mA.
Meskipun yang tampil -2,00 mA, itu menandakan ketiadaan arus, tapi ada sedikit error pembacaan pada sensor ina219 dan menurut saya hal ini sangat wajar karena masih masuk toleransi error.
Keyword
- ESP8266 INA219
- ESP8266 Mengakses Sensor Arus DC
- Tutorial ESP8266 Sensor INA219
- Tutorial NodeMCU INA219
- INA219 NodeMCU
- NodeMCU INA219
- ESP8266 Monitoring Current INA219
- NodeMCU DC Current INA219