Sensor INA219 merupakan sensor arus DC yang dapat membaca nilai arus DC sampai 3A, selain arus juga dapat membaca tegangan. Pada tutorial kali ini kita akan belajar ESP32 mengakses dan kalibrasi sensor ina219 dengan menggunakan beban door lock yang terhubung dengan relay.
Fungsi relay disini sebagai saklar elektronik yang dapat memutus atau menyambung aliran listrik dari sumber tegangan ke beban door lock atau solenoid.
Cara merangkaian sensor arus sama seperti mengukur arus menggunakan multimeter yaitu harus dibuat rangakain seri, jika pararel tidak akan bisa mengukur arus, kecuali jika ingin mengukur tegangan bisa langsung pararel tanpa harus memutus aliran listrik terlebih dahulu.
Mengukur arus memerlukan beban, baik mikrokontroler itu sendiri ataupun perangkat lain yang ingin di jadikan bebanya. jika tanpa beban arus tidak akan pernah bisa diukur. malah akan merusak komponen karena akan mengalami hubung singkat atau kelebihan beban.
#include <Wire.h> #include <Adafruit_INA219.h> Adafruit_INA219 ina219; #define pinrelay 26 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(""); } }
Saat kita memberikan nilai 1 dari serial monitor maka relay akan mati dan otomatis sensor akan membaca arus serta tegangan yang masuk ke beban atau door lock, karena mati tidak ada tegangan ataupun arus yang masuk, sehingga tampil teganganya 0V dan arusnya -2mA.
tanda minus disini error pembacaan dari sensor ina219, namun hal ini bukan lah masalah besar, karena nilai toleransi error nya tidak terlalu gede.
Dan saat kita memberikan niali 0 dari serial monitor, sensor suhu juga langsung membaca tegangan dan arus yang masuk ke beban. Pada gambar diatas saat relay nyala arus door lock kisaran 780mA dan teganganya 12 V.
Jelas saja karena saya menggunakan adaptor 12V 2A sebagai suply door lock, hal ini bisa dikatakan berhasil atau akurat ya, meskipun ada perbedaan hasil ukuran ketika saya mengukur dengan multimeter, namun lagi-lagi saya ingatkan errornya lumayan kecil.
Pertanyaanya, kenapa diadaptor 12V 2A, tapi arus yang terbaca tidak sampai 1A ?
karena arus itu berdasarkan kebutuhan beban yang mengkonsumsi, meskipun adaptor nya 12V 30A, jika bebanya cuma butuh 1A, maka arus yang terukur pada beban ya 1A. semoga bisa dipahami.
jika kalian ingin membatas nilai minus, dalam artian tidak ingin ada nilai dibawah 0, maka gunakan saja program pembatasan, sederhananya gunakan if conditional.
Keyword
Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…
Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…
Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…
Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…
Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…
Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…