bonjour
Je voudrais faire un programme qui compte le temps d'allumage de la carte (un horametre)
la carte a une entrée qui permet de savoir s'il y a une demande de coupure de l'alimentation
la carte a une sortie qui coupe l'alimentation de la carte (et du système). Cela me permet de retarder la coupure de l'alimentation et etre sur d'avoir bien ecrit dans l'eeprom
je n'ai besoin que de stocker les minutes d'allumage, pas besoin des secondes!
le soucis est que la je stocke que sur un byte donc je suis bloqué a 255... donc inutilisable
j'aurai voulu utiliser un variable sur 4 bytes comme ca je suis "large" sur le temps d'utilisation
#include <EEPROM.h>
int adresse_horametre = 1500; // adresses Horametre
byte valeur_horametre=0; // variable pour octets à stocker/lire en Eepromunsigned long old_horametre = 0;
unsigned long horametre = 0;#define contact 2 // presence du 12v contact
#define pwr 11 // Gestion de l'alimentation de carte
#define action 10void setup()
{
Serial.begin(115200);pinMode(pwr, OUTPUT);
pinMode(action, OUTPUT);
pinMode(contact, INPUT);old_horametre = EEPROM.read(adresse_horametre);
}void loop()
{
int et_contact = digitalRead(contact);if (et_contact == HIGH)
{
horametre = millis();
digitalWrite(pwr, HIGH);
digitalWrite(action, HIGH);Serial.print("Horametre = ");
Serial.println(old_horametre);
}
else
{
valeur_horametre = horametre+old_horametre;
EEPROM.write(adresse_horametre, valeur_horametre);digitalWrite(action, LOW);
delay(1000);
digitalWrite(pwr, LOW);
}
}
Merci de votre aide