Sensor INA219 Arduino
Cara Akses Sensor INA219 Arduino Modul Sensor Arus Tegangan Daya – Modul Sensor INA219 adalah sebuah sensor yang ber fungsi untuk mengukur arus, tegangan dan daya. Cara kerja sensor ina219 adalah dengan membaca tegangan shunt, tegangan bus dan tegangan load.
![]() |
INA219 Sensor Board |
Spesifikasi sensor INA219
Sensor INA219 memiliki ADC internal 12-bit. Ini akan cukup membuat pembacaan arus yang presisi. Dengan nilai ADC 12-bit, sensor arus dapat mengukur arus maksimal ±3.2A dengan range resolusi 0.8mA. Adapun tegangan maksimal yang dapat di baca adalah hingga ±26VDC meskipun modul hanya menggunakan tegangan sumber VCC 3 atau 5V.
Untuk komunikasi dengan mikrokontroller, sensor menggunakan komunikasi I2C yang dapat dihubungkan dengan Arduino. Dengan kita hanya menggunakan 2 pin saja yaitu, SDA pada pin A4 dan SCL pada pin A5.
Sebuah resistor shunt dengan nilai 0.1 Ohm 1% 2W digunakan dalam papan modul . INA219 sensor modul memiliki dua pin input IN+ dan IN- yang terhubung ke resistor shunt. Untuk dapat menggunakan modul , kita membutuhkan sebuah library yang akan mempermudah pemrograman Arduino.
INA219 Skematik
Untuk rangkaian antara Arduino Uno dan INA219 adalah sangat sederhana, anda hanya menghubungkan:
- VCC ke 5V atau 3V.
- SCA ke pin A4
- SCL ke pin A5
- serta GND ke GND.
Perhatikan gambar berikut, dalam contoh beban dis adalah mengukur arus yang mengalir ke motor DC, anda dapat menggantikan beban kedalam perangkat yang lain seperti LED, Lampu, Perangkat Elektronik lain dan sebagainya:
![]() |
INA219 Skematik |
INA219 Arduino Library Download
Library INA2019 Sensor telah tersedia di library manager Arduino IDE. Silahkan tambahkan ke Arduino IDE anda dengan cara klik menu Sketch > Include Library > Manage Libary.
Kemudian silahkan cari Adafruit INA219, dan klik install.
Sedikit merujuk ke library , secara dasarnya alamat I2C yang ditetapkan didalam library adalah 0x40. Ini dalam arti jumper A0 dan A1 dalam kondisi terbuka.
Jika jumper A0 terhubung dan A1 terbuka, gunakan alamat 0x41. Jika jumper A0 terbuka dan A0 terhubung, gunakan alamat 0x44. Jika kumper A0 dan A1 terhubung, gunakan alamat 0x45.
Library , selain untuk mengukur arus pada resistor shunt, dapat juga untuk membaca tegangan shunt, tegangan load dan tegangan bus. Perbedaan tegangan dapat anda lihat pada gambar berikut:
Program Arduino INA219
Setelah program dirangkai dengan beban (terserah anda, bisa lamu, LED, motor dan sebagainya), sedikit saya memberikan gambaran dalam saya menggunakan alamat I2C dari modul sensor adalah 0x41. Pada fisik modul saya menghubungkan jumper A0.
Teman-teman boleh menghubungkan jumper-jumper tersebut, boleh juga tidak karena semua kondisi memiliki alamat tersendiri. Alamat tersebut tinggal di tentukan saja dari program.
- Jika jumper A0 dan A1 terbuka, maka gunakan alamat 0x40
- Jika jumper A0 terhubung dan A1 terbuka, gunakan alamat 0x41
- Jika jumper A0 terbuka dan A0 terhubung, gunakan alamat 0x44
- Jika kumper A0 dan A1 terhubung, gunakan alamat 0x45
Berikut adalah kode yang saya sediakan dansilahkan upload ke arduino program berikut sebagai berikut.
//by Arduino32
#include <Wire.h>
#include <Adafruit_INA219.h>
// Adafruit_INA219 ina219; // Alamat default adalah 0x40, jumper A0 dan A1 terbuka
Adafruit_INA219 ina219 (0x41); // jika jumper A0 dihubungkan
// Adafruit_INA219 ina219 (0x44); // jika jumper A1 dihubungkan
// Adafruit_INA219 ina219 (0x45); // jika jumper A0 and A1 dihubungkan
void setup(void)
{
Serial.begin(9600);
if (! ina219.begin()) {
Serial.println("Gagal mendapatkan modul INA219");
while (1) {
delay(10);
}
}
// Secara default, kalibrasi ada pada (32V, 2A).
// Jika ingin lebih presisi pembacaan arus, Gunakan setingan 32V, 1A
// ina219.setCalibration_32V_1A();
// Jika ingin lebih presisi lagi, Gunakan setingan 16V, 400mA
// ina219.setCalibration_16V_400mA();
}
void loop(void)
{
float tegangan_shunt = 0;
float tegangan_bus = 0;
float arus = 0;
float tegangan_load = 0;
float daya = 0;
tegangan_shunt = ina219.getShuntVoltage_mV();
tegangan_bus = ina219.getBusVoltage_V();
arus = ina219.getCurrent_mA();
daya = tegangan_bus * arus;
tegangan_load = tegangan_bus + (tegangan_shunt / 1000);
Serial.print("BUS: ");
Serial.print(tegangan_bus);
Serial.print(" V ");
Serial.print("SHUNT: ");
Serial.print(tegangan_shunt);
Serial.print(" mV ");
Serial.print("LOAD: ");
Serial.print(tegangan_load);
Serial.print(" V ");
Serial.print("ARUS: ");
Serial.print(arus);
Serial.print(" mA ");
Serial.print("DAYA: ");
Serial.print(daya);
Serial.print(" mW");
Serial.print(" atau ");
Serial.print(daya / 1000);
Serial.println(" W");
delay(100);
}
Setelah program selesai di upload, silahkan buka serial monitor. Maka anda akan mendapatkan hasil pembacaan sebagai berikut:
INA219 Datasheet Download
Tags:
- ina219 arduino library
- sensor ina219 arduino
- spesifikasi sensor ina219
- pengertian sensor ina219
- cara kerja sensor ina219
- fungsi sensor ina219
- ina219 datasheet