Mémoriser un compteur après une réinitialisation
Conservez l’état entre les cycles d’alimentation.
Mémoriser un compteur après une réinitialisation est une leçon Arduino & IoT Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Arduino & IoT Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Arduino & IoT Academy comprend 4 leçons au total.
Un compteur qui résiste aux coupures
Construisons un compteur d'appuis qui mémorise son total même après une coupure de courant. Nous combinerons l'anti-rebond avec le stockage dans l'EEPROM.
Le plan en une ligne
Au démarrage, chargez le nombre enregistré. À chaque appui propre, ajoutez un et enregistrez la nouvelle valeur. C'est simple, mais puissant.
Choisir un emplacement de stockage
Réservez une adresse de l'EEPROM pour le compteur. Pour l'instant, nous le garderons assez petit pour tenir dans un seul octet.
const int ADDR = 0;
byte count = 0;Charger au démarrage
Dans setup(), lisez d'abord la valeur enregistrée. Votre compteur reprend maintenant exactement là où il s'était arrêté.
void setup() {
count = EEPROM.read(ADDR);
}Nettoyer les données inutiles
L'EEPROM d'une puce neuve renvoie souvent 255. Considérez cette valeur comme une mémoire vide et réinitialisez le compteur à zéro lors de la première utilisation.
if (count == 255) count = 0;Réutiliser l'anti-rebond
Détectez les appuis avec l'anti-rebond utilisant millis() vu précédemment. Une entrée propre est essentielle, sinon le total enregistré augmentera de manière incorrecte.
Incrémenter lors d'un appui propre
Lorsqu'un appui filtré est détecté, augmentez le compteur de un. C'est le seul moment où votre total augmente.
count++;
Serial.println(count);Enregistrer sans user la mémoire
Utilisez EEPROM.update pour enregistrer le nouveau total. La mémoire n'est modifiée que lorsque la valeur a réellement changé, ce qui protège la puce.
EEPROM.update(ADDR, count);Tester la magie
Appuyez quelques fois, puis débranchez et rebranchez la carte. Le moniteur série affiche votre compteur qui continue, au lieu de recommencer à zéro. 🎉
Attention à la limite d'un octet
Un compteur sur un octet revient à 0 après 255. Pour des totaux plus élevés, enregistrez plutôt un entier avec EEPROM.put et EEPROM.get.
Ajouter une option de réinitialisation
Un produit réel a souvent besoin d'un moyen d'effacer le total enregistré. Un appui long sur un bouton pourrait réécrire 0 dans l'EEPROM.
EEPROM.update(ADDR, 0);Vérification rapide
Vérifions l'étape essentielle qui permet au compteur de survivre à une réinitialisation.
Récapitulatif : la mémoire conservée après réinitialisation
Vous avez construit un compteur qui conserve sa valeur en la chargeant depuis l'EEPROM au démarrage et en l'enregistrant à chaque appui propre. Votre appareil dispose enfin d'une mémoire ! 🧠
Apprends C++ avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Mémoriser un compteur après une réinitialisation » est-elle gratuite ?
Oui — le texte complet de « Mémoriser un compteur après une réinitialisation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Arduino & IoT Academy, passe à CoddyKit PRO. Le cours Arduino & IoT Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Mémoriser un compteur après une réinitialisation » ?
Conservez l’état entre les cycles d’alimentation. Tu pratiques Arduino & IoT Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Arduino & IoT Academy ?
Aucune expérience préalable n'est requise. Arduino & IoT Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Mémoriser un compteur après une réinitialisation » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Arduino & IoT Academy ?
Oui. Chaque leçon Arduino & IoT Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi les boutons « rebondissent »
- Antirebond avec millis()
- Stocker une valeur dans l’EEPROM
- Mémoriser un compteur après une réinitialisation