- Material Diperlukan
- Diagram Sirkuit
- Grafik Batang LED
- Program Arduino untuk Pemantauan Tegangan Baterai:
- Cara Kerja Indikator Tegangan Baterai
Baterai datang dengan batas tegangan tertentu dan jika tegangan melampaui batas yang ditentukan saat pengisian atau pengosongan, masa pakai baterai akan terpengaruh atau berkurang. Setiap kali kita menggunakan proyek bertenaga baterai, terkadang kita perlu memeriksa level tegangan baterai, apakah perlu diisi atau diganti. Sirkuit ini akan membantu Anda memonitor tegangan baterai Anda. Indikator tegangan baterai Arduino ini menunjukkan status baterai dengan menyalakan LED pada Grafik Batang LED 10 Segmen sesuai dengan tegangan baterai. Ini juga menunjukkan tegangan baterai Anda pada LCD yang terhubung ke Arduino.
Material Diperlukan
- Arduino UNO
- 10 Segmen Grafik Batang LED
- LCD (16 * 2)
- Potensiometer-10k
- Resistor (100ohm-10; 330ohm)
- Baterai (untuk diuji)
- Menghubungkan kabel
- Adaptor 12v untuk Arduino
Diagram Sirkuit
Grafik Batang LED
Grafik batang LED hadir dalam ukuran standar industri dengan konsumsi daya yang rendah. Bilah dikategorikan untuk intensitas cahaya. Produk itu sendiri tetap dalam versi yang sesuai dengan RoHS. Ini memiliki tegangan maju hingga 2.6v. Disipasi daya per segmen adalah 65mW. Suhu pengoperasian grafik batang LED adalah -40 ℃ hingga 80 ℃. Ada banyak aplikasi untuk grafik batang LED seperti peralatan Audio, panel Instrumen, dan tampilan pembacaan digital.
Diagram Pin
Konfigurasi Pin
Program Arduino untuk Pemantauan Tegangan Baterai:
The lengkap kode Arduino dan Demonstrasi Video diberikan pada akhir artikel ini. Di sini kami telah menjelaskan beberapa bagian penting dari kode.
Di sini, kami mendefinisikan perpustakaan LCD dan menentukan pin LCD yang akan digunakan dengan Arduino. Input analog diambil dari pin A4 untuk pengecekan voltase baterai. Kami telah menetapkan nilai sebagai Float untuk mendapatkan tegangan hingga dua desimal.
#include
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // array nomor pin yang LED dipasang int pinCount = 10; // jumlah pin (yaitu panjang array)
Menyiapkan LCD dan pin analog (A0, A1, A2, A3) sebagai pin OUTPUT.
void setup () {Serial.begin (9600); // membuka port serial, menyetel kecepatan data ke 9600 bps lcd.begin (16, 2); //// mengatur jumlah kolom dan baris LCD: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Level Tegangan"); }
Di sini, kami membuat fungsi untuk menggunakan grafik batang LED untuk digunakan secara sederhana, Anda bahkan dapat menyalakan LED dengan memprogramnya satu per satu, tetapi kodenya menjadi panjang.
void LED_function (int stage) {untuk (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } untuk (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // penundaan (30); }} Pada bagian ini, kita telah membaca nilai tegangan dengan menggunakan pin analog. Kemudian, kami mengubah nilai analog menjadi nilai tegangan digital dengan menggunakan rumus konversi analog ke digital dan menampilkannya lebih lanjut pada LCD.
// Rumus konversi untuk tegangan analogValue = analogRead (A4); Serial.println (analogValue); penundaan (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Voltage ="); lcd.print (input_voltage); Serial.println (tegangan_masuk); penundaan (100);
Menurut nilai tegangan input kami telah memberikan beberapa kondisi untuk mengontrol LED grafik batang LED. Kondisi yang bisa Anda cek di bawah ini dalam kode:
if (input_voltage <0,50 && input_voltage> = 0,00) {digitalWrite (2, HIGH); penundaan (30); digitalWrite (2, LOW); penundaan (30); // ketika tegangan nol atau rendah, LED pertama akan menunjukkan dengan berkedip} lain jika (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } lain jika (input_voltage <1.50 && input_voltage> = 1.00) {LED_function (3); } lain jika (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } lain jika (input_voltage <2.50 && input_voltage> = 2.00) {LED_function (5); } lain jika (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } lain jika (input_voltage <3,50 && input_voltage> = 3,00) {LED_function (7); } lain jika (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} lain jika (input_voltage <4,50 && input_voltage> = 4,00) {LED_function (9); } lain jika (input_voltage <5.00 && input_voltage> = 4,50) {LED_function (10); }}
Cara Kerja Indikator Tegangan Baterai
Indikator Tegangan Baterai hanya membaca nilai dari pin Arduino Analog dan mengubahnya menjadi nilai digital dengan menggunakan rumus Analog to Digital Conversion (ADC). The Arduino Uno ADC adalah resolusi 10-bit (sehingga nilai integer 0-2 ^ 10 = 1024 nilai). Artinya akan memetakan tegangan input antara 0 dan 5 volt menjadi nilai integer antara 0 dan 1023. Jadi jika kita mengalikan input anlogValue menjadi (5/1024), maka kita mendapatkan nilai digital dari tegangan input. Pelajari di sini cara menggunakan input ADC di Arduino. Kemudian nilai digital digunakan untuk menyalakan Grafik batang LED yang sesuai.
Juga, periksa Monitor level Baterai sederhana ini tanpa Mikrokontroler