Cette page décrit une réalisation très facile à mettre en œuvre à l'aide d'une carte Arduino, on estime un temps de la réalisation de l'ordre de 20 minutes. Je vous encourage à réaliser ce montage afin de maitriser analogRead() et digitalWrite()
On veut réaliser un testeur de batterie 12V avec les fonctionnalités suivantes :
Il faut bien à un moment donner savoir de quoi on a besoin afin de réaliser le système :
EN BREF : il faut une carte Arduino (par exemple, une UNO), une entrée (A0) pour la mesure, une sortie (1) pour la diode, trois résistances, une diode. Ajoutons à cela une alimentation variable (pour faire office de batterie) et une fixe comprise entre 7 et 12V (alimentation de la carte Arduino UNO)
Voici le code à copier-coller dans le logiciel Arduino (après avoir crée un fichier “test_batterie” par exemple) puis à implémenter sur votre chère carte quand le montage ci-dessus sera réalisé.
/* TEST BATTERIE
Premièrement on va nommer les Pins */
int voltmetre = A0;
int led = 1;
/* vient l'initialisation, led est une sortie !
on va créer également les variables et constantes de mesure */
void setup () {
pinMode(led,OUTPUT);
}
/* vient la structure principale */
void loop () {
float Ubatterie = 0; /* initialisation de la variable */
float Ufaible = 10500; /* le seuil de 10,5V en mV */
float Uchargee = 13600; /* le seuil de charge à 13.6V en mV */
boolean decharge = LOW; /* on mémorise la décharge de batterie */
Ubatterie=analogRead(voltmetre)*5000.0/1024.0; /* mesure de Ubatterie
on suppose la batterie en service (chargée initialement) */
while (Ubatterie<Ufaible) {
/* un petit programme de clignotant avec mesure */
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
delay(150);
Ubatterie=analogRead(voltmetre)*5000.0/1024.0;
decharge = HIGH;
}
/* même principe pour la phase de charge, si il y a eu décharge */
while (Ubatterie<Uchargee && decharge == HIGH) {
digitalWrite(led,HIGH);
Ubatterie=analogRead(voltmetre)*5000.0/1024.0;
}
//* réarmement du programme */
decharge = LOW ;
digitalWrite(led,LOW);
}