LOCODUINO
Discussions Générales => Présentez vous ! => Discussion démarrée par: supermoun le avril 03, 2018, 06:53:21 pm
-
Je suis en retraite. J'ai travaillé 40 ans en automatisme.
J'ai fait pas mal de bidouille en électronique. (schémas de circuits, réalisations des plaques, etc)
Depuis peu, je me suis intéressé à la carte Arduino.
Comme tout le mode, j'ai démarré par de petits programmes.
A chaque fois que j'ai fait une recherche sur du comptage d'impulsions ou de front montant, j'ai observé que tous les programmes utilisés
la fonction miliis();
Je propose un programme de gestion de comptage à partir d'un bouton poussoir sans utiliser cette fonction.
Comment fournir le programme en PDFpour en faire profiter un maximum de personnes.
Cordialement, Supermoun.
-
Bonjour Supermoun
Bienvenue sur le Forum de Locoduino
Pour votre programme SVP pas de PDF :(
Vous chargez le fichier "*.ino"
Eventuellement un plan et une explication seront les bienvenues
Cordialement
Marcel
-
Bonsoir Catplus
Un fichier zip c'est bon?
En effet j'ai le fichier.ino mais aussi j'ai le schema et l'organigramme
Merci pour la reponse
-
Bienvenue parmi nous,
je pense que tout le monde sera d'accord pour un zip des fichiers !
Mais dites nous ce que vous envisagez dans le modélisme ferroviaire. Ce qui est la raison d'être de Locoduino, comme son nom l'indique.
-
Bienvenue Supermoun,
On a hate de voir ce que tu nous proposes.
Amicalement
Dominique
-
Bonjour msport
Comme tout le monde j'avais un circuit en HO.
Par manque de temps et manque de place j'ai laissé tomber.
Ce qui m’intéressait le plus c’était la partie électronique.
Je vais certainement redémarrer de zéro surtout que l'électronique a évolué avec des circuits comme Arduino
Ci-joint le dossier concernant un comptage par impulsion de bouton poussoir.
-
Bon c'est pas du modélisme mais plutôt de l'Arduino débutant, c'est déjà pas mal.
Ce programme ne gère pas l'anti-rebond donc va donner parfois des résultats erronés. Il y a une bibliothèque ad hoc : Bounce2, à ajouter dans l'IDE.
Bon courage
-
Bonsoir Dominique
Pas d'accord
Ce principe est utilisé en industrie depuis 40 ans en automatisme.
J'ai simplement repris ce principe, d'ailleurs le morceau de programme de comptage est là pour le démontrer.
il n'y a pas besoin de la fonction millis()
Cordialement, Supermoun
-
En automatisme industriel on utilise des automates programmables. Leurs entrées TOR (tout ou rien) sont filtrées pour intégrer les rebonds de tout contact électro-mécanique bouton ou fin de course, ce n'est pas vraiment le cas sur arduino. Toutefois le filtrage n'est pas toujours obligatoire, particulièrement en programmation Grafcet. Mais il n'y a pas que les rebonds il peut y avoir aussi les parasites et la aussi la solution c'est le filtrage ou et le blindage des câbles.
-
Pour éliminer les rebonds sans tenir compte de la durée minimale du contact d’un poussoir, il faut gérer les deux contacts de ce poussoir : NO et NC avec deux entrées de l’Arduino et commander une bascule logique avec. On met le commun au GND et les deux entrées en INPUT PULLUP. On est alors sur que le poussoir est revenu au repos pour pouvoir lancer une nouvelle impulsion.
Le programme proposé n’est pas à l’abri d’un rebond puisqu’il ne définit pas la durée minimale d’un appui pour être pris en compte.
-
Bonjour à tous,
Je pense que cet algorithme est similaire aux autres techniques de gestion des rebonds. Compter combien de fois le bouton est actif puis tester un seuil pour décider me paraît analogue à la mesure du temps.
Cependant, les rebonds d'un poussoir peuvent durer plusieurs millisecondes et cet algorithme aura atteint les valeurs de seuil du compteur bien avant, surtout sur un Arduino à 16 MHz. Pour qu'il ait des chances de fonctionner, il faudrait une attente à la fin de chaque itération, donc utiliser des fonctions de gestion du temps. Ou alors définir des seuils beaucoup plus grands tenant compte de la durée d'exécution des instructions d'une itération.
Attendre les quelques millisecondes une fois l'état stable atteint est le moyen le plus sûr d'éliminer les rebonds, c'est ce que fait très bien la librairie Bounce2.
Meilleures salutations.
-
merci Msport et Marc Henri pour la réponse
Cordialement supermoun