Modifications

Sauter à la navigation Sauter à la recherche
1 496 octets ajoutés ,  30 décembre 2014 à 20:05
Ligne 71 : Ligne 71 :     
[[Fichier:SPARK-BUTTON-01.jpg|480px]]
 
[[Fichier:SPARK-BUTTON-01.jpg|480px]]
 +
 +
== Déparasitage des boutons ==
 +
Lorsque l'on presse/relâche un bouton, il y a souvent l'apparition de parasites pendant quelques milisecondes.
 +
Ce parasites n'apparaissent que durant les moments où l'on enfonce/relâche le bouton poussoir. 
 +
 +
[[Fichier:switchbounce.jpg|400px]]
 +
 +
Source: [http://www.ladyada.net/learn/arduino/lesson5.html AdaFruit]
 +
 +
Si l'on compte le nombre de pressions (pour faire un compteur), ces parasites viennent justement perturber le bon fonctionnement du logiciel. Le problème est matériel... et les parasites viennent ajouter des "pressions" fantômes (voir leçon 5 ci-avant).
 +
 +
Il y a deux façons de corriger le problème:
 +
# Utiliser une capacité de déparasitage (déparasitage matériel).<br />Pour le déparasitage matériel, [[Entr%C3%A9e_Bouton#D.C3.A9parasitage_mat.C3.A9riel_-_version_1|voyez cet article pour plus d'information]]
 +
# Introduire un délai logiciel dans le programme (déparasitage logiciel).<br />Simple et efficace, ce point est abordé ci-dessous
 +
 +
=== Déparasitage logiciel ===
 +
Puisque le phénomène transitoire ne dure que quelques micro-secondes, il suffirait de faire deux lectures successives de l'entrée (après un délai de quelques millisecondes) et de s'assurer qu'il ne s'agit pas d'une phase transitoire.
 +
S'il ne s'agit pas d'une phase transitoire, la lecture de l'état de l'entrée 10 ms plus tard doit être identique à celle 10 ms plus tôt.
 +
''Personne n'arrivant à presser et relâcher un bouton en moins de 10 ms''.
       
{{Spark-Core-Hacking-TRAILER}}
 
{{Spark-Core-Hacking-TRAILER}}
29 836

modifications

Menu de navigation