Sensor arus 5 Ampereini merupakan modul sensor untuk mendeteksi besar arus yang mengalir lewat blok terminal menggunakan current sensor chipACS712-5 yang memanfaatkan efek Hall.

Besar arus maksimum yang dapat dideteksi sebesar 5A di mana tegangan pada pin keluaran akan berubah secara linear mulai dari 2,5 Volt (½×VCC, tegangan catu daya VCC= 5V) untuk kondisi tidak ada arus hingga 4,5V pada arus sebesar +5A atau 0,5V pada arus sebesar −5A (positif/negatif tergantung polaritas, nilai di bawah 0,5V atau di atas 4,5V dapat dianggap lebih dari batas maksimum). Perubahan tingkat tegangan berkorelasi linear terhadap besar arus sebesar 400 mV / Ampere.

Efek Hall adalah fenomena fisika dimana aliran listrik / elektron dalam pelat konduktor terpengaruh oleh paparan medan magnet, lengkapnya silakan baca di wikipedia tentang Hall Effect. Secara sederhana, pemanfaatan efek Hall oleh IC ACS712 ini dapat digambarkan sebagai berikut:


Anda dapat mengukur arus bolak-balik (AC / alternate current) menggunakan modul ini dengan menerapkan perhitungan yang tepat (penjelasannya agak sedikit complicated, silakan baca di sini), untuk mengukur arus bolak-balik secara praktis kami menganjurkan untuk menggunakan 5A Non-Invasive AC Current Sensor Moduleyang memang ditujukan untuk pengukuran arus bolak-balik secara non-invasive.
Contoh cara menyambungkan sensor arus ini dengan Arduino Uno.

Catatan: apabila Anda memerlukan pengukuran arus yang lebih besar, toko elektronika online kami juga menjual modul ACS712-20 yang dapat mengukur arus hingga 20 Ampere.


Besar arus searah (DC, direct current) dapat dibaca dengan mudah sbb.:

intsensorValue;  // sensor value by ADC, 10-bit (0-1023)
long current; // actual current value in mA


voidsetup() {
Serial.begin(9600); // sets the serial port to 9600
}

voidloop() {
sensorValue = analogRead(0); // readanalog input pin 0
Serial.print(sensorValue, DEC); // prints the value read
Serial.print(" = ");
// truncate max limit
if(sensorValue < 103) sensorValue = 102;
else if(sensorValue > 921) sensorValue = 922;
sensorValue -= 102;
// calculate current using integer operation
current = ((sensorValue * 1248) >> 10) - 5000;
Serial.print((int)current, DEC ); // prints current value
Serial.println(" mA");
delay(100); // wait 100 ms fornext reading
}