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); }