La Carte Interface : le lien avec l'utilisateur Nous avons fabriqué une autre carte, que nous avons appelé Carte Interface. Cette carte secondaire sert essentiellement d’interface de contrôle pour l’usager puisque son utilité se résume à l’affichage de l’étage actuel de l’ascenseur, par un afficheur sept segments, et à l’indication de cette position par le biais de quatre voyants correspondants chacun à un des quatre étages que comporte la maquette. Pour des raisons pratiques, nous avons décidé de ne pas se servir des voyants déjà installés sur la cage de l'ascenseur car cela nous aurait obligé à créer un circuit de puissance supplémentaire, et donc à passer la commande d'autres composants. De plus, nous aurions eu un problème au niveau des tensions, puisque une technologie demandait du 5 Volts, alors que l'autre était en 12 Volts. Les séances passant assez vite, nous avons préféré ne pas perdre trop de temps sur ce point et avons remplacé par des DEL (Diodes Electro-Luminescentes) les lampes. Celles-ci sont plus faciles à alimenter que les voyants déjà existants sur la maquette (problèmes de puissance entre autres). Elles sont soudées sur cette petite carte qui inclus également l’afficheur sept segments. Voici une photo de cette carte :
La carte du haut est la carte Interface
Au final, cette carte comprend donc quatre borniers : J1, J2 et J3 servant à la transmission d’informations en code binaire et J4 étant la borne d'alimentation en 5 Volts. Ceux-ci sont les entrées d'un circuit de plusieurs composants : de multiples résistances mais surtout deux décodeurs, un afficheur 7 segment et 4 D.E.L Ci-dessous vous pouvez voir le schéma montrant comment est reliée la carte Interface à la carte Pico-API. J1 et J2 sont respectivement reliées à RB0 et RB1 (afficheur), et J3 est liée à la sortie RB2, correspondant à la sortie autorisant les voyant à s'allumer.
La carte Interface : Premier
schéma
J1 et J2 sont les deux entrées principales de cette carte, en effet ils fournissent les deux bits de commande nécessaires à l’afficheur sept segments et aux voyants des étages. Pour commander l’afficheur, il est indispensable d’avoir sept entrées, correspondantes aux sept segments qui composent l’afficheur. Il a donc fallut intégrer un décodeur sept segments pour pouvoir le commander à partir de ces deux entrées. Les voyants que comporte la maquette servent à indiquer l’étage actuel de l’ascenseur et sont, comme cité précédemment, au nombre de quatre, ils nécessitent donc d’autant de sorties venant les allumer ou les éteindre. Un décodeur, (trois vers huit), est donc encore une solution car J1 et J2 ne sont pas suffisants pour cet usage, il a donc fallu prendre en compte l’entrée J3 qui va autoriser ou non l’allumage du voyant dont le numéro est donné par J1 et J2.. La commande des voyants sera détaillée plus loin.
La carte Interface : Deuxième
étape
Diverses résistances ont été installées sur la carte mais ne présentent qu’un intérêt secondaire puisqu’elles ne sont là que pour réduire le courant qui traverse les différents composants afin d’éviter une quelconque détérioration de l’un d’entre eux. Leurs différentes valeurs sont justifiées par la variété des types de composants installés.
Circuit de la carte Interface Cette carte, nous avons du la concevoir, puis la créer, l'impression du typon et du circuit imprimé a toutefois été réalisée par le professeur.
Troisième étape :
Fonctionnement de l'afficheur 7 segments Les entrées de l'afficheur 7 segments, aux nombres de 7, nommées :
"a, b, c, d, e, f, g" sont reliées aux sorties d'un décodeur
spécial : 4 entrées vers 8. Le fonctionnement du décodeur sept segments est assez simple.
Liaison entre un afficheur 7 segments et son décodeur
Dans l'afficheur, chaque entrée permet d'allumer ou non une des 7 barres. Exemple : Pour le signal 0010 en entrée, le décodeur va mettre à l’état logique 1 les sorties « a », « b », « d », « e » et « g » de façon à afficher le numéro 2 sur l’afficheur.
Programme pour l’afficheur 7 segments sortie(0xFC, 0) ; La fonction de l’afficheur est de noter l’étage où l’ascenseur se trouve et dans le cas présent il est désigné par la variable chiffre. Le numéro affiché est celui du dernier étage où les capteurs ont détecté la présence de l’ascenseur. Lorsqu’il se trouve entre deux étages, le dernier chiffre reste affiché jusqu’à l’arrivée à un autre étage. Il vient donc en complément des voyants. La première commande appelle la fonction sortie() afin d’effectuer une remise à 0, un effacement des bits contrôlant le 7 segments. Cela va permettre, par la suite, de redonner une valeur à ces deux bits pour afficher le nouvel étage. Le rôle de la seconde commande est ainsi de rallumer seulement le ou bits utiles. Elle va permettre de transformer le chiffre de l’étage détecté en code binaire qui va être réparti sur les deux bits correspondants à l’afficheur. Ce code va ensuite être traduit par le décodeur pour que l’afficheur note l’étage où se trouve l’ascenseur.
Les voyants La maquette de l'ascenseur comporte quatre lampes qui permettent de signaler l'emplacement de la cage d'ascenseur. Le fonctionnement est assez simple : quand un capteur détecte la cage, une lampe doit s'allumer. Nous aurions pu relier les capteurs aux lampes en utilisant un câblage direct. Mais nous avons préféré faire un sous programme pour la fonction voyants, car l’un des buts de notre projet était de tout commander à partir de la carte Pico API. Cette dernière contient cinq sorties. Deux sont utilisées pour le moteur : l'une pour la montée et l'autre pour la descente. Deux autres sont utilisées pour l'afficheur sept segments. Il ne nous restait donc qu'une seule sortie pour commander les quatre lampes, ce qu'on pensait au début être un problème. Mais nous avons eu l'idée de relier les deux sorties raccordées à l'afficheur sept segments ainsi que la dernière sortie qu’il restait de disponible à un décodeur « trois vers huit » (3->8). Cette dernière va autoriser ou non l’allumage du voyant correspondant au code délivré par les deux entrées également connectées à l’afficheur. Ces sorties indiquent sur deux bits une information qui correspond au chiffre qui doit être affiché (voir le fonctionnement du sous programme afficheur). Quand il est à 1 les voyants sont éteints, le décodeur 3->8 n’en alimentant aucun, tandis qu’à 0 il allume le voyant de l’étage repéré.
Entre les Carte Pico-API et
Interface
C’est la fonction voyant() qui a le rôle de demander l’exctinction, ou l’allumage des voyants.
Troisième étape :
Lorsqu'on lui envoie 0 comme paramètre, elle demande l'extinction du
voyant.
|