Penjelasan Singkat
Pada tutorial kali ini hanya akan dibahas untuk mengakses sensor Arus bolak-balik menggunakan module ACS712 menggunakan
mikrokontroler Arduino Uno.
Module ACS712 merupakan module yang difungsikan untuk mensensing arus pada suatu rangkaian tegangan bolak balik.
Module ini mudah didapatkan di toko – toko elektronika maupun toko online seperti tokopedia, bukalapak dengan harga yang terjangkau.
Dijual dalam bentuk package PCB dan IC only, dan saya sarankan membelinya yang sudah package PCB sehingga tidak perlu repot-
repot dalam hal pengkoneksiannya ke mikrokontroler.
Dipasaran banyak dijual sensor arus ini dalam bentuk modul, seperti gambar dibawah ini
Karakateristik ACS712
Arduino Uno
Komputer + Software IDE Arduino
Modul ACS712-5A
Breadboard
Kabel Jumper
Baca juga : Project multiple Nodes nRF24L01+ Wireless DHT11 with Arduino Uno
Modul ACS712-5A merupakan modul sensor yang sudah dipackage dengan PCB sehingga praktis dan mudah dalam penggunaannya.
Berikut gambarnya :
Learn more
Langkah – langkah dari mengakses sensor arus ini yang dimana sering mengalami ketidak stabilan output maka dilakukan beberapa
langkah sebagai berikut :
1. Data dari modul sensor ini yaitu tegangan analog yan akan simpan pada variabel data misal “Voutput”
2. Setelah itu nilai variable Voutput – 2.50, dan kemudian disimpan pada variabel baru “Voa” dan wajib diabsolutkan.
3. Setelah itu di dapat Voa/0.185 (sesuai dengan datasheet sensor) dan kemudian disimpan pada var “Amp(A)”.
4. Nilai var Amp(A) diubah menjadi nilai (mA) dengan “Amp/1000” .(dikarenakan untuk keperluan data dalam pengkalibrasian)
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 2/17
1/31/2019 Tutorial Arduino mengakses sensor arus
1. Jikakalau waktu lebih kecil dibanding dengan waktu setting dalam proses penjumlahan Nilai var Amp(mA) yang dilakukan secara
berkala.
2. Jika di atas waktu tersetting, akan dilakukan pembagian nilai antara Jumlah total Amp(mA) yang telah di dapatkan di bagi dengan nilai
waktu tersetting.
3. Sehingga didapatkan nilai rata-rata, di simpan pada var calibration
Nilai calibration ini di gunakan untuk mengurangi ketidak stabilan pada output sensor arus ACS712. Sehingga di dapatkan nilai Arus fix
dengan mengurangi nilai Amp(mA)-calibration.
/* --- www.nyebarilmu.com --- */
double arus_temporary=0.0;
float adc_Volt, cal_value,temp;
unsigned long waktu_kalibrasi=0, kalibrasi=600;
boolean calibration=false;
void setup(){
Serial.begin(9600); //baud komunikasi serial monitor 9600bps
Serial.println("Sistem dimulai");
Serial.print("waktu kalibrasi :");
Serial.println(kalibrasi);
}
void data_olah(){
temp = analogRead(A0) * (5.0 / 1023.0); //konversi tegangan analog menjadi digital
adc_Volt = abs(temp - 2.50); //mengambil selisih tegangan pada zero point
adc_Volt /= 0.185; //Arus dalam A
adc_Volt *= 1000; //merubah Arus A ke mA
if(waktu_kalibrasi < kalibrasi){
waktu_kalibrasi++;
Serial.print("Waktu Kalibrasi:");
Serial.println(waktu_kalibrasi);
arus_temporary += adc_Volt; //penjumlahan arus output sensor
calibration = true;
}else if(calibration == true){
cal_value = arus_temporary/kalibrasi; //pembagian nilai keseluruhan dengan waktu
calibration = false;
}
if(calibration == false){
adc_Volt -= cal_value;
adc_Volt = abs(adc_Volt);
Serial.println("Satuan");
Serial.print(" mA :");
Serial.println(adc_Volt);
adc_Volt /= 1000;
Serial.print(" A :");
Serial.println(adc_Volt);
Serial.println(" ");
}
}
void loop(){
data_olah();
delay(500); //waktu tunda per data
}
Keterangan untuk nilai kenaikan tegangan output disesuaikan dengan tipe sensor yang digunakan, untuk 5A (185mV), 20A (100mV),
dan 30A (66mV).
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 3/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Arduino Uno
Komputer + Software IDE Arduino
Modul ACS712-5A
LCD 16×2 dan PCF8574
Breadboard
Kabel Jumper
Rangkaian pendukung kestablian pembacaan (dioda 1n4148, dan capasito 100nF)
Rangkaian
Konten Terkunci!
Buka konten ini hanya dengan tombol sharing di bawah ini.
SHARE
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 4/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Share this:
106
Related Posts
Tutorial Arduino mengakses module accelerometer & Gyroscope MPU6050
Project Arduino gas leak detector via SMS Module SIM800L v.2
Reply
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 5/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Reply
ashiffajarr says:
23 August 2017 at 1:25 pm
ini untuk arus ac ya? untuk ngukur arus dc perbedaanya dimana kira kira.
Thx
Reply
untuk pengukuran arus DC, dapat memanfaatkan sensor INA219 (penghitung arus hingga 3,2A)
Reply
ashiffajarr says:
24 August 2017 at 11:10 am
Reply
Reply
Mas kenapa hasilnya ketika sumber listrik mati tidak 0, bagaimana mengatasi hal tersebut. Terimakasih sebelumnya
Reply
admin-kece says:
11 September 2017 at 3:13 pm
jadi jika nilai dibawah “0”, wajib data yang ditampilkan itu =0,
Reply
if di taruk sebelah mananya ya mas maaf masih newbie karena di tampilan serial monitor selalu -0.01 dan ketika di beri beban
lampu masih tetap nilainya tidak ada perubahan
Reply
admin-kece says:
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 6/17
1/31/2019 Tutorial Arduino mengakses sensor arus
26 January 2018 at 6:28 am
untuk penggunaan “if” atau pengkondisian itu merupakan pengembangan dari program sederhana
misal sensor melebihi dari nilai default, maka ada buzzer atau alarm,
Reply
Alfi says:
13 September 2017 at 2:33 am
mas kalau boleh tau sensor acs 712 ini bisa mendeteksi arus sekitar 11mA-100mA? Mohon petunjuknya
Reply
admin-kece says:
13 September 2017 at 12:08 pm
kalo untuk ACS712 lebih efektif deteksi arus AC, kalo yang DC cocoknya di artikelnya satunya.
https://www.nyebarilmu.com/cara-mengukur-tegangan-arus-dc-menggunakan-sensor-ina219/
Reply
ayub says:
1 February 2018 at 9:42 pm
kalau misal arus AC gimana gan? untuk mendeteksi sekitar range di atas? apakah sensor nya tetap bisa mendeteksi arus yang
kecil?
Reply
admin-kece says:
2 February 2018 at 3:26 am
kalo arusny kecil bisa nyesuaiin tipe ny, dikarenakan itu berpengaruh terhadap ketelitian pembacaan,
Reply
ayub says:
2 February 2018 at 7:30 am
admin-kece says:
3 February 2018 at 4:17 pm
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 7/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Bayu Adi Saputro says:
16 October 2017 at 10:00 am
Selamat malem gan. Saya bayu, Saya sedang membuat aplikasi android (app inventor) untuk membaca sensor arus acs712 dengan
teleduino internet, tetapi masih terkendala belum bisa mengirimkan data pembacaan sensornya gan. Mohon infonya gan
pencerahannya. Terimakasih salam kenal gan.
Reply
admin-kece says:
16 October 2017 at 12:05 pm
saran ane, paling simpel dan gampang dipratekin mending gunain “BLYNK” aja gan,
Reply
Kebetulan gan lagi riset nya pakai app inventor gan, makasih sarannya gan. Mungkin ada tutorialnya gan untuk yang pakai app
inventor. Syukur2 agan bikinin tutorial nya yang baca acs712 hehehe
Reply
Trimaguna says:
10 December 2017 at 11:40 pm
Gan maaf saya mau nanya… Kalo mengukur arus ac gak perlu memakai trafo ya? Karna kan arduino itu akan rusak jika tidak di beri
trafo
Reply
admin-kece says:
12 December 2017 at 5:21 am
output dari sensor ini kan, tegangan DC analog dari range maksimal 5 v.
Reply
Trimaguna says:
17 December 2017 at 11:38 am
Trus kalo mau nambahin pake lcd gimana ya gan? Bentuk rangkaian dan kodingannya gimana ya gan?
Reply
admin-kece says:
17 December 2017 at 5:04 pm
Kalo untuk ditambahkan interface penampil LCD, bisa dicek dulu gan di link ini
https://www.nyebarilmu.com/cara-mengakses-modul-display-lcd-16×2/
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 8/17
1/31/2019 Tutorial Arduino mengakses sensor arus
setelah dari bentuk rangkaiannya tinggal digabung, dikarenakan sensor menggunakan fitur ADC, sedangkan LCD menggunakan i2c
(saran ane)
#include “LiquidCrystal_I2C.h”
void setup(void) {
Serial.begin(9600);
lcd.init(); // prosedur mulainya penampilan LCD
lcd.backlight();
baca_sensor = analogRead(A0); //pembacaan sensor
lcd.setCursor(00, 00);
lcd.print(“www.nyebarilmu.com”);
lcd.setCursor(00, 1);
lcd.print(“Trial Sen.Arus”);
delay(3000);
lcd_clear();
}
void loop() {
for (int x = 00; x < 150; x++){ //untuk mendapatkan sampling 150x sampling = sampling + baca_sensor; //penambahan hasil
pembacaan delay (3); //waktu jeda 3ms } rata2=sampling/150.0; //untuk mendapatkan nilai rata-rata //((rata2 * (5.0 / 1024,0))
merupakan konversi tegangan pembacaan 0-5 volt //2.5 = merupakan tegangan default sensor tanpa pembacaan //0.185v(185mV)
merupakan nilai kenaikan tegangan output ketika 1A arus mengalir pada input hasilnilai = ((rata2 * (5.0 / 1024.0)) - 2.5 )/0.185;
Serial.print(hasilnilai);//Print the read current on Serial monitor lcd.setCursor(00, 00); lcd.print("Deteksi Arus :"); lcd.setCursor(00, 1);
lcd.print(hasilnilai); lcd.setCursor(4, 1); lcd.print("A"); delay(50); }
Reply
Reply
admin-kece says:
27 December 2017 at 5:11 pm
ternyata kalo saya tulis “0” kalo diposting artikelnya jadi hilang,
Reply
sahid says:
12 July 2018 at 11:57 pm
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 9/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Reply
admin-kece says:
14 July 2018 at 3:32 pm
wait gan, ane cek dulu koding program yg di postingan trs ane update pake video sekalian, thanks
Reply
said says:
13 July 2018 at 12:35 am
Reply
Reply
admin-kece says:
29 December 2017 at 7:31 am
tapi yang perlu diperhatikan tipe sensor arus yang digunakan, dikarenakan maksimum 20A,
maka saran ane belinya module tipe ACS712-20
Reply
Ok siap
Untuk output hasilnilai pada contoh coding apakah sudah dalam satuan ampere ?
Reply
admin-kece says:
5 January 2018 at 11:43 am
Reply
Fariz says:
17 January 2018 at 8:07 am
Terimakasih atas ilmu yg dibagikan. Sy mau tanya, sampling yg dilakukan 150x itu dilakukan dalam siklus 1 cycle atau gimana ya?
Reply
admin-kece says:
26 January 2018 at 6:28 am
itu mudah gan, gunain fungsi “for” saja dalam program yang akan dibuat
Reply
farda says:
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 10/17
1/31/2019 Tutorial Arduino mengakses sensor arus
18 February 2018 at 3:05 pm
maaf mau bertanya, mengapa rangkaian tidak menggunakan relay? dan bagaimana jika lampu yg digunakan lebih dari 1 dan disusun
dengan rangkaian paralel? terimakasih sebelumnya, artikel ini sgt membantu
Reply
admin-kece says:
18 February 2018 at 5:53 pm
Kalo penggunaan relay itu digunakan sebagai aktuator, misal sebagai saklar on/off lampu
misal ada beberapa lampu yang disusun paralel, maka dirangkaian itu yang sama adalah tegangan nya dan yang beda di tiap lampu
yaitu arusnya.
dikarenakan jika lampu yang dipasang tiap watt nya beda2, maka di tiap lampu harus disediakan sensor arus per lampu,
Reply
Pramudya says:
18 February 2018 at 7:42 pm
Reply
admin-kece says:
19 February 2018 at 1:59 pm
mengingat sifat tegangan listrik juga kadang sering ngedrop saat pertama kali mendapat beban,
Reply
Yusuf says:
15 March 2018 at 6:27 am
Reply
admin-kece says:
20 March 2018 at 3:52 pm
itu minus hasilny dari program arduino atau pembacaan multimeternya gan?
dikarenakan saran ane memastikan sensor arusny pertama mending gunain multimeter/voltmeter dulu,
Reply
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 11/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Yusuf says:
26 March 2018 at 6:12 am
Reply
iya sama saya juga knapa min ya arusnya padahal saya kasih masukan arus dari adaptor 2amper knapa hasilnya -0.28 gtu
Reply
Sefeka says:
26 April 2018 at 6:29 am
Gan mau banya dong fungsinya ditambah beban lampu disitu apa ya? Biar arusnya ga terlalu besar gt?
Reply
admin-kece says:
5 May 2018 at 1:31 pm
itu sesuai dengan hukum kirchoff arus gan, untuk mengukur arus memang harus ada beban nya,
Reply
Reply
admin-kece says:
24 May 2018 at 2:05 pm
Reply
agung says:
19 May 2018 at 4:10 pm
assalamualaikum mas mau tanya ini kok keluaran di lcd 7. 8 . 9 . 10 . tidak beraturan ini maksutnya apa ya mas terimakasih
Reply
agung says:
20 May 2018 at 7:11 am
assalamualaikum ini kok yang saya coba di lcd kok dii serial monitor nya nampilin 50 . 60 ya mas apakah itu frequenci nya terimakasih
boleh tanya tanya lewat wa atau imel mas terimakasih
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 12/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Reply
admin-kece says:
24 May 2018 at 1:50 pm
Reply
admin-kece says:
24 May 2018 at 2:02 pm
Reply
Reply
admin-kece says:
9 June 2018 at 4:40 pm
Reply
kenapa ya hasil dari serial monitor nya malah minus. padahal di multimeternya ngga
Reply
admin-kece says:
9 June 2018 at 4:38 pm
Reply
admin-kece says:
6 July 2018 at 7:33 am
Reply
void setup() {
Serial.begin(9600);
}
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 13/17
1/31/2019 Tutorial Arduino mengakses sensor arus
void loop() {
float average = 0;
for(int i = 0; i < 1000; i++) {
average = average + (.0264 * analogRead(A0) -13.51);//for the 5A mode,
delay(1);
}
Serial.print("Current :");
Serial.print(average);
Serial.println("mA");
}
Reply
admin-kece says:
9 June 2018 at 4:37 pm
thanks
Reply
Nah dr hasil itu, mau saya buat persamaan least square nya buat kalibrasi.
Itu nanti klo sy udh dpt persamaannya, masukin persamaannya kemana? Biar hasil sensor sama multimeter sama gan.
Reply
SALMA says:
3 July 2018 at 8:46 am
gan klo saya dah dapet data nya buat kalibrasi dan udh dapet persamaan least square nya.. saya mau masukin ke kodingan arduino nya
gmn ya?
misalnya ketemu hasilnya itu Y = 2.55 + 0.5X
Reply
gan kok udah ane share gak keluar program arduino nya?
Reply
admin-kece says:
12 July 2018 at 5:25 pm
sorry gan, ternyata ada script yg error, ane perbaiki dulu, thanks
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 14/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Reply
admin-kece says:
12 July 2018 at 5:36 pm
Reply
ayi says:
23 July 2018 at 7:23 pm
gan ane mau bikin ta nih, acs712 dan arduino, tapi si outputnya harus ke web thinkspeak, tau cara koneksiin programnya ke web
thinkspeak ga ? terimakasih
Reply
admin-kece says:
20 August 2018 at 5:57 pm
pernah gan,
Reply
Indra says:
26 September 2018 at 6:11 pm
Malam gan saya coba menggunakan acs712-30AT untuk sensor trip saat amper tinggi contoh saya set di 6 amper apabila melebihi 6
amper maka relay on gimana cara codingnya terima kasih
Reply
Reply
Leave a Reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Search … SEARCH
POPULAR POST
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 15/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Project Arduino gas leak detector via SMS Module SIM800L v.2
CATEGORIES
Electronics (14)
Mari bergabung dan berlanggan website ini via Email, Jangan sampai ketinggalan artikel terbarunya yaa!
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 16/17
1/31/2019 Tutorial Arduino mengakses sensor arus
Email Agan
SUBSCRIBE
https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-arus/ 17/17