- Matériel requis
- Schéma
- Graphique à barres LED
- Programme Arduino pour la surveillance de la tension de la batterie:
- Fonctionnement de l'indicateur de tension de la batterie
Les batteries sont livrées avec une certaine limite de tension et si la tension dépasse les limites prescrites pendant la charge ou la décharge, la durée de vie de la batterie est affectée ou réduite. Chaque fois que nous utilisons un projet alimenté par batterie, nous devons parfois vérifier le niveau de tension de la batterie, si elle doit être chargée ou remplacée. Ce circuit vous aidera à surveiller la tension de votre batterie. Cet indicateur de tension de batterie Arduino indique l'état de la batterie en allumant des LED sur un graphique à barres LED à 10 segments en fonction de la tension de la batterie. Il montre également la tension de votre batterie sur l'écran LCD connecté à l'Arduino.
Matériel requis
- Arduino UNO
- Graphique à barres LED à 10 segments
- LCD (16 * 2)
- Potentiomètre-10k
- Résistance (100ohm-10; 330ohm)
- Batterie (à tester)
- Fils de connexion
- Adaptateur 12v pour Arduino
Schéma
Graphique à barres LED
Le graphique à barres LED est de taille standard industrielle avec une faible consommation d'énergie. La barre est classée par catégorie d'intensité lumineuse. Le produit lui-même reste dans la version conforme RoHS. Il a une tension directe allant jusqu'à 2,6 V. La dissipation de puissance par segment est de 65 mW. La température de fonctionnement du graphique à barres LED est de -40 ℃ à 80 ℃. Il existe de nombreuses applications pour le graphique à barres LED telles que l'équipement audio, les tableaux de bord et l'affichage numérique.
Diagramme des broches
Configuration des broches
Programme Arduino pour la surveillance de la tension de la batterie:
Le code Arduino complet et la vidéo de démonstration sont donnés à la fin de cet article. Ici, nous avons expliqué certaines parties importantes du code.
Ici, nous définissons la bibliothèque LCD et spécifions les broches de LCD à utiliser avec l'Arduino. L'entrée analogique provient de la broche A4 pour vérifier la tension de la batterie. Nous avons défini la valeur comme Float pour obtenir la tension jusqu'à deux décimales.
#comprendre
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // un tableau de numéros de broches auxquels les LED sont attachées int pinCount = 10; // le nombre de broches (c'est-à-dire la longueur du tableau)
Configuration de l'écran LCD et des broches analogiques (A0, A1, A2, A3) comme broches de SORTIE.
void setup () {Serial.begin (9600); // ouvre le port série, définit le débit de données à 9600 bps lcd.begin (16, 2); //// configure le nombre de colonnes et de lignes de l'écran LCD: pinMode (A0, OUTPUT); pinMode (A1, SORTIE); pinMode (A2, SORTIE); pinMode (A3, SORTIE); pinMode (A4, INPUT); lcd.print ("Niveau de tension"); }
Ici, nous créons une fonction pour utiliser le graphique à barres LED à utiliser de manière simple, vous pouvez même allumer les LED en les programmant une par une, mais le code devient long.
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); // délai (30); }} Dans cette partie, nous avons lu la valeur de tension à l'aide de la broche analogique. Ensuite, nous convertissons la valeur analogique en une valeur de tension numérique en utilisant la formule de conversion analogique-numérique et en l'affichant davantage sur l'écran LCD.
// Formule de conversion pour la tension analogValue = analogRead (A4); Serial.println (analogValue); retard (1000); tension_entrée = (valeur analogique * 5,0) / 1024,0; lcd.setCursor (0, 1); lcd.print ("Tension ="); lcd.print (tension_entrée); Serial.println (tension_entrée); retard (100);
Selon la valeur de la tension d'entrée, nous avons donné certaines conditions pour contrôler les LED du graphique à barres LED. La condition que vous pouvez vérifier ci-dessous dans le code:
if (tension_entrée <0,50 && tension_entrée> = 0,00) {digitalWrite (2, HIGH); retard (30); digitalWrite (2, FAIBLE); retard (30); // lorsque la tension est nulle ou basse, la 1ère LED indiquera en clignotant} 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 (tension_entrée <4,00 && tension_entrée> = 3,50) {LED_function (8);} else if (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } else if (tension_entrée <5,00 && tension_entrée> = 4,50) {LED_function (10); }}
Fonctionnement de l'indicateur de tension de la batterie
L'indicateur de tension de la batterie lit simplement la valeur de la broche analogique Arduino et la convertit en valeur numérique en utilisant la formule de conversion analogique-numérique (ADC). L' Arduino Uno ADC a une résolution de 10 bits (donc les valeurs entières de 0 - 2 ^ 10 = 1024 valeurs). Cela signifie qu'il mappera les tensions d'entrée entre 0 et 5 volts en valeurs entières entre 0 et 1023. Donc, si nous multiplions l'entrée anlogValue à (5/1024), alors nous obtenons la valeur numérique de la tension d'entrée. Apprenez ici comment utiliser l'entrée ADC dans Arduino. Ensuite, la valeur numérique est utilisée pour allumer le graphique à barres LED en conséquence.
Vérifiez également ce simple moniteur de niveau de batterie sans microcontrôleur