FR 2748142 A1 19971031 FR 9704834 A 19970418 DISPOSITIF D'OUVERTURE DE PORTE DE GARAGE AVEC COMMANDE DE LUMIERE ARRIERE-PLAN DE L'INVENTION Cette invention concerne un dispositif d'ouverture de porte de garage commandé à distance, et, plus particulièrement un dispositif de ce type combiné intégralement avec un éclairage commandé à distance. Les dispositifs d'ouverture de porte de garage commandés à distance comprennent des lumières de garage associées qui sont allumées automatiquement lorsqu'un mouvement de porte de garage est commandé à partir d'un émetteur à distance. Un émetteur à distance envoie un signal codé pré- déterminé auquel répond un récepteur en actionnant un dispositif de mouve- ment de porte de garage et les lumières associées. Les lumières restent allu- mées pendant une période de temps prédéterminée afin de permettre une utilisation éclairée du garage, puis s'éteignent automatiquement. Avec ces dispositifs d'ouverture de porte de garage connus, un utilisa- teur peut actionner le système lorsqu'il se prépare à quitter un garage fermé, et les lumières resteront allumées pendant la période prédéterminée. Si l'utili- sateur quitte le garage avant que la période prédéterminée se soit écoulée, alors, une sortie éclairée est permise. De façon similaire, lorsqu'un utilisateur arrive à une porte de garage fermée, il ou elle peut actionner le dispositif d'ouverture de porte, la porte s'ouvrira et les lumières seront allumées et res- teront allumées pendant la période prédéterminée. Dans la situation ordinaire, I'utilisateur entrera dans le garage et le quittera à nouveau avant que les lu- mières ne s'éteignent automatiquement. Avec les systèmes d'ouverture de porte de garage connus, les lumières de l'ouverture ne sont allumées que grâce à une partie de l'exécution des commandes de mouvement de porte normales. Avec les systèmes précédents, une personne qui ouvre la porte de ga- rage mais qui attend pour une raison quelconque que les lumières se soient éteintes pour sortir du garage doit le faire dans l'obscurité. Egalement, une personne qui conduit jusqu'à une porte de garage ouverte dans l'obscurité doit rentrer dans le garage dans l'obscurité ou fermer puis réouvrir la porte afin d'obtenir une porte ouverte avec les lumières allumées. De façon simi- laire, une personne sans émetteur d'actionnement de porte qui s'approche d'un garage ouvert après que ses lumières se soient éteintes doit entrer dans un garage sombre. Ces situations créent des risques potentiels pour la sécuri- té et/ou un inconvénient pour la personne utilisant le système. Il existe un besoin pour des configurations d'éclairage améliorées en combinaison avec des dispositifs d'ouverture de porte de garage pour éliminer les problèmes d'éclairage mentionnés précédemment avec les systèmes d'ouverture de porte de garage existants. RESUME DE L'INVENTION Ce besoin est satisfait, et une avance technique est obtenue, selon l'in- vention, dans laquelle les lumières du dispositif d'ouverture de porte de ga- rage peuvent être actionnées par une personne à des moments o la porte n'est pas bougée. Dans une réalisation de l'invention, le dispositif d'actionnement à dis- tance (émetteur) du dispositif d'ouverture de porte de garage comprend une commande de porte de garage et une commande de lumière. Un récepteur du dispositif d'ouverture de porte de garage répond aux premiers signaux émis par le dispositif d'actionnement à distance en réponse à l'actionnement de la commande de porte de garage en ouvrant et en fermant la porte; les deux opérations comprennent l'allumage des lumières pour une période prédéter- minée. Le récepteur du dispositif d'ouverture de porte de garage répond de plus à des deuxièmes signaux venant du dispositif d'actionnement à distance en réponse à l'actionnement de la commande de lumière, et allumeront les lumières sans faire bouger la porte. Cette opération permet avantageusement à l'utilisateur d'allumer à distance les lumières du garage depuis le dispositif d'actionnement à distance de porte de garage sans faire bouger la porte. A chaque fois que l'utilisateur a le dispositif d'actionnement à distance de porte de garage, il ou elle peut allumer ou éteindre la lumière sans actionner le mé- canisme d'ouverture/fermeture de porte de garage. Des dispositifs d'ouverture de porte de garage modernes comprennent également une configuration de sécurité consistant en un faisceau lumineux dirigé en travers du trajet de la porte, et le dispositif d'ouverture ne permet un mouvement de la porte que lorsqu'aucune obstruction n'est détectée par le faisceau dans le trajet de la porte. Si le faisceau lumineux devait être inter- rompu par une obstruction, telle qu'une personne, la porte ne serait pas au- torisée à se refermer avant que l'obstruction ne soit retirée et que le circuit du faisceau lumineux ne soit rétabli. Dans une réalisation de la présente in- vention, lors de la détection du fait que le faisceau lumineux a été interrom- pu, une vérification est réalisée pour déterminer si la porte est stationnaire et ouverte. Si c'est le cas et que les lumières sont éteintes, les lumières de la porte de garage sont allumées. Si la porte est stationnaire et ouverte et que les lumières sont allumées, une extinction momentanée des lumières est au- torisée. La première situation ci-dessus allume les lumières à chaque fois qu'une personne marche ou conduit pour rentrer à l'intérieur d'un garage ou- vert dans lequel les lumières sont éteintes. Ceci procure des avantages signi- ficatifs du point de vue de la sécurité. La deuxième situation de clignotement momentané des lumières notifie la présence de personnes dans le garage lorsque quelqu'un est entré dans le garage. BREVE DESCRIPTION DES DESSINS La figure 1 est une vue en perspective d'un garage comportant, monté à l'intérieur de celui-ci, un dispositif d'actionnement de porte de garage re- présentant la présente invention; la figure 2 est un schéma général d'un contrôleur monté à l'intérieur de I'unité de tête du dispositif d'actionnement de porte de garage employée dans le dispositif d'actionnement de porte de garage montré en figure 1 la figure 3 est une représentation schématique du contrôleur montré sous forme de schéma général en figure 2; la figure 4 montre une alimentation destinée à être utilisée avec l'appa- reil; et la figure 5 est une description de circuit détaillée du récepteur de radio utilisé dans l'appareil la figure 6 est un schéma de circuit d'un commutateur mural utilisé dans la réalisation; la figure 7 est un schéma de circuit d'un émetteur de code roulant la figure 8 est une représentation de codes émis par l'émetteur de code roulant de la figure 7; les figures 9A à 9C sont des organigrammes du fonctionnement de l'émetteur de code roulant de la figure 7; la figure 10 est un schéma de circuit d'un émetteur à clavier; la figure 1 1 est une représentation des codes émis par l'émetteur à cla- vier de la figure 10; la figure 12 est un schéma de circuit d'un émetteur de code fixe la figure 13 est une représentation des codes émis par l'émetteur de code fixe de la figure 12; la figure 14 est un organigramme de l'interrogation du commutateur mural de la figure 6; la figure 15 est un organigramme d'un sous-programme d'effacement radio effectué par un contrôleur de la réalisation; la figure 16 est un organigramme de sous-programme d'établissement de seuils de nombres; les figures 1 7A et 17B sont des organigrammes du commencement de la réception de code radio par le contrôleur; les figures 18A à 1 8D sont des organigrammes de la réception des bits de code composant des mots de code complets; les figures 1 9A à D sont des organigrammes d'un mode d'apprentissage du système; les figures 20A à C sont des organigrammes concernant l'interprétation de codes reçus les figures 21A à C et 22 sont des organigrammes de l'interprétation de codes émis par des émetteurs du type à clavier; les figures 23A et 23B sont des organigrammes d'un sous-programme d'essai de code radio utilisé dans le système de la figure 3 la figure 24 est un organigramme d'un sous- programme de compteur de code roulant d'essai; la figure 25 est un organigramme d'un sous-programme d'effacement de mémoire de radio; les figures 26A et 26B sont des organigrammes d'un sous-programme d'interruption de minuteur; la figure 27 est un organigramme d'un sous- programme de réception d'impulsion de protection; la figure 28 est un organigramme de sous-programmes exécutés pério- diquement dans la boucle programmée principale; et la figure 29 est un organigramme de parties d'un sous-programme de descente. DESCRIPTION DETAILLEE DE LA REALISATION PREFEREE Si l'on se réfère à présent aux dessins, et en particulier à la figure 1, de façon plus spécifique, un dispositif d'actionnement de porte de barrière mo- bile ou un dispositif d'actionnement de porte de garage est globalement re- présenté dans celle-ci, et est désigné par le chiffre 10, et comprend une unité de tête 12 montée à l'intérieur d'un garage 14. De façon plus spécifique, l'unité de tête 12 est montée au plafond du garage 14 et comprend un rail 18 s'étendant à partir de celle-ci avec un chariot libérable 20 solidaire com- portant un bras 22 s'étendant vers une porte de garage à panneaux multiples 24 positionnée pour se déplacer le long d'une paire de rails de porte 26 et 28. Le système comprend une unité d'émetteur portable 30 adaptée pour envoyer des signaux à une antenne 32 positionnée sur l'unité de tête 12, et couplée à un récepteur, comme cela apparaîtra ci-après. Un boîtier de com- mande externe 34 est positionné à l'extérieur du garage, ledit boîtier com- prenant une pluralité de touches, et communiquant par émission de fréquen- ces radio avec une antenne 32 de l'unité de tête 12. Un module commuta- teur 39 est monté sur un mur du garage. Le module commutateur 39 est connecté à l'unité de tête par une paire de fils 39a. Le module commutateur 39 comprend un commutateur de lumière 39b, un commutateur de ver- rouillage 39c et un commutateur de commande 39d. Un émetteur optique 42 est connecté par l'intermédiaire d'une ligne d'alimentation et de signaux 44 à l'unité de tête. Un détecteur optique 46 est connecté par l'intermédiaire d'un fil 48 à l'unité de tête 12. Comme montré en figure 2, le dispositif d'actionnement de porte de ga- rage 10, qui comprend l'unité de tête 12, comporte un contrôleur 70 qui comprend l'antenne 32. Le contrôleur 70 comprend une alimentation 72 (figure 4) qui reçoit du courant alternatif d'une source de courant alternatif, comme, par exemple, du 110 volts alternatif, et convertit le courant alterna- tif en niveaux voulus de tension continue. Le contrôleur 70 comprend un ré- cepteur à superréaction 80 (figure 5) couplé par l'intermédiaire d'une ligne 82 pour délivrer des signaux numériques démodulés à un microcontrôleur 84. Le récepteur 80 est alimenté par l'alimentation 72. Le micro-contrôleur est également couplé par un bus 86 à une mémoire rémanente 88, cette mémoire rémanente stockant des codes d'utilisateur, et d'autres données numériques concernant le fonctionnement de l'unité de commande. Un dé- tecteur d'obstacle 90, qui comprend l'émetteur 42 et le détecteur d'infrarou- ges 46, est couplé par l'intermédiaire d'un bus de détecteur d'obstacle 92 au micro-dispositif de commande. Le bus de détecteur d'obstacle 92 comprend des lignes 44 et 48. Le commutateur mural 39 (figure 6) est connecté par l'intermédiaire des fils de connexion 39a au micro-contrôleur 84. Le micro- contrôleur 84, en réponse à des fermetures de commutateurs et des codes reçus, enverra des signaux sur une ligne de logique de relais 102 à un mo- dule à logique de relais 104 connecté à un moteur à courant alternatif 106 comportant un arbre de prise de force 108 couplé à la transmission 18 du dispositif d'actionnement de porte de garage. Un tachymètre 110 est couplé à l'arbre 108 et délivre un signal de t/min sur une ligne de tachymètre 112 au micro-contrôleur 84; le signal de tachymètre est indicatif de la vitesse de rotation du moteur. L'appareil comprend également des commutateurs de limite haute 93a et des commutateurs de limite basse 93b qui détectent res- pectivement le moment o la porte 24 est complètement ouverte ou complè- tement fermée. Les commutateurs de limite sont montrés en figure 2 sous la forme d'un boîtier fonctionnel 93 connecté au micro-contrôleur 84 par des fils 95. La figure 4 montre l'alimentation 72 pour alimenter l'appareil alimenté en courant continu de la figure 2. Un transformateur 130 reçoit du courant alternatif sur les fils 132 et 134 depuis une source externe de courant alter- natif. Le transformateur abaisse la tension à 24 volts et le courant alternatif de sortie abaissé est redressé par une pluralité de diodes 133. Le courant continu résultant est connecté à une paire de condensateurs 138 et 140 qui remplissent une fonction de filtrage. Un potentiel continu filtré de 28 volts est délivré sur une ligne 76. Le potentiel continu est délivré par l'intermé- diaire d'une résistance 142 à une paire de condensateurs de filtrage 144 et 146, qui sont connectés à un régulateur de tension de 5 volts 150, qui déli- vre une tension de sortie de 5 volts régulée, par un condensateur 152 et une diode Zener 154, à une ligne 74. Le contrôleur 70 est capable de recevoir et de répondre à une pluralité de types d'émetteurs de code, tels que l'émetteur de code roulant à touches multiples 30, l'émetteur de code fixe à touche unique 31 et l'émetteur monté sur un chambranle de porte du type à clavier 34 (appelé sans clef). Si l'on se réfère à présent à la figure 7, I'émetteur 30 est montré dans celle-ci et comprend une pile 670 connectée à trois commutateurs à boutons- poussoirs 675, 676 et 677. Lorsque l'un des commutateurs à boutons- poussoirs est enfoncé, une alimentation en 674 est validée, et alimente les circuits restants pour l'émission de codes de sécurité. La commande princi- pale de l'émetteur 30 est effectuée par un micro-contrôleur 678 qui est con- necté par un bus série 679 à une mémoire rémanente 680. Un bus de sortie 681 connecte le micro-contrôleur à un oscillateur à haute fréquence 682. Le micro-contrôleur 678 produit des signaux codés lorsqu'un bouton 675, 676 ou 677 est enfoncé, provoquant la modulation en amplitude de la sortie de l'oscillateur HF 682 de façon à délivrer un signal à haute fréquence à une antenne 683 connectée à celui-ci. Lorsque le commutateur 675 est fermé, l'alimentation est délivrée par l'intermédiaire d'une diode 600 à un condensa- teur 602, de façon à délivrer une tension de 7,1 volts à un fil 603 qui y est connecté. Une diode électroluminescente 604 indique qu'un bouton d'émet- teur a été enfoncé et délivre une tension à un fil 605 qui y est connecté. La tension sur le conducteur 605 est appliquée par l'intermédiaire d'un conduc- teur 675 pour alimenter le micro-contrôleur 678 qui est, dans cette réalisa- tion, un Zilog 125C01 13 à 8 bits. Le signal du commutateur 675 est égale- ment envoyé par l'intermédiaire d'une résistance 610, et par l'intermédiaire d'un conducteur 611, à une broche P32 du micro- contrôleur 678. De même, lorsqu'un commutateur 676 est fermé, un courant est délivré par l'intermé- diaire d'une diode 614 au fil 603, provoquant également l'excitation du cris- tal 608, alimentant le micro-contrôleur en même temps que la broche P33 du micro-contrôleur est mise au niveau haut. De façon similaire, lorsqu'un com- mutateur 677 est fermé, l'alimentation est délivrée par l'intermédiaire d'une diode 619 au cristal 608, de même qu'une tension de niveau haut est déli- vrée par l'intermédiaire d'une résistance 620 à la broche P31. Le micro-contrôleur 678 est couplé par l'intermédiaire du bus série 679 à un port de sélection, à un port d'horloge et à un port Dl dans lequel et de- puis lequel des données série peuvent être écrites et lues et auquel des adresses peuvent être appliquées. Comme on le verra ci-après dans le fonc- tionnement du micro-dispositif de commande, le micro-contrôleur 678 pro- duit des signaux de sortie sur le fil 681, ceux-ci étant délivrés à une résis- tance 625 qui est couplée à une résistance de division de tension 626, déli- vrant des signaux au fil 627. Une inductance de 30 nanohenrys 628 est couplée à un transistor NPN 629 par sa base 620. Le transistor 629 com- porte un collecteur 631 et un émetteur 632. Le collecteur 631 est connecté à l'antenne 683, qui, dans ce cas, comprend une carte de circuits imprimés, une antenne en boucle ayant une inductance de 25 nanohenrys, comprenant une partie du circuit bouchon avec un condensateur 633, un condensateur variable 634 pour le réglage, un condensateur 635 et un condensateur 636. Une inductance de 30 nanohenrys 638 est couplée à la masse par l'intermé- diaire d'un condensateur 639. Le condensateur a une résistance 640 qui est connectée à la masse en parallèle avec lui. Lorsque la sortie du fil 681 est mise au niveau haut par le micro-dispositif de commande, le transistor Q1 est commuté de façon à être passant, provoquant la délivrance en sortie d'un signal sur l'antenne 683 par le circuit bouchon. Lorsque le transistor est commuté de façon à être bloqué, la sortie d'attaque du circuit de bouchon est éteinte, ce qui provoque également l'extinction du signal de haute fré- quence sur l'antenne 683. Le micro-contrôleur 678 lit une valeur de compteur depuis la mémoire rémanente 680 et génère à partir de celle-ci un code roulant (trinaire) à 20 bits. Le code roulant à 20 bits est entremêlé avec un code fixe à 20 bits mémorisé dans la mémoire rémanente 680 de façon à former un code (trinaire) à 40 bits comme montré en figure 8. La partie de code "fixe" com- prend 3 bits 651, 652 et 653 (figure 8) qui identifient le type d'émetteur en- voyant le code et un bit de fonction 654. Comme le bit 654 est un bit tri- naire, il est utilisé pour identifier lequel des trois commutateurs 675, 676 ou 677 a été enfoncé. Si l'on se réfère aux figures 9A à 9C, I'organigramme présenté dans celles-ci décrit le fonctionnement de l'émetteur 30. Un code roulant venant de la mémoire rémanente est incrémenté de trois au cours d'une étape 500, après quoi le code roulant est mémorisé pour l'émission suivante de l'émet- teur lorsqu'un bouton d'émetteur est enfoncé. L'ordre des chiffres binaires dans le code roulant est inversé ou vu en miroir au cours d'une étape 504, après quoi, dans une étape 506, le chiffre le plus significatif est converti à zéro, de façon à tronquer efficacement le code roulant binaire. Le code rou- lant est ensuite changé en un code trinaire ayant des valeurs de 0, 1 et 2, et le code roulant trinaire initial est établi à 0. On appréciera le fait que c'est le code trinaire qui est en réalité utilisé pour modifier le signal d'oscillateur à haute fréquence, et le code trinaire est mieux vu en figure 8. On peut noter que le minutage de bits en figure 8 pour un 0 est de 1,5 millisecondes de temps d'arrêt et de 0,5 milliseconde de temps de fonctionnement, qu'il est de 1 milliseconde de temps d'arrêt et de 1 milliseconde de temps de fonc- tionnement pour un 1 et de 0,5 milliseconde de temps d'arrêt et de 1,5 milli- secondes de temps de fonctionnement pour un 2. Le temps de fonctionne- ment est en fait le temps actif lorsque la porteuse est générée. Le temps d'arrêt est le temps inactif lorsque la porteuse est interrompue. Les codes sont assemblés en deux trames, comprenant chacune 20 bits trinaires, la première trame étant identifiée par un bit de synchronisation de 0,5 millise- conde, la deuxième trame étant identifiée par un bit de synchronisation de 1,5 millisecondes. Au cours d'une étape 510, la puissance voisine la plus élevée de 3 est soustraite du code roulant, et, au cours d'une étape 512, un essai est réalisé pour déterminer si le résultat est égal à zéro. Si c'est le cas, le chiffre le plus significatif suivant du code roulant binaire est incrémenté au cours d'une étape 514, après quoi le processus retourne à l'étape 510. Si le résultat n'est pas supérieur à 0, la puissance suivante la plus élevée de 3 est ajoutée au code roulant au cours de l'étape 516. Dans l'étape 518, une autre puis- sance la plus élevée de 3 est incrémentée, et, au cours d'une étape 520, un essai détermine si le code roulant est terminé. Sinon, la commande est re- transférée à l'étape 510. Si oui, la commande est transférée à l'étape 522 afin de vider le compteur de bits. Au cours d'une étape 524, le minuteur de silence est essayé pour déterminer s'il est actif ou non. Dans le cas contraire, un essai est réalisé au cours d'une étape 526 pour déterminer si le temps de silence a expiré. Si le temps de silence n'a pas expiré, la commande est transférée à une étape 528, dans laquelle le compteur de bits est incrémenté, après quoi la commande est retransférée à l'étape de décision 524. Si le temps de silence a expiré, comme mesuré dans l'étape de décision 526, le minuteur de silence est arrêté dans une étape 530, et le compteur de bits est incrémenté dans une étape 532. Le compteur de bits est ensuite essayé pour savoir s'il est impair ou pair au cours d'une étape 534. Si le compteur de bits n'est pas pair, la commande est transférée dans une étape 536 dans laquelle le bit du compteur de bits de code fixe divisé par deux est délivré en sortie. Si le compteur de bits est pair, le compteur de bits de code roulant divisé par deux est délivré en sortie dans une étape 538. Grâce à l'opération des étapes 534, 536 et 538, les bits de code roulant et les bits de code fixe sont émis en alternance. Le compteur de bits est essayé pour déterminer s'il est mis à une valeur égale à 80 au cours d'une étape 540. Si oui, le compteur de si- lence est démarré au cours d'une étape 542. Sinon, le compteur de bits est essayé pour savoir s'il est égal à 40 au cours d'une étape 544. Si oui, le mi- nuteur de silence est essayé et est démarré au cours d'une étape 544. Si le compteur de bits n'est pas égal à 40, la commande est retransférée à l'étape 522. La figure 10 montre un émetteur de code roulant du type à clavier 34 qui est parfois désigné sous le nom d'émetteur sans clef parce qu'il remplace une entrée de type ancien dans lequel on utilisait une clef réelle. L'émetteur 34 comprend un microprocesseur 715 et une mémoire rémanente 717 ali- mentée par une pile commutée 719. Il comprend également 13 touches 701 à 713 connectées sous un format de rangées et de colonnes. La pile 719 ne délivre pas, normalement, d'alimentation à l'émetteur. Lorsqu'une touche, par exemple 701, est enfoncée, le courant circule à travers des résistances connectées en série 714 et 716, et, à travers le commutateur enfoncé, vers la masse. La division de tension par des résistances 714 et 716 provoque la commutation en service de l'alimentation 720, la délivrance de l'alimentation de la pile 719 au microprocesseur 715, à la mémoire 717 et à un étage émetteur HF 721. Initialement, le microprocesseur 71 5 valide un circuit de mise en marche 723 afin de provoquer la conduction d'un transistor 724, de façon à maintenir par conséquent active l'alimentation 720. Le microproces- seur 71 5 comprend un minuteur qui invalide le circuit de mise en marche 723 pendant une période de temps prédéterminée, par exemple 10 secondes, après que la dernière touche 701 à 713 ait été enfoncée, de façon à préser- ver la durée de vie de la pile. Les conducteurs de rangées et de colonnes sont détectés de façon ré- pétée sur les bornes d'entrée L0 à L7 du microprocesseur 715, de telle sorte que le microprocesseur 715 puisse lire chaque touche enfoncée et mémoriser une représentation de celle-ci. Un opérateur humain appuie sur un certain nombre de touches, par exemple quatre, après quoi il appuie sur la touche d'entrée 712, la touche * 711 ou la touche # 713. Lorsque l'une des tou- ches 711 à 713 est enfoncée, le microprocesseur 715 génère un code (trinaire) à 40 bits qui est envoyé par l'intermédiaire de conducteurs 722 à l'étage émetteur 721 pour l'émission. Le code est formé par le microproces- seur 715 à partir d'une partie de code fixe et d'une partie de code roulant de la façon précédemment décrite en relation avec l'émetteur 30. La partie de code fixe comprend toutefois un numéro de série associé à l'émetteur 34 et une partie d'enfoncement de touche identifiant les quatre touches enfoncées et celle des trois touches 711 à 713 qui a déclenché l'émission. La figure 11 représente le code émis par l'émetteur à clavier 34. Comme avec la précé- dente émission de code roulant, le code se compose de bits de codes fixe et roulant alternés (trinaires). Les bits 730 à 749 sont les bits de code fixe. Les bits 730 à 739 représentent les touches enfoncées et les bits 740 à 748 représentent le numéro de série de l'unité, et, dans ceux- ci, les bits 746 à 748 représentent le type d'émetteur. Dans certains émetteurs 34, il n'y a ni touche * ni touche #. Dans cette situation, les touches * et # sont respecti- vement simulées par un enfoncement simultané de la touche 9 et de la tou- che d'entrée ou de la touche 0 et de la touche d'entrée. La figure 12 est une description de circuit d'un émetteur de code fixe 31 qui comprend un contrôleur 1 55, une paire de commutateurs 113 et 115, une pile 114 et un étage émetteur HF 161 du type décrit ci-dessus. Le con- trôleur 155 est un dispositif relativement simple et peut être un circuit logi- que à combinaison. Le contrôleur 155 mémorise en permanence 19 bits (trinaires) du code fixe à 20 bits (figure 13) devant être émis. Lorsqu'un commutateur, par exemple 113, est enfoncé, le courant de la pile 114 est appliqué, par l'intermédiaire du commutateur 113 et d'une diode 117, à une source de 7,1 volts 116 qui alimente l'étage émetteur HF 161. La source de 7,1 volts est également connectée à la masse par l'intermédiaire d'une diode électroluminescente 120 et d'une diode Zener 121 qui produit une source de ,1 volts régulée 118. La source de 5,1 volts est connectée de façon à ali- menter le contrôleur 155. La fermeture du commutateur 11 3 applique également la tension de la pile à des résistances connectées en série 1 23 et 127 de telle sorte que, lors de la fermeture du commutateur 1 1 3, une tension sur un conducteur 122 s'élève sensiblement de la masse à une valeur représentant un " 1" logique. Lors de la mise en marche, le contrôleur 1 55 lit le 1 logique sur le conduc- teur 122 et génère un code (trinaire) à 20 bits à partir des 19 bits mémorisés en permanence dans le contrôleur et de l'état du commutateur 113. Le con- trôleur 155 émet alors le code à 20 bits vers l'étage HF 161 par l'intermé- diaire d'une résistance 159 et d'un conducteur 157. Le code est ainsi transmis au récepteur 80. Le contrôleur 1 55 comprend un oscillateur interne régulé par un circuit RC 124 afin de commander le minutage des opérations du dispositif de commande. La figure 13 représente le code émis par un émetteur de code fixe tel que l'émetteur 30. Le code comprend 20 bits en deux mots de 10 bits avec une période muette entre les mots. Chaque mot est précédé par un bit de synchronisation qui permet la synchronisation du récepteur et qui identifie le type de code envoyé. Le bit de synchronisation pour le premier mot de code est actif pendant approximativement 1,0 milliseconde, et le bit de synchroni- sation du deuxième mot est actif pendant approximativement 3 millisecon- des. Le commutateur mural 39 est montré en détail en figure 6, avec une partie du micro-contrôleur 85 et des circuits d'interrogation/détection inter- connectant les deux. Le commutateur mural 39 comprend trois commuta- teurs 39b à 39d. Le commutateur 39d est le commutateur de commande qui est connecté directement entre les conducteurs 39a. Le commutateur 39b, le commutateur de lumière, est connecté entre les conducteurs 39a par l'inter- médiaire d'un condensateur de 1 microfarad 386. Le commutateur 39c, qui est le commutateur d'inutilisation ou de verrouillage, est connecté entre les conducteurs 39a par un condensateur de 22 microfarads 384. Le commuta- teur mural 39 comprend également une résistance 380 et une diode 392 connectés en série entre les conducteurs 39a. Le micro-contrôleur 85 inter- roge le commutateur mural 39 approximativement toutes les 10 millisecondes afin de déterminer si un bouton 39b à d est enfoncé. La figure 14 est un organigramme pour l'interrogation. Au commencement (étape 802, figure 14) de chaque essai, le micro-contrôleur 85 rend passant le transistor 368b grâce à un signal appliqué de la broche P35 à la base du transistor 368a, et, en même temps, bloque un transistor 369 à partir de la broche P37. Les bro- ches P07 et P06 sont connectées de façon à lire le niveau de tension entre les conducteurs 39a par un conducteur 385 et des résistances respectives 387 et 389. Si les broches P07 et P06 sont au niveau bas (étape 804), le commutateur de commande 39d est fermé (étape 806) et un bit d'état est marqué en mémoire vive (étape 830) pour indiquer cela. D'une autre façon, si les broches P07 et P06 sont au niveau haut, d'autres essais (étape 803) doivent être effectués. Tout d'abord, le micro-contrôleur 85 bloque le transis- tor 368b et rend passant le transistor 369. Ensuite, après une courte pause (étape 810) pour permettre à la capacité résiduelle de se décharger, les bro- ches P07 et P06 sont à nouveau détectées (étape 812). Si P07 et P06 sont au niveau bas, aucun commutateur n'a été fermé (étape 814) et leur état en mémoire vive est ainsi établi (étape 830). Toutefois, si, après la courte pause, le niveau du conducteur 385 est haut, le micro-contrôleur 85 attend approximativement 2 millisecondes (étape 816) et essaye à nouveau (étape 818) le niveau de tension du conducteur 385. Si la tension est à présent basse, le commutateur de lumière 396 a été fermé (étape 820). Cette affir- mation peut être faite car 2 millisecondes est le temps adéquat pour la dé- charge du condensateur de 1 microfarad 386. Si l'entrée sur les broches P07 et P06 est toujours haute lors de l'essai de 2 millisecondes, le contrôleur ef- fectue un nouvel essai (étape 824) après un délai additionnel de 16 millise- condes (étape 822). Si les broches P07 et P06 sont au niveau bas après le délai de 16 millisecondes, le commutateur d'inutilisation 39c a été fermé (étape 826) et, autrement, si la tension sur les broches P07 et P06 est au niveau haut, aucun commutateur n'a été fermé (étape 828). Lors de l'achè- vement de l'essai du commutateur mural, les bits d'état des trois commuta- teurs 39b, 39c et 39d sont établis de façon à réfléchir leur état identifié (étape 830). Le récepteur 80 est montré en détail en figure 5. Des signaux HF peu- vent être reçus par le contrôleur 70 au niveau de l'antenne 32 et délivrés au récepteur 80. Le récepteur 80 comprend une paire d'inductances 170 et 172 et une paire de condensateurs 174 et 176 qui assurent une adaptation d'im- pédance entre l'antenne 32 et les autres parties du récepteur. Un transistor NPN 178 est connecté sous une configuration en base commune pour jouer le rôle d'amplificateur tampon. Le signal de sortie HF est délivré sur une ligne , couplé entre le collecteur du transistor 178 et un condensateur de couplage 220. Le signal à haute fréquence transmis par une mémoire tampon est délivré par l'intermédiaire du condensateur de couplage 222 à un circuit accordé 224 comportant une inductance variable 226 connectée en parallèle avec un condensateur 228. Les signaux venant du circuit accordé 224 sont délivrés sur une ligne 230 à un condensateur de couplage 232 qui est con- necté à un transistor NPN 234 au niveau de sa base. Le collecteur 240 du transistor 234 est connecté à un condensateur de rétroaction 246 et à une résistance de rétroaction 248. L'émetteur est également couplé au condensa- teur de rétroaction 246 et à un condensateur 250. Une inductance de lissage 256 délivre un potentiel de masse à une paire de résistances 258 et 260 ainsi qu'à un condensateur 262. La résistance 258 est connectée à la base du transistor 234. La résistance 260 est connectée par l'intermédiaire d'une inductance 264 à l'émetteur du transistor 234. Le signal de sortie du transis- tor est délivré vers l'extérieur sur une ligne 212 vers un condensateur élec- trolytique 270. Comme montré en figure 5, le condensateur 270 couple le signal à haute fréquence démodulé du transistor 234 à un amplificateur passe-bande 280 vers un détecteur de moyenne 282. Une sortie de l'amplificateur passe- bande 281 est couplée à la broche P32 d'un micro-contrôleur Z86223 85. De façon similaire, une sortie du détecteur de moyenne 282 est connectée à la broche P33 du micro-dispositif de commande. Le micro-contrôleur est ali- menté par l'alimentation 72 et est également commandé par le commutateur mural 39 couplé au micro-contrôleur par le fil 39a. La broche P26 du micro-contrôleur 85 est connecté à un commutateur de programme de mise à la masse 151 qui est disposé au niveau de l'unité d'extrémité de tête 12. Le micro-contrôleur 85 lit périodiquement le commu- tateur 151 pour déterminer s'il a été enfoncé. Comme décrit ci-après, le * commutateur 151 est normalement enfoncé par un opérateur qui désire en- trer dans un mode d'apprentissage ou de programmation pour ajouter un nouvel émetteur aux émetteurs acceptés qui ont été mémorisés en dernier dans le récepteur. Lorsque l'opérateur appuie de façon continue sur le com- mutateur 1 51 pendant 6 secondes ou plus, toutes les configurations de mé- moire sont réécrites et un réapprentissage complet des codes d'émetteur et du type de codes devant être reçus est alors nécessaire. L'enfoncement du commutateur 151 pendant un temps momentané après un enfoncement pendant 6 secondes ou plus fait entrer l'appareil dans un mode d'apprentis- sage d'un nouveau type d'émetteur, qui peut être soit le type à code roulant soit le type à code fixe. Les broches P30 et P03 du micro-contrôleur 85 sont connectées à un détecteur d'obstacle 90 par l'intermédiaire d'un conducteur 92. Le détecteur d'obstacle 90 émet une impulsion sur le conducteur 92 toutes les 10 millise- condes lorsque le faisceau d'infrarouges entre l'émetteur 42 et le récepteur n'a pas été interrompu par un obstacle. Lorsque le faisceau d'infrarouge est bloqué, une ou plusieurs impulsions seront ratées par le détecteur d'obstacle 46. Le micro-contrôleur balaye le signal sur le conducteur 92 toutes les milli- secondes pour déterminer si une impulsion a été reçue au cours des 12 der- nières millisecondes. Lorsqu'une impulsion n'a pas été reçue, on suppose qu'il y a un obstacle, et une action appropriée, comme décrit ci-dessous, peut être entreprise. La broche P31 du micro-contrôleur est connectée au tachymètre 110 par l'intermédiaire du conducteur 112. Lorsque le moteur 106 tourne, des impulsions ayant une séparation dans le temps proportionnelle à la vitesse du moteur sont envoyées sur le conducteur 112. Les impulsions sur le conduc- teur 11 2 sont balayées de façon répétée par le micro-contrôleur 85 afin d'identifier si le moteur 106 tourne, et, si c'est le cas, à quelle vitesse se produit la rotation. L'appareil comprend un commutateur de limite de montée 93a et un commutateur de limite de descente 93b qui détectent le déplacement maxi- mal vers le haut de la porte 24 et le déplacement maximal vers le bas de la porte. Les commutateurs de limite 93a et 93b peuvent être connectés à la structure du garage et détecter physiquement le mouvement de la porte, ou, comme dans la présente réalisation, ils peuvent être connectés à une liaison mécanique à l'intérieur de l'extrémité de tête 12, cette configuration dépla- çant une dent (non représentée) proportionnellement au mouvement réel de la porte, et les commutateurs de limite détectent la position de la dent dépla- cée. Les commutateurs de limite sont normalement fermés. Lorsque la porte est dans son déplacement maximal vers le haut, le commutateur de limite de montée 93a est fermé, cette fermeture étant détectée par le port P20 du mi- cro-contrôleur 85. Lorsque la porte est dans sa position basse maximale, le commutateur de limite de descente 93b se fermera, cette fermeture étant détectée au niveau du port P21 du micro-contrôleur 85. Le micro-contrôleur 85 répond aux signaux reçus du commutateur mural 39, des émetteurs 30 et 34, des commutateurs de limites de montée et de descente, du détecteur d'obstruction et du signal de t/min en commandant le moteur 106 et la lumière 81 aux moyens des relais de commande de lumière et de moteur 104. L'état allumé ou éteint de la lumière 81 est commandé par un relais 105b, qui est alimenté par la broche P01 du microcontrôleur 85 et un transistor d'attaque 105a. Les enroulements de montée du moteur 106 sont alimentés par un relais 107b qui répond à la broche POO du micro- contrôleur 85 par l'intermédiaire d'un transistor d'attaque 107a, et les enrou- lements de descente sont alimentés par un relais 109b qui répond à la bro- che P02 du micro-contrôleur 85 par l'intermédiaire d'un transistor d'attaque 109a. Chacune des broches P00, P01 et P02 est associée à un bit cartogra- phié en mémoire, tel qu'une bascule, o l'on peut écrire et d'o l'on peut lire. La lumière peut ainsi être allumée par l'écriture d'un "1" logique dans le bit associé à la broche P01 qui rendra passant le transistor 105a, excitant le relais 105b, provoquant l'allumage des lumières par l'intermédiaire des con- tacts du relais 105b connectant une entrée alternative chaude 135 à la sortie de lumière 136. L'état de la lumière 81 peut être déterminé en lisant le bit associé à la broche P01. Des actions similaires concernant les broches POO et P02 sont utilisées pour commander la rotation de montée et de descente du moteur 106. On mentionnera toutefois que l'excitation du relais de lu- mière 105b délivre une entrée alternative chaude aux relais de montée et de descente du moteur 107b et 109b, de telle sorte que la lumière puisse être commandée à chaque fois qu'un mouvement de porte est désiré. Le micro-contrôleur logique et de décodage de radio 84 (figure 2) selon la présente invention peut répondre aussi bien aux codes roulants montrés en figure 8 qu'aux codes fixes montrés en figure 13; toutefois, après qu'il ait appris un type de code, tous les codes admissibles seront du même type jus- qu'à ce que la mémoire du système ait été effacée et que l'autre type de code ait été entré et que ce soit à celui-ci qu'il soit exclusivement répondu. Lorsque l'appareil est tout d'abord mis en marche ou après que les valeurs de commande de mémoire aient été effacées en réponse à un enfoncement pendant plus de 6 secondes du bouton de programmation 151, le système ne sait pas si on va lui apprendre à répondre aux codes fixes ou aux codes roulants. Par conséquent, le système entre dans un mode d'essai pour lui permettre de recevoir les deux types de codes d'accès et de déterminer quel type de code est reçu. Dans le mode d'essai, I'appareil se remet lui-même périodiquement à zéro pour recevoir l'un des codes roulants, ou, autrement, des codes fixes, jusqu'à ce qu'un code du type attendu soit reçu. Une courte pression sur le commutateur 151 après la pression de 6 secondes ou plus provoque l'entrée d'un mode d'apprentissage. Lorsqu'un mode est reçu cor- rectement dans le mode d'essai, et que l'appareil est dans un mode d'ap- prentissage, le type de code attendu devient le type de code devant être re- çu, et le code fixe reçu ou la partie de code fixe d'un code roulant reçu est mémorisé dans une mémoire rémanente afin de l'utiliser à la recherche de concordance avec les codes reçus par la suite. Dans le cas de la réception d'un code roulant, la partie de code roulant est également mémorisée en as- sociation avec la partie de code fixe mémorisée devant être utilisée pour la recherche de concordance avec les codes roulants reçus par la suite. Après qu'un code roulant ait été appris par le système, seuls des codes roulants additionnels peuvent être appris jusqu'à ce qu'une reprogrammation se pro- duise. De façon similaire, après qu'un code fixe ait été appris, seuls des co- des fixes additionnels peuvent être reçus et appris jusqu'à ce qu'une repro- grammation se produise. De temps en temps lorsque l'on reçoit des codes entrants, il est déter- miné qu'un code reçu n'est pas approprié, et un sous-programme de silence de radio (figure 15) est appelé par le micro-contrôleur 85. Une étape de dé- cision 50 est tout d'abord effectuée afin de déterminer si l'appareil est dans un mode d'essai ou dans un mode normal. Lorsqu'il n'est pas dans un mode d'essai, le processus passe à une étape 62 pour effacer les codes de radio et le minuteur de silence, après quoi le sous-programme est excité. Lorsque l'étape de décision 50 identifie le mode d'essai, les étapes 52 à 60 sont ef- fectuées afin de sélectionner arbitrairement le mode de code fixe ou de code roulant et d'établir les valeurs nécessaires pour rechercher le mode sélection- né. Au cours de l'étape 52, le bit le moins élevé d'un minuteur continu est sélectionné pour le programme de calcul d'adresse. La valeur du bit le plus bas est ensuite analysée au cours d'une étape de décision 54. Lorsque le bit le plus bas est un "1", le mode d'essai fixe est sélectionné au cours de l'étape 56, et les seuils numériques nécessaires pour recevoir des codes fixes sont mémorisés au cours d'une étape 60 avant d'effacer les codes de radio et de sortir dans l'étape 62. Lorsque l'étape de décision 54 détermine que le bit le plus bas est un "0"o, le mode de code roulant est sélectionné au cours de l'étape 58, ceci étant suivi par la mémorisation de valeurs de seuils nu- mériques de code roulant au cours de l'étape 60. Le processus passe à l'étape 62 lorsque les codes de radio sont effacés et que l'on sort du sous- programme d'effacement de radio. Le sous-programme d'établissement de seuils de nombres (étape 60 de la figure 15) est montré plus en détail en figure 16. Initialement, une étape 180 est effectuée pour identifier quel est le mode actuellement sélectionné. Lorsqu'il est déterminé que le mode est un mode de code fixe, les étapes 182, 184 et 186 sont ensuite effectuées pour établir le seuil de synchroni- sation à 2 millisecondes, le nombre de bits par mot à 10 et le seuil de déci- sion à 0,768 milliseconde. Autrement, lorsque l'étape 180 détermine que le mode de code roulant est sélectionné, les étapes 192, 194 et 196 sont ef- fectuées pour établir le seuil de synchronisation à 1 milliseconde, le nombre de bits par mot à 20 et le seuil de décision à 0,450 milliseconde. Après la réalisation de l'étape 186 ou 1 96, le sous-programme retourne à l'étape 188. Le sous-programme d'analyse de code reçu en premier, effectué par le micro-contrôleur 85, commence en figure 17A en réponse à une interruption générée par un front montant ou descendant reçu du récepteur 80 sur les broches P32 et P33. Etant donné le format de largeur d'impulsion des si- gnaux codés, le micro-contrôleur maintient actifs ou inactifs des minuteurs pour mesurer la durée entre les fronts montant et descendant du signal radio détecté. Initialement, une étape 546 est effectuée lorsqu'une transition de signal radio est détectée, et une étape 548 suit pour capturer le minuteur inactif et effectuer le sous-progamme d'effacement de radio. Ensuite, on dé- termine dans l'étape 550 si la transition était un front montant ou descen- dant. Lorsqu'un front montant est détecté, l'étape 552 est ensuite effectuée, et, dans celle-ci, le minuteur capturé est mémorisé, ceci étant suivi par un retour dans l'étape 554. Lorsqu'un front descendant est détecté dans l'étape 550, la valeur du minuteur capturé dans l'étape 548 est mémorisée (étape 556) dans le minuteur actif. Une étape de décision 558 est ensuite effectuée pour déterminer s'il s'agit de la première partie d'un nouveau mot. Lorsque le compteur de bits est égal à "0" il s'agit d'une première partie dans laquelle une impulsion de synchronisation est attendue, et le processus passe à l'étape 560 (figure 17B). Dans l'étape 560, la valeur d'inactivité du minuteur est mesurée pour voir si elle dépasse 20 millisecondes mais si elle est inférieure à 100 millise- condes. Lorsque le minuteur inactif n'est pas dans la plage, l'étape 562 est effectuée pour effacer le compteur de bits, le registre de code roulant et le registre de code fixe. Ensuite, un retour est effectué. Lorsque le minuteur inactif est dans la plage de l'étape 560, l'étape 566 est effectuée pour dé- terminer si le minuteur actif est inférieur à 4,5 millisecondes. Lorsque le mi- nuteur actif est trop long, les valeurs sont effacées dans l'étape 568, après quoi on effectue un retour dans l'étape 582. Lorsqu'il se révèle que le minuteur actif est inférieur à 4,5 millisecondes dans l'étape 566, une impulsion de synchronisation a été trouvée, le comp- teur de bits est incrémenté dans l'étape 570 et une étape de décision 572 est effectuée. Dans l'étape de décision 572, le minuteur actif est comparé au seuil de synchronisation établi dans le sous-programme d'établissement de seuils de nombres de la figure 16. Par conséquent, l'étape de décision 572 utilise une valeur de 2 millisecondes lorsqu'un code fixe est attendu et une valeur de 1 milliseconde lorsqu'un code roulant est attendu. Lorsque l'étape 572 détermine que le minuteur actif dépasse le seuil, un indicateur de trame 2 est établi dans l'étape 574 et un indicateur de code sans clé fixe est effacé dans l'étape 576. Ensuite, un retour est effectué dans l'étape 582. Lorsque l'on découvre dans l'étape 572 que le minuteur actif est inférieur au seuil de synchronisation, une étape de décision 578 est effectuée pour déterminer si deux impulsions de synchronisation successives avaient la même longueur. Dans le cas contraire, l'indicateur de code sans clef est effacé dans l'étape 576 et un retour est effectué dans l'étape 582. Autrement, lorsque deux im- pulsions de synchronisation successives égales sont détectées dans l'étape 578, l'indicateur de code sans clef fixe est établi dans l'étape 580 et un re- tour est réalisé dans l'étape 582. Lorsque le déroulement de l'étape 558 identifie que le compteur de bits n'est pas de "0", ce qui indique un bit de non-synchronisation, le processus passe à l'étape 302 (figure 18A). Dans la séquence d'étapes montrée dans les figures 18A à 18D, le micro-contrôleur 85 identifie les bits de code indi- viduels d'un mot de code reçu. Dans l'étape 302, la longueur de la période active est comparée à 5,16 millisecondes, et, lorsque la période active n'est pas inférieure, les registres et les compteurs sont effacés et un retour est effectué. Lorsque l'étape 302 indique que la période active était inférieure à ,16 millisecondes, une étape 306 est effectuée pour déterminer si la pé- riode inactive est inférieure à 5,16 millisecondes. Si elle est inférieure, l'étape 304 est effectuée afin d'effacer les valeurs et d'effectuer un retour. Autre- ment, lorsque l'étape 306 reçoit une réponse affirmative, un bit a été reçu et le compteur de bits est incrémenté dans une étape 308. Dans l'étape sui- vante 310, les valeurs des minuteurs actif et inactif sont soustraites et le résultat est comparé dans l'étape 312 au complément du seuil de décision pour le type de code attendu. Lorsque le résultat est inférieur au complément du seuil de décision, une valeur de bit de "0" a été reçue, et le processus passe, par l'intermédiaire d'une étape 314, à l'étape 322 (figure 18B) o il est déterminé si oui ou non on attend un code roulant. Lorsque l'étape 312 détermine que la différence de temps n'est pas in- férieure au complément de seuil de décision, le processus passe au cadre de décision 316 (figure 18B), o le résultat est comparé au seuil de décision. Lorsque le résultat dépasse le seuil de décision, un bit ayant une valeur de 2 a été reçu et le processus passe, par l'intermédiaire de l'étape 318, à l'étape de décision 322. Lorsque l'étape de décision 316 détermine que le résultat ne dépasse pas le seuil de décision, un bit ayant une valeur de 1 a été reçu, et le processus passe, par l'intermédiaire de l'étape 320, à l'étape de déci- sion 322. Au cours de l'étape 322, le micro-contrôleur 85 identifie si des codes roulants sont attendus. Dans le cas contraire, le processus passe à l'étape 338 (figure 18C), o la valeur de bit est mémorisée sous la forme d'un bit de code fixe. Lorsque des codes roulants sont attendus, le processus passe du cadre 322 à une étape de décision 324 o le compteur de bits est vérifié pour identifier si un bit de code fixe ou un bit de code roulant est reçu. Lors- que l'étape 324 identifie un bit de code roulant, le processus passe directe- ment à une étape 340 (figure 18C) pour déterminer s'il s'agit du dernier bit d'un mot. Lorsqu'un bit fixe est détecté au cours de l'étape 324, sa valeur est mémorisée dans une étape 326, et une étape 328 est effectuée pour identifier si le bit reçu actuellement est un bit d'identification. Si le compteur de bits identifie un bit d'identification, une étape 330 est effectuée pour mémoriser le bit d'identification, et le processus passe à l'étape de mémori- sation 338 (figure 18C). Lorsque l'étape 328 détermine que le bit reçu ac- tuellement n'est pas un bit d'identification, le processus passe à l'étape 334 (figure 18C) pour déterminer si le bit reçu actuellement est un bit de fonc- tion. S'il s'agit d'un bit de fonction, sa valeur est mémorisée sous la forme d'un indicateur de fonction dans l'étape 336, et le processus passe à l'étape 338 pour la mémorisation sous la forme d'un bit de code fixe. Lorsque l'étape 334 indique que le bit actuellement reçu n'est pas un bit de fonction, le processus passe directement à l'étape 338. Après l'étape de mémorisation 338, le processus pour la réception de bit fixe passe également à l'étape 340 afin de déterminer si un mot complet a été reçu. Cette détermination est faite en comparant le compteur de bits aux valeurs de seuil établies pour le type de code attendu. Lorsque moins d'un mot a été reçu, le processus passe à l'étape 342 afin d'attendre d'autres bits. Lorsqu'un mot complet a été reçu, le processus passe à une étape 344 o le minuteur de silence est remis à zéro. Ensuite, le processus passe à l'étape de décision 346 pour déterminer si deux mots complets (un code complet) ont été reçus. Lorsque deux mots complets n'ont pas été reçus, le processus passe au cadre 348 pour attendre les chiffres d'un nouveau mot. Lorsque deux mots complets sont détectés dans l'étape 346, le processus passe à l'étape 350 (figure 18D) pour déterminer si des codes roulants sont attendus. Lorsque des codes roulants ne sont pas attendus, le processus passe à l'étape 358. Lorsque des codes roulants sont attendus, le processus passe de l'étape 350, par l'intermédiaire de la restauration du code roulant dans une étape 352, à une étape de décision 354 o il est identifié si les bits d'identification indiquent un émetteur à entrée sans clef, par exemple l'émet- teur 34. Lorsqu'un code d'émetteur à entrée sans clef est détecté, un indica- teur est établi dans l'étape 356, et le processus passe à une étape de déci- sion 362, décrite ci-dessous. Lorsque l'étape 354 indique que le code ne vient pas d'un émetteur sans clef, le processus passe à l'étape de décision 358 pour identifier si un indicateur d'inutilisation est établi dans la mémoire. L'indicateur d'inutilisation est établi en réponse à un commutateur d'inutilisa- tion actionné par une personne, et, lorsque l'indicateur d'inutilisation est établi, aucun code de radio n'est autorisé à actionner l'ouverture de la porte, alors que les codes d'émetteurs à clavier (sans clef) tels que 34 sont autori- sés à actionner le système. Par conséquent, si un indicateur d'inutilisation est détecté dans l'étape 358, le code est rejeté et un retour est effectué. Lorsqu'aucun indicateur d'inutilisation n'a été établi, le processus passe à une étape 362 o il est déterminé si un mode d'apprentissage est établi. Les modes d'apprentissage peuvent être établis par différents types d'interaction de l'opérateur. Le commutateur de programme 151 peut être enfoncé. Ega- lement, par pré-programmation, le microprocesseur 85 reçcoit l'instruction d'interpréter l'enfoncement et le maintien des boutons de commande et de lumière de la commande murale 39 tout en alimentant un émetteur de code. De plus, des commandes de radio précédentes peuvent mettre le système dans un mode d'apprentissage. La décision dans l'étape 362 ne dépend pas de la façon dont le mode d'apprentissage est établi, mais simplement du fait de savoir si un mode d'apprentissage est demandé. En ce point, on suppose qu'un mode d'apprentissage a été établi et que le processus passe à l'étape750 (figure 19A). Dans l'étape 750, une détermination est réalisée concernant le type de code attendu. Lorsqu'un code fixe est attendu, le processus passe à l'étape 756 o le code fixe actuel est comparé au code fixe précédent. Lorsque l'étape 756 ne détecte pas de concordance, le code actuel est mémorisé dans un registre de code passé, et un retour est exécuté. Lorsque l'étape 750 identifie qu'un code roulant est attendu, une étape 752 est exécutée pour déterminer si le code roulant actuel correspond au code roulant passé. Si aucune concordance n'est trouvée, le processus passe à l'étape 754 o le code actuel est mémorisé dans un registre de code passé, et un retour est exécuté. Lorsque l'étape 752 détermine que les codes roulants correspon- dent, la partie fixe du code roulant reçu est comparée aux parties fixes pas- sées dans l'étape 756. Lorsqu'aucune concordance n'est détectée, le code est mémorisé dans un registre de code passé, et un retour est exécuté. Lors- que l'étape 756 détecte une concordance, le processus passe à l'étape 758 pour identifier si l'apprentissage a été demandé par la commande murale 39. Dans le cas contraire, le processus passe à l'étape 766 (figure 19B) o il est établi que la fonction d'émetteur est d'être un émetteur de commande stan- dard. Lorsque l'étape 758 détermine que le mode d'apprentissage a été commencé à partir de la commande murale 39, le processus passe à l'étape 760 afin de déterminer si des codes fixes ou roulants sont attendus. Lorsque des codes fixes sont attendus, le processus passe à l'étape 766 (figure 1 9B) o il est établi que la fonction est d'être celle d'un émetteur de commande standard. Lorsque des codes roulants sont identifiés dans l'étape 760, le processus passe à l'étape 762 (figure 19B). Dans l'étape 762, il est déterminé si les commutateurs de lumière et d'inutilisation de la commande murale 39 sont maintenus. Si c'est le cas, il est établi que l'émetteur n'est qu'un commutateur de lumière dans l'étape 763, et le processus passe à l'étape 768. Lorsqu'il est répondu à l'étape 762 par la négative, le processus passe à l'étape 764 pour déterminer si les commutateurs d'inutilisation et de commande sont maintenus. Si c'est le cas, le processus passe à l'étape 765 pour établir la fonction de l'émetteur comme étant une fonction d'ouverture/fermeture/arrêt, et le processus passe à l'étape 768. Lorsque l'étape 764 détermine que les commutateurs d'inutilisation et de commande ne sont pas maintenus, le processus passe à l'étape 766, dans laquelle l'émetteur est marqué comme un émetteur de commande standard. Après l'étape 766, une étape 768 est effectuée pour identifier si le code reçu est dans la mémoire de code de radio. Si le code actuel est dans la mémoire de code de radio, le processus passe à l'étape 794 (figure 19C). Si le code reçu n'est pas dans la mémoire de code de radio, le processus passe de l'étape 768 à l'étape 780 pour déterminer si le système est dans un mode permanent ou un mode d'essai. Lorsque l'étape 780 détermine que le système est dans un mode d'essai, le mode de radio en cours, qu'il soit fixe ou roulant, est établi comme un mode permanent dans l'étape 782, et le processus passe à une étape 784 pour établir les seuils actuels en mémorisant un pointeur vers l'emplacement de mémoire en mémoire morte dans la mémoire permanente. Après l'étape 784, le processus passe à l'étape 786 (figure 19C) pour déterminer si le code actuel vient de l'émetteur à clavier, et spécifie un code d'entrée 0000. Si c'est le cas, l'étape 787 est exécutée, et, dans cette étape, le code reçu est rejeté, et un retour est exécuté alors que l'on reste dans le mode d'apprentissage. Lorsque le code 0000 n'est pas présent, le processus passe à l'étape 788 pour trouver si une touche de non entrée (* ou #) a été enfoncée. Si c'est le cas, le processus passe à l'étape 787. Si ce n'est pas le cas, le processus passe à l'étape de décision 789 pour identifier si l'apprentissage d'un émetteur d'ouverture/fermeture/arrêt est en train d'être réalisé. Lorsque l'apprentissage actuel ne comprend pas d'émetteur d'ouverture/fermeture/arrêt, le processus passe à l'étape 792, dans laquelle le code est écrit dans une mémoire rémanente. Lorsque l'étape 789 déter- mine que l'apprentissage d'un émetteur d'ouverture/fermeture/arrêt est en train d'être exécuté, le processus passe à l'étape 790 pour déterminer si une touche autre que la touche d'ouverture est enfoncée. Si c'est le cas, le pro- cessus passe au cadre 789, et, si ce n'est pas le cas, le processus passe au cadre 792 o le code fixe est mémorisé dans une mémoire rémanente. Après l'étape 792, l'étape 794 est exécutée pour déterminer si le code roulant est le code actuel. Dans le cas contraire, le processus passe à l'étape 799 o l'on fait clignoter la lumière pour indiquer l'achèvement d'un apprentissage, et un retour est exécuté. Lorsque l'étape 794 identifie le mode comme étant un code roulant, le processus passe à l'étape 795 dans laquelle le code roulant reçu est écrit dans une mémoire rémanente en association avec le code fixe écrit dans l'étape 792. Après l'étape 795, les octets de fonction d'émetteur actuels sont lus dans l'étape 796, modifiés dans l'étape 797 et mémorisés dans une mémoire rémanente. Après cette mémorisation, la lumière de travail clignote au cours de l'étape 799 et un retour est exécuté. La réalisation de l'étape 799 conclut la fonction d'apprentissage qui a commencé lorsque l'étape 362 (figure 18D) a identifié un mode d'apprentis- sage. Lorsque l'étape 362 n'identifie pas de mode d'apprentissage, le pro- cessus passe de l'étape 362 à l'étape 402 (figure 20A). Dans l'étape 402, les bits d'identification du code reçu sont interprétés pour identifier si le code vient d'un émetteur du type clavier de code roulant, par exemple 34. Si c'est le cas, le processus passe à l'étape 450 (figure 21A). Lorsque les bits d'identification n'indiquent pas d'entrée de clavier de code roulant, le proces- sus passe à une étape 404, dans laquelle une vérification est faite pour voir si une fenêtre de 8 secondes, dans laquelle un mode d'apprentissage peut être établi, existe, ayant été entrée à partir d'un émetteur à clavier de code fixe. Lorsque le mode d'apprentissage existe, le processus passe à l'étape 406 afin de déterminer si l'opérateur a entré un code "0000" spécial. Si le code spécial a été entré, le processus passe de l'étape 406 à l'étape 410, dans laquelle le mode d'apprentissage est établi, et une sortie est effectuée. Lorsque l'étape 406 ne détecte pas le code "0000" spécial, le processus passe à une étape 408, étape dans laquelle on rentre également lorsqu'aucun mode d'apprentissage de 8 secondes n'a été détecté dans l'étape 404. Dans l'étape 408, le code reçu est comparé aux codes précédemment mé- morisés dans la mémoire rémanente 88. Lorsqu'aucune concordance n'est détectée, le code de radio est effacé et une sortie est effectuée dans l'étape 412. D'une autre façon, lorsque l'étape 408 détecte une concordance, le processus passe à une étape 414 (figure 20B) qui identifie le moment o des codes roulants sont attendus. Lorsque l'étape 414 détermine que des codes roulants ne sont pas attendus, le processus passe à une étape 428, dans laquelle une commande de radio est exécutée, et une sortie est effectuée. Lorsque l'étape 414 détermine qu'un code roulant est attendu, le processus passe à l'étape 416 pour déterminer si la partie roulante du code reçu est à I'intérieur de la plage acceptée. Lorsque la partie roulante est hors de la plage, l'étape 418 est effectuée pour rejeter le code et sortir. Lorsque le code roulant est à l'intérieur de la plage, l'étape 420 est effectuée pour mémoriser la partie de code roulant reçue (compteur de code roulant) en mémoire réma- nente, et le processus passe à une étape 422, qui identifie si les bits de fonction du code reçu identifient un signal de commande de lumière. Lors- qu'un signal de commande de lumière est identifié, le processus passe à l'étape 424, dans laquelle l'état de la lumière est changé, la radio est effacée et une sortie est effectuée. Lorsque le code actuellement reçu n'est pas identifié dans l'étape 422 comme étant une commande de lumière, le pro- cessus passe à l'étape 426 pour identifier si le code actuel est une com- mande d'ouverture/fermeture/arrêt. Lorsque l'étape 426 n'identifie pas de commande d'ouverture/fermeture/arrêt, le processus passe à l'étape 428 dans laquelle une commande de radio est établie, et une sortie est effectuée. Lorsque l'étape 426 identifie une commande d'ouverture/fermeture/ arrêt, le processus passe à l'étape 430 (figure 20C) pour interpréter la commande. L'étape 430 identifie à partir des bits de fonction du code reçu lequel des trois boutons a été enfoncé. Lorsque le bouton d'ouverture a été enfoncé, le processus passe à une étape 432, pour identifier quel est l'état actuel de la porte. Lorsque la porte est arrêtée ou lors d'une limite de descente, on entre dans l'étape 434 dans laquelle une commande de montée est délivrée, et une sortie est effectuée. Lorsque l'étape 432 identifie que la porte descend, une commande d'inversion de porte est délivrée et une sortie est effectuée dans l'étape 436. Dans le troisième cas, lorsque l'étape 432 détecte que la porte est ouverte, on entre dans l'étape 440 et aucune commande n'est délivrée. Lorsque l'étape 430 identifie que le bouton de fermeture de l'émetteur a été enfoncé, le processus passe à l'étape 438 pour identifier dans quel état se trouve la porte. Lorsque l'étape 436 détermine que la porte monte ou est à une limite de descente, l'étape 440 est effectuée, étape dans laquelle au- cune commande n'est délivrée, et une sortie est effectuée. D'une autre fa- çon, lorsque l'étape 438 identifie que la porte est arrêtée dans une position autre que dans la limite de descente, une commande de descente est délivrée dans une étape 442. Lorsque l'étape 430 détermine que le bouton d'arrêt a été enfoncé, le processus passe à l'étape 444 pour identifier l'état de la porte. Lorsque la porte est déjà arrêtée, le processus passe de l'étape 444 à l'étape 448 o aucune commande n'est délivrée, et o une sortie est effec- tuée. Lorsque la porte est identifiée dans l'étape 444 comme étant en train de se déplacer, une commande d'arrêt est délivrée dans l'étape 446, et une sortie est effectuée. On se souviendra que, lorsque l'étape 402 (figure 20A) identifie qu'un code de clavier de code roulant est reçu, le processus passe à l'étape 450 (figure 21A). Dans l'étape 450, la partie de numéro de série du code reçu est comparée aux numéros de série des codes mémorisés en mémoire réma- nente. Lorsqu'aucune concordance n'est détectée, le processus passe à l'étape 452, o le code est rejeté, et o une sortie est effectuée. Lorsque l'étape 450 détecte une concordance, le processus passe à l'étape 454 pour identifier si la partie de code roulant se trouve à l'intérieur de la fenêtre avant. Lorsque le code ne se trouve pas à l'intérieur de la fenêtre avant, le processus passe à l'étape 452 o le code reçu est rejeté, et o une sortie est effectuée. Lorsque la partie de code roulant reçue se révèle être à l'intérieur de la fenêtre avant dans l'étape 454, une étape 456 est effectuée, o le code reçu est utilisé pour remettre à jour le compteur de code roulant en mémoire. Cette mémoire maintient en synchronisme l'émetteur de code roulant et le récepteur de code roulant. Après l'étape 456, on entre dans une étape 458 pour identifier quel mode de réception de code a été établi. Lorsque la récep- tion de code normal est identifiée dans l'étape 458, une étape 460 (figure 21 B) est effectuée pour identifier si la partie d'entrée d'utilisateur du code reçu correspond à un mot de passe d'utilisateur mémorisé. Lorsqu'une con- cordance est détectée dans l'étape 460, le processus passe à l'étape 470 pour identifier laquelle des touches d'entrée de clavier, *, # ou entrée, a été enfoncée. Lorsque l'étape 470 identifie la touche d'entrée, une étape 472 est effectuée, étape dans laquelle une commande d'entrée sans clef est déli- vrée, et une sortie est déclenchée. Lorsque la touche * est détectée dans l'étape 470, le processus passe à l'étape 476, o l'on fait clignoter la lumière et l'indicateur de mot de passe temporaire d'apprentissage est établi pour identifier le mode de mot de passe temporaire d'apprentissage. Lorsque l'étape 470 identifie que la touche # a été enfoncée, le processus passe à une étape 474 pour faire clignoter la lumière et pour établir un mode d'ap- prentissage standard. Lorsque la réalisation de l'étape 460 détermine que la partie d'entrée d'utilisateur reçue ne correspond pas à une partie mémorisée en mémoire, le processus passe à l'étape 462, dans laquelle la partie d'entrée d'utilisateur reçue est comparée à des codes d'entrée d'utilisateur temporaire. Lorsque l'étape 462 ne découvre pas de concordance, une étape 464 est effectuée pour rejeter le code et sortir. Lorsque l'étape 462 identifie une concordance entre un code d'entrée d'utilisateur reçu et un mot de passe temporaire mé- morisé, le processus passe à l'étape 466 pour identifier si la porte se trouve à la limite de descente. Si ce n'est pas le cas, le processus passe à l'étape 472 pour la délivrance d'une commande d'entrée de clavier. Lorsque l'étape 466 identifie que la porte est fermée, une étape 468 est effectuée pour identifier si le temps établi précédemment ou le nombre d'utilisations pour le mot de passe temporaire a expiré. Lorsque l'étape 468 identifie l'expiration, l'étape 464 est effectuée pour rejeter le code et sortir. Lorsque le mot de passe temporaire n'a pas expiré, le processus passe à l'étape 478 (figure 21C) dans laquelle le type de mot de passe temporaire d'utilisateur, par exemple la durée ou le nombre d'actionnements, est vérifié. Lorsque l'étape 478 identifie que le mot de passe temporaire reçu est limité à un nombre d'actionnements, une étape 480 est exécutée pour décrémenter les action- nements restants, et une étape 472 est exécutée pour délivrer une com- mande d'entrée. Lorsque l'étape 478 identifie que le mot de passe de clavier reçu n'est pas basé sur le nombre d'actionnements (mais au contraire sur l'écoulement du temps), le processus passe de l'étape 478 à la délivrance d'une commande d'entrée dans l'étape 472. Aucune remise à jour spéciale n'est nécessaire pour des mots de passe temporaires minutés car le micro- contrôleur 85 remet à jour en permanence le temps écoulé. On se souviendra qu'une étape 458 (figure 21A) a été déclenchée pour identifier le mode de réception actuellement validé. Lorsque le mode de mot de passe temporaire d'apprentissage est détecté, le processus passe de l'étape 458 à l'étape 482 (figure 22). Dans l'étape 482, une interrogation est exécutée pour déterminer si la touche d'entrée a été utilisée pour émettre le code reçu. Lorsque la touche d'entrée n'a pas été utilisée, une étape 484 est effectuée pour rejeter le code et sortir. Lorsque la touche d'entrée a été utili- sée, une étape 486 est effectuée pour déterminer si le code d'entrée d'utili- sateur reçu correspond à un code d'utilisateur déjà mémorisé en mémoire. Si c'est le cas, une étape 488 est effectuée pour rejeter le code. Lorsque l'étape 486 identifie qu'il n'y a pas de codes d'entrée d'utilisateur concor- dants, le nouveau code d'entrée d'utilisateur est mémorisé sous la forme du mot de passe temporaire dans l'étape 490, et le processus passe à l'étape 492, dans laquelle on fait clignoter la lumière et le mode d'apprentissage de durée de mot de passe temporaire d'apprentissage est établi pour une utilisa- tion ultérieure. Lorsque le mode de durée de mot de passe temporaire d'ap- prentissage est ensuite détecté dans l'étape 458, le processus passe à une étape 481 o le code entré par l'utilisateur est vérifié pour voir s'il dépasse 255. Il s'agit là d'une limite arbitraire de 255 actionnements ou de 255 heu- res d'accès temporaire. Lorsque le code entré par l'utilisateur dépasse 255, il est rejeté dans l'étape 483. Lorsque le code entré par l'utilisateur est infé- rieur à 255, une étape 485 est effectuée pour identifier quelle touche a été utilisée pour émettre le code de clavier. Lorsque la touche * a été utilisée, le code émis sert à indiquer une durée de temps pour le mot de passe tempo- raire, le mode de durée de temps est établi dans l'étape 487, et un temps est démarré dans l'étape 491 à l'aide du code jouant le rôle de nombre d'heures dans la durée de code temporaire. Lorsque l'étape 485 détermine que la tou- che # a été utilisée pour émettre le code, un indicateur est établi dans l'étape 489, indiquant que le mode temporaire est basé sur le nombre d'actionne- ments, et le nombre d'actionnements est enregistré dans l'étape 491. Après l'étape 491, on fait clignoter la lumière et une sortie est effectuée. Les figures 23A et 23B sont des organigrammes d'un sous-programme de concordance de code radio. Le processus commence dans une étape 862 o il est déterminé si un code roulant est attendu ou non. Lorsqu'un code roulant n'est pas attendu, le processus passe à une étape 866 o un poin- teur identifie le premier code de radio mémorisé en mémoire rémanente. Lorsque l'étape 866 détermine qu'un code roulant est attendu, tous les co- des de type d'émetteur sont appelés dans une étape 864 avant le commen- cement de l'étape de pointeur 866. Après l'étape 866, une étape de décision 868 est effectuée pour déterminer si l'apprentissage d'un émetteur d'ouver- ture/fermeture/arrêt est en train de se faire. Si c'est le cas, une étape 870 est effectuée, étape dans laquelle le code de mémoire est soustrait du code reçu et le processus passe à une étape 878 pour évaluer le résultat. A partir de l'étape 878, le processus passe à une étape 880 pour renvoyer l'adresse de la concordance lorsque le résultat de la soustraction est inférieur ou égal à deux. Lorsque le résultat de la soustraction n'est pas inférieur ou égal à deux, le processus passe de étape 878 à l'étape 882 pour déterminer si le dernier emplacement de mémoire est comparé. Si la dernière mémoire a été comparée, l'étape 884 est effectuée pour renvoyer un "pas de concordance". Lorsque l'étape 868 indique que le système ne réalise pas l'apprentis- sage d'un émetteur d'ouverture/fermeture/arrêt, le processus passe à une étape 872 pour déterminer si le code de mémoire est un code d'ouverture/ fermeture/arrêt. Si c'est le cas, le processus passe par les étapes jusqu'à l'étape 874, o le code reçu est soustrait du code de mémoire. Ensuite, le processus passe par l'étape 878, à l'étape 880 ou l'étape 882, comme dé- * crit ci-dessus. Lorsque l'étape 872 détermine que le code de mémoire actuel n'est pas un code d'ouverture/fermeture/arrêt, le processus passe à l'étape 876 (figure 23B). Dans l'étape 876, le code reçu est comparé au code de la mémoire, et, s'ils correspondent, l'étape 880 est effectuée pour renvoyer l'adresse du code de concordance. Lorsque l'étape 876 détermine que les codes comparés ne correspondent pas, le processus passe à l'étape 882 pour déterminer si l'on a accédé au dernier emplacement de mémoire. Lors- que l'on n'a pas accédé au dernier emplacement de mémoire, le pointeur est ajusté pour identifier l'emplacement de mémoire suivant, et le processus re- vient à l'étape 868 en utilisant les contenus du nouvel emplacement. Le pro- cessus se poursuit jusqu'à ce qu'une concordance soit trouvée ou que le dernier emplacement de mémoire soit détecté dans une étape 882. La figure 24 est un organigramme d'un sous-programme de compteur de code roulant d'essai qui commence dans une étape 888 dans laquelle le compteur de code roulant mémorisé est soustrait du code roulant reçu, et le résultat est analysé dans une étape 890. Lorsque l'étape 890 détermine que le résultat de soustraction est inférieur à "0", le processus passe à l'étape 892 o le sous-programme renvoie un verrouillage de fenêtre arrière. Lorsque l'étape 890 détermine que le résultat de la soustraction est supérieur à 0 et inférieur à 1000, le sous-programme renvoie une indication de fenêtre avant dans l'étape 892. La figure 25 est un organigramme d'un sous-programme d'effacement de mémoire de radio qui commence par une étape 686 d'effacement de tous les codes de radio, y compris les codes sans clef temporaires. Ensuite, une étape 686 est effectuée pour établir le mode de radio en mémoire rémanente comme mode d'essai pour les codes roulants ou mode d'essai pour les codes fixes. L'étape 690 est ensuite effectuée, étape dans laquelle le mode de ra- dio de travail est établi comme mode d'essai de code fixe, et les seuils de nombres de code fixe sont établis dans une étape 692. Une étape de retour 694 achève le sous-programme. Les figures 26A et 26B montrent un sous-programme d'interruption de minuteur qui commence dans une étape 902 o tous les temps de logiciel sont remis à jour. Ensuite, le processus passe à l'étape 904 pour déterminer si un minuteur de 12 millisecondes a expiré. Le minuteur de 12 millisecondes est utilisé pour assurer que des obstructions qui bloquent le faisceau lumi- neux dans le dispositif de protection 90 et provoquent l'absence d'une im- pulsion d'obstruction de 10 millisecondes sont rapidement détectées. Lors- que le minuteur de 12 millisecondes n'a pas expiré, le processus passe à une étape 914 décrite ci-dessous. D'une autre façon, lorsque le minuteur expire, une étape 906 est effectuée pour déterminer si un indicateur de rupture, qui est établi lors de la première impulsion manquante, est établi. Si il n'est pas établi, le processus passe à l'étape 910 dans laquelle l'indicateur de rupture est établi. Si l'indicateur de rupture a été détecté dans l'étape 906, le pro- cessus passe à l'étape 908 o un indicateur de blocage d'infrarouges, indi- catif d'une pluralité d'impulsions d'obstruction de 10 millisecondes qui ont été manquées, est établi. Le processus passe alors, par l'étape 910, à l'étape 912, o le minuteur de 12 millisecondes est remis à zéro. L'étape de décision 914, qui est effectuée après l'étape 912, détermine s'il s'est écoulé plus de 500 millisecondes depuis qu'un code de radio valide a été reçu. Si plus de 500 millisecondes se sont écoulées, l'étape 916 est effectuée pour effacer un indicateur de "radio actuellement dans l'air", et une sortie est effectuée. Lorsque l'étape 914 détermine que 500 millisecondes se sont pas écoulées, le processus passe directement à l'étape de sortie 918. La figure 27 est un organigramme d'une interruption de réception d'im- pulsions infrarouges commencée à chaque fois qu'une impulsion de protec- tion est reçue par le micro-contrôleur 85. Initialement, une étape 920 est ef- fectuée, étape dans laquelle l'indicateur de rupture d'infrarouge est remis à zéro, et le processus passe à l'étape 922, o l'indicateur de blocage d'infra- rouges est remis à zéro. Ce sous-programme se termine par la remise à zéro du minuteur de 12 millisecondes dans l'étape 924 et par la sortie dans l'étape 926. La structure de commande de la présente réalisation comprend une boucle principale qui est exécutée de façon sensiblement continue. La figure 28 est un organigramme montrant des parties de la boucle. Toutes les 15 secondes, une étape 928 est effectuée, étape dans laquelle le mode de radio local est chargé depuis une mémoire rémanente et les seuils de nombres sont établis dans une étape 930. Cette activité s'achève avec une étape de retour 946. Toutes les heures, une étape 932 est effectuée pour déterminer si un minuteur temporaire de clavier est actuellement actif. Si c'est le cas, le pro- cessus passe à l'étape 914 o le temps est décrémenté, et un retour est exécuté dans l'étape 946. Toutes les millisecondes, une étape 936 est effectuée pour déterminer si l'indicateur de rupture d'infrarouges est établi et si l'indicateur de blocage d'infrarouges n'est pas établi. Cette condition est indicative de la première impulsion de protecteur manquée. Si la détermination dans l'étape 936 est négative, un retour est effectué. Si l'étape 936 ne détecte que l'indicateur de rupture d'infrarouges et non l'indicateur de blocage d'infrarouges, une étape 938 est effectuée pour identifier si la porte est à la limite de montée. Lorsque la porte n'est pas à la limite de montée, un retour est effectué. Lorsque l'étape 938 détecte la porte à la limite de montée, une étape 940 est effec- tuée pour identifier si la lumière est allumée. Si la lumière est allumée, on la fait clignoter un nombre prédéterminé de fois dans l'étape 942, et un retour est exécuté. Lorsque l'étape 940 détermine que la lumière est éteinte, une étape 944 est effectuée pour allumer la lumière et établir un minuteur de maintien de lumière de 4,5 minutes. Un retour est exécuté après l'étape 944. La figure 29 est un organigramme illustrant l'utilisation du circuit de protection à infrarouges dans la commande de porte. Dans une étape 948, une décision est prise pour savoir si un émetteur du type à clavier correspon- dant à la mémoire est "dans l'air". Si c'est le cas, le processus passe à l'étape 956 pour déterminer si la limite basse de déplacement de la porte s'est produite. Si la limite de descente a été atteinte, une étape 958 est ef- fectuée pour établir un état d'arrêt à la limite de descente de la porte. Lors- que l'étape 956 détermine que la limite de descente n'a pas été atteinte, une étape 960 est effectuée pour poursuivre le déplacement vers le bas de la porte. Lorsqu'il a été répondu par la négative à l'étape 948, une étape 950 est effectuée pour déterminer si le commutateur de commande est maintenu enfoncé. Si c'est le cas, le processus passe à l'étape 956 et à l'étape 958 ou 960 comme décrit ci- dessus. Lorsqu'il est répondu par la négative à l'étape 950, une étape 952 est effectuée, étape dans laquelle l'indicateur de rupture d'infrarouges est vérifié. Si l'indicateur de rupture est établi, ce qui signale une obstruction, une étape 954 est effectuée pour inverser la porte, établir le nouvel état de la porte et établir un indicateur d'obstruction. Lorsque l'étape 952 ne détecte pas d'indicateur de rupture d'infrarouges, le processus passe à l'étape 956 comme décrit ci- dessus. On mentionnera que les conditions établies dans les étapes 948 et 950 visent à permettre à l'opérateur de pren- dre la priorité sur le détecteur d'obstruction. Bien que l'on ait illustré et décrit une réalisation particulière de la pré- sente invention, on appréciera le fait que de nombreux changements et mo- difications apparaîtront aux personnes ayant une bonne connaissance de la technique, et que l'on vise à couvrir dans les revendications jointes tous ces changements et modifications qui rentrent à l'intérieur du véritable esprit et de la véritable étendue de l'applicabilité de la présente invention. A titre d'exemple, les émetteurs et les récepteurs de la réalisation décrite sont commandés par des micro-contrôleurs programmés. Les contrôleurs pour- raient être réalisés sous la forme de circuits intégrés spécifiques à l'applica- tion à l'intérieur de l'étendue de l'applicabilité de la présente invention. REVENDICATIONS 1. Emetteur (30, 31, 34, 39) pour un système d'ouverture de porte de garage (10), comprenant un appareil (104, 106) pour faire bouger une porte de garage (24) et un appareil (104) pour commander des lumières (81) asso- ciées à la porte de garage (24), ledit émetteur (30, 31, 34, 39) étant carac- térisé en ce qu'il comporte: un premier dispositif de commande réagissant à une commande de l'uti- lisateur en pilotant le mouvement de la porte de garage (24) et la commande des lumières (81); un deuxième dispositif de commande réagissant à une commande de l'utilisateur en pilotant la commande des seules lumières (81); et un appareil de commande réagissant à la commande du premier disposi- tif de commande en émettant un premier signal vers un récepteur (80) du système d'ouverture de porte de garage (10) ordonnant le mouvement de la porte (24) et la commande des lumières (81) et réagissant à une commande du deuxième dispositif de commande en émettant un deuxième signal vers le récepteur (80) du système d'ouverture de porte de garage (10) ordonnant que les lumières (81) soient sélectivement allumées et éteintes sans mouve- ment de la porte (24). 2. Dispositif de commande (70) pour un système d'ouverture de porte de garage (10), comprenant des premiers circuits électriques (107a, 107b, 109a, 109b) pour commander le mouvement de la porte (24) et des deuxiè- mes circuits électriques (105a, 105b) pour commander les lumières (81) du système d'ouverture de porte (10), le dispositif de commande (70) étant ca- ractérisé en ce qu'il comporte: un récepteur (80) pour recevoir des premiers et deuxièmes signaux de commande d'un émetteur (30, 31, 34); un appareil électronique (84, 85), réagissant au récepteur (80) en iden- tifiant si un premier ou un deuxième signal de commande a été reçu, l'appa- reil électronique (84, 85) réagissant à la réception d'un premier signal de commande en permettant aux premiers et deuxièmes circuits (107a, 107b, 109a, 109b; 105a, 105b) de faire bouger la porte (24) et d'allumer les lu- mières (81), et réagissant à la réception d'un deuxième signal en permettant aux deuxièmes circuits (105a, 105b) d'allumer et d'éteindre sélectivement les lumières (81) sans faire bouger la porte (24). 3. Procédé pour commander le fonctionnement d'un système de mou- vement de porte de garage (10), comprenant un appareil de mouvement de porte (104, 106), des moyens (110, 93, 93a, 93b) pour détecter le mouve- ment de la porte (24) et la position de la porte (24), y compris une position ouverte de la porte (24), une lumière (81) ayant un état allumé et un état éteint, et un appareil (90, 42, 46) pour détecter les obstructions d'un trajet de porte de la porte de garage (24), le procédé étant caractérisé en ce qu'il comporte: la détection de la présence d'une obstruction du trajet de la porte I'identification, en réponse à la détection d'une obstruction, de la posi- tion de la porte (24), et du fait que l'appareil de mouvement de porte (104, 106) fait ou non bouger la porte (24); la neutralisation du mouvement de la porte (24) lorsque l'appareil de mouvement de porte (104, 106) fait bouger la porte (24) et qu'une obstruc- tion est détectée; et la commande de l'état allumé et éteint de la lumière (81) lorsque la porte (24) est dans une position sûre et qu'une obstruction est détectée. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte la détection de l'état allumé ou éteint de la lumière (81) et en ce que l'étape de commande de l'état allumé ou éteint de la lumière (81) comprend l'allumage de la lumière (81) lorsque la lumière (81) est éteinte. 5. Procédé selon la revendication 3, caractérisé en ce qu'il comporte la détection de l'état allumé ou éteint de la lumière (81) et en ce que l'étape de commande de l'état allumé ou éteint de la lumière (81) comprend l'extinction de la lumière (81) en une période prédéterminée lorsque la lumière (81) est allumée. 6. Procédé selon la revendication 3, caractérisé en ce qu'il comporte la commande des états allumé et éteint de la lumière (81) en réponse à des co- des d'accès émis par un émetteur à distance (30, 31, 34).