Arduino : Gestion De Bouton Pour Un Compteur

Navigation

Inscrivez-vous gratuitementpour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  • Vous n'êtes pas encore inscrit sur Developpez.com ? Inscrivez-vous gratuitement !
  • Recherche avancée
  • Accueil
  • Forum
  • Général Développement
  • Programmation système
  • Embarqué
  • Arduino
  • Gestion de bouton pour un compteur
+ Répondre à la discussion Arduino Discussion : Gestion de bouton pour un compteur Sujet :

Arduino

  • Outils de la discussion
    • Afficher une version imprimable
    • S'abonner à cette discussion…
  • Affichage
    • Mode linéaire
    • Choisir le mode hybride
    • Choisir le mode arborescent
  1. 29/08/2019, 11h10 #1 Bouvmax Bouvmax est déconnecté Candidat au Club Homme Profil pro ChomeurInscrit enAoût 2019Messages3Détails du profilInformations personnelles :Sexe : HommeÂge : 27Localisation : France, Deux Sèvres (Poitou Charente)Informations professionnelles :Activité : ChomeurInformations forums :Inscription : Août 2019Messages : 3 Par défaut Gestion de bouton pour un compteur
    Bonjour, Je débute et j'essaye de faire un programme qui compte a chaque appui sur un bouton et qui affiche la valeur sur un afficheur LED 7 segments. Le problème étant que je n'arrive pas à compter les impulsions du bouton pour afficher la valeur ensuite. Voici ce que j'ai fait pour le moment mais je pense que mon branchement de bouton n'est pas correct. https://www.tinkercad.com/things/iJ7wAFC2fQs-compteur Merci de votre aide
    Répondre avec citation Répondre avec citation 0 0
  2. 29/08/2019, 11h48 #2 jpbbricole jpbbricole est déconnecté Membre Expert Avatar de jpbbricole Homme Profil pro Retraité des réseaux informatiquesInscrit enFévrier 2013Messages1 019Détails du profilInformations personnelles :Sexe : HommeLocalisation : SuisseInformations professionnelles :Activité : Retraité des réseaux informatiquesSecteur : High Tech - Électronique et micro-électroniqueInformations forums :Inscription : Février 2013Messages : 1 019 Par défaut
    Bonjour Bouvmax Ton lien n'est pas accessible, mets ton code sur ce forum, entre balises. Cordialement jpbbricole
    Répondre avec citation Répondre avec citation 0 0
  3. 31/08/2019, 12h50 #3 Bouvmax Bouvmax est déconnecté Candidat au Club Homme Profil pro ChomeurInscrit enAoût 2019Messages3Détails du profilInformations personnelles :Sexe : HommeÂge : 27Localisation : France, Deux Sèvres (Poitou Charente)Informations professionnelles :Activité : ChomeurInformations forums :Inscription : Août 2019Messages : 3 Par défaut
    J'ai réussi a faire mon compteur avec mon bouton mais maintenant je voudrais qu'il garde en mémoire la derniere valeur de mon compteur quand je le met hors tension et qu'il y recommence quand je le rallume. J'ai pu voir qu'il fallait utiliser EEPROM mais je comprends pas son fonctionnement. Merci de votre aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12345678910111213141516171819202122232425262728293031323334353637383940 #include <SevSeg.h> #include <EEPROM.h> //Afficheur 7 segments const byte numDigits = 4; // Nombre de digits de l'afficheur 7 segments, ici il y en a 4 ( on utilise un afficheur référencé SH5461AS ) const byte digitPins[] = {13, 10, 9, A5}; const byte segmentPins[] = {12, 8, A3, A1, A0, 11, A4, A2}; // Branchements des broches controlant les segments SevSeg sevseg; // On declare sevseg comme l'afficheur int bouton = 2; int compteur; static int etatprec = HIGH; void setup() { sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins); //On initialise l'afficheur 7 Segments sevseg.setBrightness(-10); //On regle l'intensite pinMode(bouton, INPUT_PULLUP); } void loop() { int etat= digitalRead(2); //Lecture de l'etat du pin 2 if (etat == HIGH && etatprec==LOW) //detection d'appui haut/bas { compteur++; // Incrementation d'une valeur au compteur } etatprec=etat; sevseg.setNumber(compteur,4); //Aficher le compteur sevseg.refreshDisplay(); if(compteur>9999) { compteur=0; compteur = compteur; }
    Répondre avec citation Répondre avec citation 0 0
  4. 31/08/2019, 13h13 #4 jpbbricole jpbbricole est déconnecté Membre Expert Avatar de jpbbricole Homme Profil pro Retraité des réseaux informatiquesInscrit enFévrier 2013Messages1 019Détails du profilInformations personnelles :Sexe : HommeLocalisation : SuisseInformations professionnelles :Activité : Retraité des réseaux informatiquesSecteur : High Tech - Électronique et micro-électroniqueInformations forums :Inscription : Février 2013Messages : 1 019 Par défaut
    Bonjour Bouvmax Une excellente adresse pour étudier l'EEPROM. Cordialement jpbbricole
    Répondre avec citation Répondre avec citation 1 0
  5. 31/08/2019, 17h40 #5 Bouvmax Bouvmax est déconnecté Candidat au Club Homme Profil pro ChomeurInscrit enAoût 2019Messages3Détails du profilInformations personnelles :Sexe : HommeÂge : 27Localisation : France, Deux Sèvres (Poitou Charente)Informations professionnelles :Activité : ChomeurInformations forums :Inscription : Août 2019Messages : 3 Par défaut
    Super merci, je pilote ça avec un Arduino nano est ce que je risque pas de tuer ma mémoire trop rapidement?
    Répondre avec citation Répondre avec citation 0 0
  6. 31/08/2019, 19h56 #6 jpbbricole jpbbricole est déconnecté Membre Expert Avatar de jpbbricole Homme Profil pro Retraité des réseaux informatiquesInscrit enFévrier 2013Messages1 019Détails du profilInformations personnelles :Sexe : HommeLocalisation : SuisseInformations professionnelles :Activité : Retraité des réseaux informatiquesSecteur : High Tech - Électronique et micro-électroniqueInformations forums :Inscription : Février 2013Messages : 1 019 Par défaut
    Bonsoir Bouvmax Citation Envoyé par Bouvmax Voir le message Super merci, je pilote ça avec un Arduino nano est ce que je risque pas de tuer ma mémoire trop rapidement? On peut économiser les écritures en employant la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123EEPROM.update qui écrit seulement quand la valeur à écrire change par rapport à la valeur actuelle dans le cellule mémoire à la place de EEPROM.write qui écrit systématiquement.
    On peut écrire ou effacer environ 100'000 fois avant que l'EEPROM devient instable, il y a quand même de quoi voire venir Cordialement jpbbricole
    Répondre avec citation Répondre avec citation 1 0
  7. 03/09/2019, 23h32 #7 Jay M Jay M est déconnecté Expert confirmé Homme Profil pro mad scientist :)Inscrit enSeptembre 2019Messages2 938Détails du profilInformations personnelles :Sexe : HommeLocalisation : Etats-UnisInformations professionnelles :Activité : mad scientist :)Informations forums :Inscription : Septembre 2019Messages : 2 938 Par défaut
    Si vraiment vous avez peur d’user votre eeprom vous pouvez toujours rajouter un condensateur et petit circuit de détection de perte d’alimentation et sauver en eeprom en profitant de l’alim par le Condo. Comme cela vous n'écrivez En EEPROM que quand c’est nécessaire Voici un bon article sur le sujet Mais bon comme le dit JPBricole, 100.000 sauvegardes, même à chaque appui du bouton ça laisse le temps...
    Répondre avec citation Répondre avec citation 0 0
  8. 13/09/2019, 13h36 #8 Guesset Guesset est déconnecté Membre Expert Homme Profil pro Directeur de projetInscrit enMai 2013Messages1 709Détails du profilInformations personnelles :Sexe : HommeLocalisation : France, Yvelines (Île de France)Informations professionnelles :Activité : Directeur de projetSecteur : Service publicInformations forums :Inscription : Mai 2013Messages : 1 709 Par défaut
    Bonjour, Il y a un peu de nettoyage de code à faire (par exemple : compteur = compteur) et d'optimisations (c'est maladif).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234567891011void loop() { int etat= digitalRead(2); //Lecture de l'etat du pin 2 if (etat > etatprec) // Détection d'appui haut/bas - HIGH > LOW car HIGH == 1 et LOW == 0 { if(compteur < 9999) ++compteur; else compteur = 0; // Incrémentation du compteur - retour à 0000 avant affichage sevseg.setNumber(compteur,4); // Afficher le compteur - déclarer static int etatprec = -1; et compteur = -1; pour forcer l'affichage du 0000 au début sevseg.refreshDisplay(); } etatprec=etat; }
    Le travail d'optimisation, même si le fonctionnement ne le nécessite pas ici, est toujours intéressant car il oblige à une compréhension fine de ce que l'on veut exactement et du comportement du micro-contrôleur. Salutations
    Répondre avec citation Répondre avec citation 0 0
+ Répondre à la discussion
Actualités
  • Accueil
  • Forum
  • Général Développement
  • Programmation système
  • Embarqué
  • Arduino
  • Gestion de bouton pour un compteur
« Discussion précédente | Discussion suivante »

Discussions similaires

  1. [XL-2016] Gestion des boutons pour la creation d'un devis et d'une facture Par jbdu59139 dans le forum Excel Réponses: 5 Dernier message: 02/02/2019, 07h14
  2. [AC-2007] Création bouton pour activer gestion des tables liées Par ouahab dans le forum Access Réponses: 1 Dernier message: 12/10/2012, 10h59
  3. Gestion des modifications pour un enregistrement Par Pascal Jankowski dans le forum Bases de données Réponses: 3 Dernier message: 10/03/2004, 15h09
  4. [JSP][Barre de navigation] Gestion du bouton precedent Par lando dans le forum Servlets/JSP Réponses: 11 Dernier message: 09/09/2003, 17h18
  5. [VBA-W] Gestion du bouton annuler d'une boite de dialogue Par akwel dans le forum VBA Word Réponses: 5 Dernier message: 04/04/2003, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo

Tag » Arduino Compter Le Temps D Appui D Un Bouton