Mengukur Arus AC Menggunakan Sensor ACS712 dan Menampilkannya ke LCD 16×2 Menggunakan Arduino

 

  1. Tujuan Praktikum
  • Mahasiswa dapat memahami cara kerja sensor arus ACS712 dalam mengukur arus AC.
  • Mahasiswa mampu membaca data sensor dan menampilkannya pada LCD 16×2 menggunakan Arduino.
  • Mahasiswa mampu membuat dan mensimulasikan rangkaian di Proteus.
  1. Alat dan Bahan
No Nama Komponen Jumlah
1 Arduino UNO 1 buah
2 Sensor Arus ACS712-05B 1 buah
3 LCD 16×2 1 buah
4 Potensio untuk kontras LCD (10k) 1 buah
5 Sumber AC 220V (simulasi Proteus) 1 buah
6 Resistor beban 100Ω 1 buah
7 Proteus 8 atau versi terbaru
8 Arduino IDE
  1. Dasar Teori

Sensor ACS712 menggunakan prinsip efek Hall untuk mengukur arus. Sensor ini memiliki tegangan output 2.5V saat tidak ada arus. Ketika arus mengalir, tegangan ini akan berubah proporsional terhadap besarnya arus (dalam hal ini, 185 mV per Ampere untuk versi 5A).

Untuk mengukur arus AC, kita perlu menghitung nilai RMS (Root Mean Square) dari sinyal output sensor. Nilai ini kemudian ditampilkan ke LCD 16×2 untuk visualisasi.

  1. Skema Rangkaian (berdasarkan gambar)

gambar rangkaian

Koneksi Sensor ACS712:

  • IP+ dan IP- dihubungkan ke rangkaian beban AC (dari sumber 220V dan resistor).
  • VCC → 5V Arduino
  • GND → GND Arduino
  • VOUT → A0 Arduino

Koneksi LCD 16×2 (mode 4-bit):

Pin LCD Koneksi ke Arduino
VSS GND
VDD 5V
V0 Potensio (untuk kontras)
RS Pin 7
RW GND
E Pin 6
D4 Pin 5
D5 Pin 4
D6 Pin 3
D7 Pin 2
  1. Program Arduino
#include <LiquidCrystal.h>




// Inisialisasi pin untuk LCD: RS, E, D4, D5, D6, D7

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);




const int analogPin = A0;

float sensitivity = 0.185; // 185mV per Ampere untuk ACS712 5A

float offset = 2.5; // Tegangan tengah




void setup() {

  lcd.begin(16, 2);

  lcd.print("Mengukur Arus...");

  delay(1000);

  lcd.clear();

}




void loop() {

  const int sampleCount = 1000;

  float voltage, current;

  float sum = 0;




  for (int i = 0; i < sampleCount; i++) {

    int adcValue = analogRead(analogPin);

    voltage = (adcValue * 5.0) / 1023.0;

    float acComponent = voltage - offset;

    sum += acComponent * acComponent;

    delayMicroseconds(100);

  }




  float rms = sqrt(sum / sampleCount);

  current = rms / sensitivity;




  lcd.setCursor(0, 0);

  lcd.print("Arus AC RMS:");

  lcd.setCursor(0, 1);

  lcd.print(current, 2);

  lcd.print(" A    ");




  delay(1000);

}
  1. Instruksi Praktikum
  1. Rancang rangkaian seperti gambar yang tersedia pada Proteus.
  2. Upload program di atas ke Arduino IDE dan generate file .hex.
  3. Masukkan file HEX ke modul Arduino di Proteus.
  4. Jalankan simulasi dan perhatikan nilai arus yang muncul di LCD.
  5. Catat nilai hasil pengukuran.
  1. Pertanyaan
  1. Bagaimana cara kerja sensor ACS712 dalam mengukur arus AC?
  2. Apa yang dimaksud dengan nilai RMS? Mengapa digunakan?
  3. Apa perbedaan dalam membaca arus AC dan DC menggunakan sensor ACS712?
  4. Simulasikan jika sensor ACS712 digunakan untuk mengukur arus DC
  1. Kesimpulan

Tuliskan kesimpulan berdasarkan hasil pengukuran dan pemahaman dari simulasi yang telah dilakukan.

 

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

"Daftar Hanya 50rb”
CLOSE
“Tidak perlu background programming, materi cocok untuk pemula”