Pendahuluan:
Dalam tutorial ini, kita akan membahas cara membaca tegangan DC menggunakan Arduino dan sensor tegangan. Proyek ini menggunakan sensor tegangan untuk mengukur tegangan pada sumber daya listrik. Dengan menggunakan kode program yang telah disediakan, kita dapat membuat alat sederhana namun efektif untuk memonitor tegangan dalam berbagai aplikasi.
Komponen Yang Digunakan:
Berikut adalah daftar komponen yang digunakan dalam proyek ini:
- Arduino UNO – Beli Disini
- Sensor Tegangan – Beli Disini
- LiquidCrystal I2C Display (20×4 Hijau) – Beli Disini
- LiquidCrystal I2C Display (20×4 Biru) – Beli Disini
- Jumper Wires – Beli Disini
Skema Sistem:
Konfigurasi pinout:
- Arduino UNO -> Sensor Tegangan
- 5V -> VCC
- GND -> GND
- A0-> Signal
- Arduino UNO -> LCD 16×2 I2C Backpack
- 5V -> VCC
- GND -> GND
- A4-> SDA
- A5 -> SCL
Pada skema di atas, kita terhubung dengan sensor tegangan menggunakan pin analog A0 pada Arduino. Tegangan dari sumber eksternal terhubung ke pin Signal pada sensor.
Program Arduino:
#include <Wire.h> #include <LiquidCrystal_I2C.h> #define ANALOG_IN_PIN A0 float adc_voltage = 0.0; float in_voltage = 0.0; float R1 = 30000.0; float R2 = 7500.0; float ref_voltage = 5.0; int adc_value = 0; LiquidCrystal_I2C lcd(0x27, 20, 4); // I2C address 0x27, 20 columns, 4 rows void setup() { Serial.begin(115200); lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(0, 0); lcd.print("----VOLT METER-----"); lcd.setCursor(0,3); lcd.print("---Idrus Project---"); } void loop() { adc_value = analogRead(ANALOG_IN_PIN); adc_voltage = (adc_value * ref_voltage) / 1024.0; in_voltage = adc_voltage / (R2 / (R1 + R2)) ; lcd.setCursor(0, 1); lcd.print("Volt:"); lcd.print(in_voltage, 2); lcd.print("V "); delay(500); }
Penjelasan Program
- Include Library: Program ini menggunakan library
LiquidCrystal_I2C
untuk interface LCD dengan protokol I2C - Deklarasi Variabel Global:
ANALOG_IN_PIN
menunjukkan pin tempat sinyal sensor tegangan terhubung,adc_value
merupakan variable yang digunakan untuk menampung nilai analog 0-1023 dari sensor tegangan. sedangkanin_voltage
Merupakan Variabel string yang menyimpan nilai tegangan yang siap di tampilkan pada LCD. - Setup Function:
Serial.begin(115200);
: Berfungsi untuk mengaktifkan komunikasi serial pada serial monitor dengan baud rate 115200 untuk proses debug programlcd.init();
: Mengaktifkan fungsi dari LCD I2C
- Loop Function:
adc_value = analogRead(ANALOG_IN_PIN);
: Berfungsi untuk mendapatkan nilai ADC dari sensor tegangan, nilai ini akan bernilai sekitar 0-1023.Serial.println(results.value, HEX);
: Mencetak nilai hasil dekode IR dalam format heksadesimal ke Serial Monitor untuk tujuan debugging atau pemantauan.adc_voltage = (....)
danin_voltage= (....)
: Berfungsi untuk mendapatkan nilai tegangan yang akan di baca.lcd.print()
: Untuk menampilkan informasi pada LCD, Contoh : “Volt:12.00V”.delay(500);
: Memberikan keterlambatan selama 500 milidetik atau setengah detik
Pengujian:
Setelah proses upload sudah selesai kita dapat melihat data tegangan dari sensor tegangan pada serial monitor dengan kecepatan baudrate 115200
Pada pengujian hardware, nilai tegangan yang terbaca dari sensor akan ditampilkan dengan presisi dua desimal pada LCD Display.
Kesimpulan:
Dengan menyelesaikan tutorial ini, kita berhasil membuat alat sederhana untuk membaca tegangan DC menggunakan Arduino dan sensor tegangan. Proyek ini dapat diaplikasikan dalam pemantauan tegangan sederhana pada berbagai aplikasi. Proyek ini juga dapat dijadikan dasar untuk pengembangan lebih lanjut.