- Vật liệu cần thiết
- Sơ đồ mạch
- Đồ thị thanh LED
- Chương trình Arduino để theo dõi điện áp pin:
- Hoạt động của chỉ báo điện áp pin
Pin có một giới hạn điện áp nhất định và nếu điện áp vượt quá giới hạn quy định trong khi sạc hoặc xả, tuổi thọ của pin sẽ bị ảnh hưởng hoặc giảm. Bất cứ khi nào chúng ta sử dụng một dự án chạy bằng pin, đôi khi chúng ta cần kiểm tra mức điện áp của pin, xem nó có cần phải sạc hoặc thay thế hay không. Mạch này sẽ giúp bạn theo dõi điện áp của pin. Chỉ báo điện áp pin Arduino này cho biết trạng thái của pin bằng cách phát sáng các đèn LED trên Đồ thị thanh LED 10 đoạn theo điện áp pin. Nó cũng hiển thị điện áp pin của bạn trên màn hình LCD được kết nối với Arduino.
Vật liệu cần thiết
- Arduino UNO
- Đồ thị thanh LED 10 đoạn
- LCD (16 * 2)
- Chiết áp-10k
- Điện trở (100ohm-10; 330ohm)
- Pin (sẽ được kiểm tra)
- Kết nối dây
- Bộ chuyển đổi 12v cho Arduino
Sơ đồ mạch
Đồ thị thanh LED
Biểu đồ thanh LED có kích thước tiêu chuẩn công nghiệp với mức tiêu thụ điện năng thấp. Thanh được phân loại theo cường độ sáng. Bản thân sản phẩm vẫn nằm trong phiên bản tuân thủ RoHS. Nó có điện áp chuyển tiếp lên đến 2.6v. Công suất tiêu tán trên mỗi đoạn là 65mW. Nhiệt độ hoạt động của biểu đồ thanh LED là -40 ℃ đến 80 ℃. Có nhiều ứng dụng cho biểu đồ thanh LED như Thiết bị âm thanh, Bảng điều khiển nhạc cụ và Màn hình đọc kỹ thuật số.
Sơ đồ chân
Cấu hình ghim
Chương trình Arduino để theo dõi điện áp pin:
Các hoàn chỉnh đang Arduino và trình diễn video được đưa ra ở cuối bài viết này. Ở đây chúng tôi đã giải thích một số phần quan trọng của mã.
Ở đây, chúng tôi đang xác định thư viện LCD và chỉ định các chân của LCD sẽ được sử dụng với Arduino. Đầu vào tương tự được lấy từ chân A4 để kiểm tra điện áp của pin. Chúng tôi đã đặt giá trị là Float để nhận điện áp lên đến hai số thập phân.
#include
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // một mảng các số pin mà đèn LED được gắn vào int pinCount = 10; // số chân (tức là độ dài của mảng)
Thiết lập LCD và các chân analog (A0, A1, A2, A3) làm chân OUTPUT.
void setup () {Serial.begin (9600); // mở cổng nối tiếp, đặt tốc độ dữ liệu là 9600 bps lcd.begin (16, 2); //// thiết lập số cột và hàng của màn hình LCD: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Mức điện áp"); }
Ở đây, chúng tôi tạo một hàm sử dụng biểu đồ thanh LED để sử dụng một cách đơn giản, bạn thậm chí có thể phát sáng các đèn LED bằng cách lập trình từng cái một, nhưng mã sẽ dài dòng.
void LED_ function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // delay (30); }} Trong phần này, chúng ta đã đọc giá trị điện áp bằng chân analog. Sau đó, chúng tôi đang chuyển đổi giá trị tương tự thành giá trị điện áp kỹ thuật số bằng cách sử dụng công thức chuyển đổi tương tự sang kỹ thuật số và hiển thị thêm trên màn hình LCD.
// Công thức chuyển đổi điện áp analogValue = analogRead (A4); Serial.println (analogValue); chậm trễ (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Điện áp ="); lcd.print (điện áp đầu vào); Serial.println (input_voltage); chậm trễ (100);
Theo giá trị của điện áp đầu vào, chúng tôi đã đưa ra một số điều kiện để điều khiển các đèn LED đồ thị thanh LED. Điều kiện bạn có thể kiểm tra bên dưới trong mã:
if (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); chậm trễ (30); digitalWrite (2, LOW); chậm trễ (30); // khi điện áp bằng 0 hoặc thấp, đèn LED thứ nhất sẽ hiển thị bằng cách nhấp nháy} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_ function (2); } else if (input_voltage <1.50 && input_voltage> = 1.00) {LED_mức (3); } else if (input_voltage <2.00 && input_voltage> = 1.50) {LED_mục (4); } else if (input_voltage <2.50 && input_voltage> = 2.00) {LED_mục (5); } else if (input_voltage <3,00 && input_voltage> = 2,50) {LED_cung (6); } else if (input_voltage <3,50 && input_voltage> = 3,00) {LED_cung (7); } else if (input_voltage <4,00 && input_voltage> = 3,50) {LED_cung (8);} else if (input_voltage <4,50 && input_voltage> = 4,00) {LED_cung (9); } else if (input_voltage <5,00 && input_voltage> = 4,50) {LED_cung (10); }}
Hoạt động của chỉ báo điện áp pin
Chỉ báo điện áp pin chỉ cần đọc giá trị từ chân Arduino Analog và chuyển đổi nó thành giá trị kỹ thuật số bằng cách sử dụng công thức Chuyển đổi tương tự sang kỹ thuật số (ADC). Các Arduino Uno ADC có độ phân giải 10-bit (do đó các giá trị số nguyên 0-2 ^ 10 = 1024 giá trị). Điều này có nghĩa là nó sẽ ánh xạ điện áp đầu vào từ 0 đến 5 volt thành các giá trị nguyên từ 0 đến 1023. Vì vậy, nếu chúng ta nhân anlogValue đầu vào với (5/1024), thì chúng ta sẽ nhận được giá trị số của điện áp đầu vào. Tìm hiểu tại đây cách sử dụng đầu vào ADC trong Arduino. Sau đó, giá trị kỹ thuật số được sử dụng để phát sáng Đồ thị thanh LED tương ứng.
Ngoài ra, hãy kiểm tra Màn hình mức pin đơn giản này mà không cần bất kỳ Vi điều khiển nào