Home » Blog » Sensor Tegangan 0-25V (Voltage Divider)

Sensor Tegangan 0-25V (Voltage Divider)

Halo teman-teman. Kali ini kita belajar bagaimana kita bisa menggunakan Voltage Sensor atau Sensor Tegangan dengan konsep Voltage Divider

Kode Program tanpa LCD I2C

#define PIN_ANALOG A0 // Deklarasi pin analog
 
float tegangan_adc = 0.0; // Deklarasi variabel float untuk ADC
float tegangan_input = 0.0; // Deklarasi variable float untuk input

float R1 = 30000.0; // Nilai resistor yang ada pada divider
float R2 = 7500.0; // Nilai resistor yang ada pada divider

float referensi_tegangan = 5.0; // Referensi tegangan

int nilai_adc; // Nilai ADC ketika tidak ada sumber daya eksternal
 
void setup()
{
   Serial.begin(9600); // Serial Monitor Baud Rate
   Serial.println("Ayo Subscribe ke ProgressTech");
}
 
void loop(){
   nilai_adc = analogRead(PIN_ANALOG); // Membaca input analog
   tegangan_adc =(nilai_adc * referensi_tegangan) / 1024.0; // Menentukan tegangan pada input ADC
   tegangan_input = tegangan_adc / (R2/(R1+R2)); // Hitung nilai tegangan pada input divider 
   
  Serial.print("Tegangan Input : ");
  Serial.println(tegangan_input, 2);
  
  delay(1000);
}

Kode Program dengan LCD I2C

#define PIN_ANALOG A0 // Deklarasi pin analog
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Set Alamat I2C khusus untuk 0x27 dan Ukuran LCD
 
float tegangan_adc = 0.0; // Deklarasi variabel float untuk ADC
float tegangan_input = 0.0; // Deklarasi variable float untuk input

float R1 = 30000.0; // Nilai resistor yang ada pada divider
float R2 = 7500.0; // Nilai resistor yang ada pada divider

float referensi_tegangan = 5.00; // Referensi tegangan

int nilai_adc; // Nilai ADC
 
void setup()
{
   Serial.begin(9600); // Serial Monitor Baud Rate
   Serial.println("Ayo Subscribe ke ProgressTech");

  lcd.begin();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Berikan Like");
  lcd.setCursor(0, 1);
  lcd.print("Ayo subscribe");
  delay(1000);
}
 
void loop(){
   nilai_adc = analogRead(PIN_ANALOG); // Membaca input analog
   tegangan_adc = (nilai_adc * referensi_tegangan) / 1024.0; // Menentukan tegangan pada input ADC
   tegangan_input = tegangan_adc / (R2/(R1+R2)); // Hitung nilai tegangan pada input divider 
   
  Serial.print("Tegangan Input : ");
  Serial.println(tegangan_input, 2);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Tegangan ");
  lcd.setCursor(0, 1);
  lcd.print(tegangan_input, 2);
  lcd.print(" V");
  
  delay(1000);
}

Leave a Reply

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