Tutorial Menggunakan Sensor Tegangan 25VDC (Voltage Divider Sensor) pada Arduino Uno, Arduino Mega dan ESP32

Prinsip Kerja

Sensor tegangan 25VDC (Voltage Divider) adalah rangkaian pembagi tegangan sederhana yang digunakan untuk mengukur tegangan DC hingga 25 Volt dengan cara menurunkannya ke level yang aman untuk dibaca oleh mikrokontroler seperti Arduino atau ESP32. Pada dasarnya, sensor ini terdiri dari dua resistor yang disusun seri dan memanfaatkan prinsip pembagian tegangan.

Dalam hal ini sensor memiliki 2 sensor senilai 30K dan 7.5K yang dimana ketika input bernilai 25V maka output tegangan dari sensor atau modul pembagi tegangan ini adalah senilai 5V yang akan sesuai dengan tegangan yang dibutuhkan oleh modul mikrokontroler. Apabila digunakan untuk modul ESP32 atau lainnya yang memiliki tegangan kerja 3.3V maka harus diperhitungkan tegangan inputnya agar tidak terjadi overvoltage dari tegangan kerja modul mikrokontroler.

Vout​=Vin​× R2​/(R1+R2​)​​

Diatas adalah rumus yang dapat digunakan sebagai acuan perhitungan dalam melakukan pembagian tegangan menggunakan dua resistor.

Spesifikasi

ParameterSpesifikasi
Ukuran28 x 14 x 13 mm (P x L x T)
Berat4 gram
Tegangan Input0–25V DC
Rentang Deteksi Tegangan0,024 – 25V DC
Resolusi Tegangan Analog0,00489V

Contoh Penerapan

  • Panel Surya
    Digunakan untuk memantau tegangan baterai atau panel surya agar pengguna tahu kapan daya hampir habis atau penuh.
  • Proyek Arduino
    Cocok untuk proyek DIY seperti monitoring power bank atau sistem alarm tegangan rendah.
  • Peralatan Industri
    Dipasang pada sistem kontrol untuk mendeteksi drop tegangan atau gangguan listrik.
  • Alat Elektronik Portabel
    Membantu memantau tegangan secara terus-menerus agar alat tidak rusak karena overdischarge.
  • Catu Daya (Power Supply)
    Memastikan tegangan output stabil, terutama pada alat-alat elektronik yang butuh ketelitian.

PinOut Sensor

Nama PinDeskripsi
VCCTerminal positif dari sumber tegangan eksternal (0–25V) yang akan diukur
GNDTerminal negatif dari sumber tegangan eksternal (ground)
SPin output sinyal analog, dihubungkan ke pin analog pada Arduino
+Tidak terhubung (tidak digunakan, biasanya dibiarkan kosong)
Pin ground, dihubungkan ke GND Arduino

Wiring Diagram Sensor Tegangan 25VDC dengan Arduino UNO

Pin Modul Voltage SensorFungsiTerhubung ke Arduino UNO
+ (Input VDC)Tegangan yang akan diukur(Ke sumber tegangan ≤25V)
- (GND input)Ground dari sumber tegangan(Ke ground sumber tegangan)
SOutput analog (A0 ADC input)
- (GND Modul)Ground modul & sensorGND
+ (VCC Modul)Tegangan kerja internal sensor
int analogInput = A0;
float vout = 0.0;
float vin = 0.0;
float R1 = 30000.0;  // Ohm
float R2 = 7500.0;   // Ohm
int value = 0;

void setup() {
  pinMode(analogInput, INPUT);
  Serial.begin(9600);
  Serial.println("DC VOLTMETER");
}

void loop() {
  value = analogRead(analogInput);
  vout = (value * 5.0) / 1023.0;  // Ubah 1024 jadi 1023 agar lebih presisi

  // Hindari pembacaan saat tegangan sangat kecil (noise)
  if (vout < 0.09) {
    vin = 0.0;
  } else {
    vin = vout / (R2 / (R1 + R2));
  }

  Serial.print("INPUT V = ");
  Serial.println(vin, 2);  // 2 angka di belakang koma
  delay(500);
}

Wiring Diagram Sensor Tegangan 25VDC dengan Arduino MEGA

Pin Modul Voltage SensorFungsiTerhubung ke Arduino MEGA
+ (Input VDC)Tegangan yang akan diukur(Ke sumber tegangan ≤25V)
- (GND input)Ground dari sumber tegangan(Ke ground sumber tegangan)
SOutput analog (A0 ADC input)
- (GND Modul)Ground modul & sensorGND
+ (VCC Modul)Tegangan kerja internal sensor
int analogInput = A0;  // Bisa diganti A0–A15 di Arduino Mega
float vout = 0.0;
float vin = 0.0;
float R1 = 30000.0;  // Ohm
float R2 = 7500.0;   // Ohm
int value = 0;

void setup() {
  pinMode(analogInput, INPUT);
  Serial.begin(9600);
  Serial.println("DC VOLTMETER - Arduino Mega");
}

void loop() {
  value = analogRead(analogInput);
  vout = (value * 5.0) / 1023.0;

  if (vout < 0.09) {
    vin = 0.0;
  } else {
    vin = vout / (R2 / (R1 + R2)); 
  }

  Serial.print("Tegangan DC = ");
  Serial.print(vin, 2);
  Serial.println(" V");

  delay(500);
}

Wiring Diagram Sensor Tegangan 25VDC dengan ESP32

Pin Modul Voltage SensorFungsiTerhubung ke ESP32
+ (Input VDC)Tegangan yang akan diukur(Ke sumber tegangan ≤25V)
- (GND input)Ground dari sumber tegangan(Ke ground sumber tegangan)
SOutput analog (0–3.3V)GPIO 32 (A0 ADC input)
- (GND Modul)Ground modul & sensorGND ESP32
+ (VCC Modul)Tegangan kerja internal sensor
const int analogPin = 32;  // Gunakan pin ADC ESP32 (GPIO 32–39)
float teganganADC = 0.0;
float teganganAsli = 0.0;
float faktorKalibrasi = 5.0;  

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP32 DC Voltmeter (Modul Sensor)");
}

void loop() {
  int adcValue = analogRead(analogPin);
  teganganADC = (adcValue * 3.3) / 4095.0;  // ADC 12-bit ESP32
  teganganAsli = teganganADC * faktorKalibrasi;

  Serial.print("Tegangan Input: ");
  Serial.print(teganganAsli, 2);
  Serial.println(" V");

  delay(500);
}

Leave a Reply

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