Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Boucle pour compter les rebonds
-
Jérémy
Administrateur du site- Messages : 2723
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous ,
Je désire faire une tuto, pour expliquer le phénomène de rebonds quand on appui sur un BP.
J'ai bien ma courbe vu à l'oscillo, mais j'aurais souhaité , tant qu'a faire , faire une vidéo pour démontré la véracité et l'utilité d'un anti-rebond .
L'idée serait idéalement de "compter" le nombre de pic ou d'états haut différents sur un appui ?
LE hic c''est donc qu'il faille compter un front descendant , pour ne pas compter le fait de la durée de l'appui ( si on laisse le doigt trop longtemps par exemple) .
Il est faisable de montrer que l'appui sur un BP, peut revenir a la valeur initiale sans anti-rebonds, mais je ne sais pas si c'est faisable avec la résolution d'un pic poussé à sa vitesse max de compter le nombre de rebonds.
Je dispose d'un PIC 18F45K22 et d'un quartz externe de 8Mhz sur ma carte easyPIC .
Le nombre de Pic pourrait être affiché sur digit 7 segments présent sur ma carte également . ( utilisation du PORT A et D pour les afficheurs)
à vous.
Je désire faire une tuto, pour expliquer le phénomène de rebonds quand on appui sur un BP.
J'ai bien ma courbe vu à l'oscillo, mais j'aurais souhaité , tant qu'a faire , faire une vidéo pour démontré la véracité et l'utilité d'un anti-rebond .
L'idée serait idéalement de "compter" le nombre de pic ou d'états haut différents sur un appui ?
LE hic c''est donc qu'il faille compter un front descendant , pour ne pas compter le fait de la durée de l'appui ( si on laisse le doigt trop longtemps par exemple) .
Il est faisable de montrer que l'appui sur un BP, peut revenir a la valeur initiale sans anti-rebonds, mais je ne sais pas si c'est faisable avec la résolution d'un pic poussé à sa vitesse max de compter le nombre de rebonds.
Je dispose d'un PIC 18F45K22 et d'un quartz externe de 8Mhz sur ma carte easyPIC .
Le nombre de Pic pourrait être affiché sur digit 7 segments présent sur ma carte également . ( utilisation du PORT A et D pour les afficheurs)
à vous.
Boucle pour compter les rebonds
Boucle pour compter les rebonds
-
Jérémy
Administrateur du site- Messages : 2723
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
mazertoc a écrit :Source du message Avec un µC tu vas visualiser uniquement les rebonds pris en compte par le circuit d'entrée.
D'accord donc tu entends par là, seulement le fait de resté appuyer trop longtemps en fait ?
Pour bien comprendre le phénomène il faut un oscilloscope.
Oui Oui j'ai fais la courbe
Attention aux confusions (pic de tension et pic16f et colégrame).
Boucle pour compter les rebonds
Boucle pour compter les rebonds
-
Jérémy
Administrateur du site- Messages : 2723
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Pat a écrit :Source du message Tu devrais poster ton code et l'oscillogramme
Voici un début de tuto qui n'attends que vos commentaires et idée .
Boucle pour compter les rebonds
Boucle pour compter les rebonds
-
Jérémy
Administrateur du site- Messages : 2723
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
10 ms c est trop court il faut bien 100ms.
Oui , il faut ajuster suivant la vestusté et la mécanique des BP . avec 10 ms , c'est top dans mon cas .
De plus il faut attendre le relâchement du bouton après.
Sinon , en restant appuyé la fonction se fera plusieurs fois, évidement si c 'est le but c'est correct , mais généralement ça ne l'est pas.
Oui , je l'ai fais dans la deuxième méthode !
Mais le but de ca post, est de savoir comment on pourrait calculer le nombre de rebonds lors d'un appui sur un BP? et si c'est possible surtout
Boucle pour compter les rebonds
Boucle pour compter les rebonds
il faut faire des tests avec btfss et btfsc et incrémenter 2 compteurs un up un down en plus limiter en temps avec un autre compteur
un exemple non testé, juste pour donner l'idée
vérifier les minuscules majuscules
déclarer 3 variables up down count
et faire un affichage des valeurs trouvées
un exemple non testé, juste pour donner l'idée
vérifier les minuscules majuscules
déclarer 3 variables up down count
et faire un affichage des valeurs trouvées
Code : Tout sélectionner
clrf up
clrf down
clrf count
; Attente du premier contact
NOpush
BTFSC PORTA,0
goto NOpush
;Départ des boucles de compteurs
; tant que état bas
pushDown
BTFSS PORTA,0
goto Pushup
incf count,f
btfss STATUS,Z
goto EndTime
goto pushDown
; fin état bas alors +1 down
Pushup
incf down,f
PushUp_a
BTFSC PORTA,0
goto PushDn
incf count,f
btfss STATUS,Z
goto EndTime
goto pushUp_a
; fin état haut alors +1 up
; et reboucler
PushDn
incf up,f
goto pushDown
; fin du test pendant environ 8 * 256µs (un peu court mais il faudrait un compteur 16 bits pour faire mieux)
EndTime
;affiche up et down
Boucle pour compter les rebonds
-
Jérémy
Administrateur du site- Messages : 2723
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Hello Pat,
Je ne connais pas ces termes, qui sont certainement de l'ASM .
Je rappelle que ce forum est dédié (pour le moment du moins), au langage C . En effet l'ASM est un langage très particulier . Loin de moi l'idée de dire qu'il est bon ou mauvais, c'est un langage de haut niveau très peu convivial et réservé et des personnes expérimentées.
L'ASM va au cœur des choses, mais sans le coté convivial . Aujourd'hui les compilateurs sont de pus en plus perfectionnés, sans égaler l'ASM, ils apportent une solution largement plus abordables, pour des novices . C'est pourquoi j'ai fais le choix de ne parler que du C, et ainsi éviter les comparaisons trop souvent houleuses à ce sujets . Merci de respecter ce choix !
Je vais essayer avec ta méthode, a savoir utilisé 3 compteurs un pour les fronts montants, un pour les descendant, et un dernier pour limiter les calculs dans le temps .
je ne crois pas avoir les connaissances requises pour essayer de faire cela ! Mais qui ne tente rien n'as rien !
PS: Si tu as la même en chose en C je suis preneur !
il faut faire des tests avec btfss et btfsc
Je ne connais pas ces termes, qui sont certainement de l'ASM .
Je rappelle que ce forum est dédié (pour le moment du moins), au langage C . En effet l'ASM est un langage très particulier . Loin de moi l'idée de dire qu'il est bon ou mauvais, c'est un langage de haut niveau très peu convivial et réservé et des personnes expérimentées.
L'ASM va au cœur des choses, mais sans le coté convivial . Aujourd'hui les compilateurs sont de pus en plus perfectionnés, sans égaler l'ASM, ils apportent une solution largement plus abordables, pour des novices . C'est pourquoi j'ai fais le choix de ne parler que du C, et ainsi éviter les comparaisons trop souvent houleuses à ce sujets . Merci de respecter ce choix !
Je vais essayer avec ta méthode, a savoir utilisé 3 compteurs un pour les fronts montants, un pour les descendant, et un dernier pour limiter les calculs dans le temps .
je ne crois pas avoir les connaissances requises pour essayer de faire cela ! Mais qui ne tente rien n'as rien !
PS: Si tu as la même en chose en C je suis preneur !
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 79 invités