Discussions Générales > Présentez vous !

Bonsoir à tous

<< < (2/3) > >>

supermoun:
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.

Dominique:
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

supermoun:
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

Rob1:
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.

msport:
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.

Navigation

[0] Index des messages

[#] Page suivante

[*] Page précédente

Utiliser la version classique