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);
}