Sensor arus 30Aini merupakan modul sensor untuk mendeteksi besar arus yang mengalir lewat terminal block menggunakan current sensor chip ACS712-30yang memanfaatkan efek Hall.

Besar arus maksimum yang dapat dideteksi sebesar 30Adi 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 +30A atau 0,5V pada arus sebesar −30A (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 83,333 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:


Contoh cara menyambungkan sensor arus ini dengan Arduino Uno.


Besar arus dapat dibaca sbb.:
intsensorValue;  // sensor value by ADC, 10-bit (0-1023)

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
int current = (int)((float)((sensorValue / 82) / 3)));
Serial.print(current, DEC ); // prints current value
Serial.println(" mA");
delay(100); // wait 100 ms fornext reading
}