first commit

This commit is contained in:
Jérôme Delacotte
2025-03-06 11:15:32 +01:00
commit 7b30d6e298
5276 changed files with 2108927 additions and 0 deletions

68
PILE_TESTEUR/PILE_TESTEUR.ino Executable file
View File

@@ -0,0 +1,68 @@
/*
* Programme de benchmark de piles LR6, AAA, CR2032 ou tout autre piles inférieur à 5v
*/
/* Valeur de la résistance de charge */
const float charge_resistor = 22;
/* Broche de mesure */
const byte analog_pin = A0;
/* Macro de conversion valeur numérique -> tension en volts */
//#define ADC_TO_VOLTS(value) ((value / 1023.0) * 3.3)
#define ADC_TO_VOLTS(value) ((value / 1023.0) * 5.0)
/* setup() */
void setup() {
/* Initialise le port série */
Serial.begin(9600);
/* Si vous voulez mesurer des piles de moins de 3.3v il est plus précis d'utiliser AREF comme référence
* et de mettre un câble entre +3v3 et AREF */
//analogReference(EXTERNAL);
}
/* loop() */
void loop() {
/* Attend la mise en place d'une pile >1 volts = 200*/
while(analogRead(analog_pin) < 1);
/* Compteur de temps */
unsigned int time = 0;
/* Résultat de analogRead() */
unsigned int analog;
/* Mesure la batterie jusqu'a ce quelle atteigne 1 volts*/
while((analog = analogRead(analog_pin)) >= 1) {
/* Mesure de la tension de la batterie (en volts) */
float vbat = ADC_TO_VOLTS(analog);
/* Calcul du courant traversant la résistance (en mA) */
float ibat = (vbat * 1000) / charge_resistor; // I = U / R
/* Calcul de la puissance de la batterie (en mW) */
float pbat = vbat * ibat; // P = U * I
/* Affiche les résultats au format CSV */
Serial.print(time);
Serial.print(", analog=");
Serial.print(analog);
Serial.print(", volt=");
Serial.print(vbat);
Serial.print("V, intensite=");
Serial.print(ibat);
Serial.print(" mA, puissance=");
Serial.print(pbat);
Serial.println(" mW");
/* Incrémente le compteur de temps */
++time;
/* Attend une seconde */
delay(1000);
}
}