- Material requerit
- Esquema de connexions
- Gràfic de barres LED
- Programa Arduino per al control del voltatge de la bateria:
- Funcionament de l'indicador de voltatge de la bateria
Les bateries tenen un límit de voltatge determinat i si el voltatge supera els límits prescrits mentre es carrega o es descarrega, la vida de la bateria es veurà afectada o reduïda. Sempre que fem servir un projecte amb bateria, de vegades hem de comprovar el nivell de tensió de la bateria, si cal carregar-lo o substituir-lo. Aquest circuit us ajudarà a controlar el voltatge de la bateria. Aquest indicador de tensió de la bateria Arduino indica l’estat de la bateria mitjançant LED brillants en un gràfic de barres de LED de 10 segments segons la tensió de la bateria. També mostra el voltatge de la bateria a la pantalla LCD connectada a l’Arduino.
Material requerit
- Arduino UNO
- Gràfic de barres LED de 10 segments
- LCD (16 * 2)
- Potenciòmetre-10k
- Resistència (100ohm-10; 330ohm)
- Bateria (per provar)
- Connexió de cables
- Adaptador de 12v per Arduino
Esquema de connexions

Gràfic de barres LED
El gràfic de barres LED presenta una mida estàndard industrial amb un baix consum d'energia. La barra es classifica per intensitat lluminosa. El producte es manté dins de la versió compatible amb RoHS. Té una tensió directa de fins a 2,6v. La dissipació de potència per segment és de 65 mW. La temperatura de funcionament del gràfic de barres LED és de -40 ℃ a 80 ℃. Hi ha moltes aplicacions per al gràfic de barres LED, com ara equips d'àudio, taulers d'instruments i pantalla de lectura digital.
Diagrama de pins
Configuració del pin

Programa Arduino per al control del voltatge de la bateria:
Al final d’aquest article es dóna el codi Arduino complet i el vídeo de demostració. Aquí hem explicat algunes parts importants del codi.
Aquí definim la biblioteca LCD i especifiquem els pins de LCD que s’utilitzaran amb l’Arduino. L'entrada analògica es pren del pin A4 per comprovar la tensió de la bateria. Hem definit el valor com a flotant per obtenir el voltatge fins a dos decimals.
#incloure
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // una matriu de números de pins als quals estan connectats els LEDs int pinCount = 10; // el nombre de pins (és a dir, la longitud de la matriu)
Configuració de pins LCD i analògics (A0, A1, A2, A3) com a pins OUTPUT.
configuració nul·la () {Serial.begin (9600); // obre el port sèrie, estableix la velocitat de dades a 9600 bps lcd.begin (16, 2); //// configureu el nombre de columnes i files de la pantalla LCD: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Nivell de tensió"); }
Aquí, fem una funció per utilitzar el gràfic de barres LED per utilitzar-lo d’una manera senzilla, fins i tot podeu encendre els LED programant-los un per un, però el codi s’allarga.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } per a (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // retard (30); }} En aquesta part, hem llegit el valor de la tensió mitjançant el pin analògic. A continuació, estem convertint el valor analògic en un valor de voltatge digital mitjançant l'ús de la fórmula de conversió analògica a digital i la mostrem més a la pantalla LCD.
// Fórmula de conversió de voltatge analogValue = analogRead (A4); Serial.println (analogValue); retard (1000); voltatge_entrada = (ValorValor * 5,0) / 1024,0; lcd.setCursor (0, 1); lcd.print ("Voltatge ="); lcd.print (input_voltage); Serial.println (voltatge_entrada); retard (100);
Segons el valor de la tensió d'entrada, hem donat alguna condició per controlar els LED de gràfics de barres LED. La condició que podeu consultar a continuació al codi:
if (input_voltage <0,50 && input_voltage> = 0,00) {digitalWrite (2, HIGH); retard (30); digitalWrite (2, BAIX); retard (30); // quan el voltatge és zero o baix, el primer LED indicarà parpellejant} else if (input_voltage <1,00 && input_voltage> = 0,50) {LED_function (2); } else if (input_voltage <1,50 && input_voltage> = 1,00) {LED_function (3); } else if (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } else if (input_voltage <2,50 && input_voltage> = 2,00) {LED_function (5); } else if (input_voltage <3,00 && input_voltage> = 2,50) {LED_function (6); } else if (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } else if (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} else if (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } else if (input_voltage <5,00 && input_voltage> = 4,50) {LED_function (10); }}
Funcionament de l'indicador de voltatge de la bateria
L’indicador de voltatge de la bateria només ha de llegir el valor del pin analògic Arduino i convertir-lo en un valor digital mitjançant la fórmula de conversió analògica a digital (ADC). L' Arduino Uno ADC té una resolució de 10 bits (per tant, els valors enters de 0 - 2 ^ 10 = 1024 valors). Això significa que maparà les tensions d'entrada entre 0 i 5 volts en valors enters entre 0 i 1023. Per tant, si multipliquem anlogValue d' entrada a (5/1024), obtindrem el valor digital del voltatge d'entrada. Obteniu informació sobre com utilitzar l'entrada ADC a Arduino. A continuació, s'utilitza el valor digital per fer brillar el gràfic de barres LED en conseqüència.
A més, comproveu aquest senzill monitor de nivell de bateria sense cap microcontrolador
