Vous êtes sur la page 1sur 2

TD1 SAé Snake

1) Proposer des schémas électroniques de câblage de bouton poussoir avec les broches d’entrées
d’un microcontrôleur, sachant que ce dernier accepte des tensions de 0V et 5V en entrée.

2) Les boutons poussoirs présentent au relâchement et à l’appui des rebonds mécaniques


(bounces) qui à l’échelle des temps (us) des microcontrôleurs sont détectables et créent donc
des changements d’états intempestifs au sein du microcontrôleur qu’il convient d’éliminer
(voir la documentation « constructeur » d’un bouton poussoir). Il existe des solutions pour
éliminer ces rebonds (debouncing methods for push buttons) :
a. Solution électronique en utilisant un circuit RC. Calculer la valeur de la capacité C
lorsque on utilise une valeur de résistance R si l’on considère qu’une valeur de
constante de temps de filtrage est de 50ms est une valeur correcte pour éliminer les
rebonds tout en assurant un temps d’appui/relâchement adéquat dans la plupart des
situations. Au préalable calculer la valeur de la résistance à utiliser pour le bouton
poussoir fourni dans la documentation jointe.
b. Solution électronique en utilisant des portes logiques (bascule RS, trigger de schmidt
ou monostable)
c. Solution logicielle, en utilisant un comptage du temps passé après un appui ou un
relâchement pour éviter de redéclencher un changement d’état avant ce décompte.
Proposer un code en C sous mplabx qui effectue cette à partir d’une entrée sur la
broche RA0 du pic16f8877 (Utilisation des registres ANSELA, TRISA et LATA).
3) On choisit le module suivant pour les entrées du jeu du snake.
A partir de la documentation du microcontrôleur utilisé dans le projet, le pic 16f18877,
proposer le schéma de câblage des entrées du module joystick ci-dessus avec le
microcontrôleur utilisé.
En tenant compte des phénomènes anti rebonds, proposer le programme sous MPLABX qui
réalise le comptage de chaque appui sur les différents bouton poussoir qui vont être associés
aux déplacements du personnage dans le labyrinthe. Simuler votre programme sous MPLABX.

Vous aimerez peut-être aussi