Yoctopuce propose un certain nombre de modules relais. A première vue rien d'extraordinaire à ça, on peut trouver des dizaines de relais USB sur internet. Mais il se trouve que les relais Yoctopuce disposent de quelques fonctionnalités peu courantes pour ce genre matériel. Cette semaine, on vous propose de passer en revue quelques unes de ces fonctions avancées...
Les relais Yoctopuce: portrait de famille
Pour simplifier leur production, les modules Yoctopuce sont tous basés sur le même microprocesseur 16 bits. Dans le cas des relais, utiliser un tel processeur pour finalement ne traiter qu'un tout petit bit d'information est clairement un overkill. Par contre, cela autorise un certain nombre d'excentricités: il devient en effet très facile de déléguer au processeur du relais certains calculs qui, en temps normal, aurait dû être effectués par l'ordinateur de contrôle. On ne s'est évidement pas privé de le faire. Au fil du temps et des demandes de nos clients, un certain nombre de fonctionnalités bien pratiques sont apparues sans qu'on fasse beaucoup de publicité à leur propos.
Tous nos relais sont basés sur le même principe, ils ont deux états: A et B. L'état A étant l'état de repos. Voyons les différentes manières de passer de l'un à l'autre.
set_state
C'est la fonction de base, que vous connaissez si vous avez déjà utilisé un relais Yoctopuce. Voici un exemple en ligne de commande qui passe un relais à l'état B.
YRelay any set_state B
L'effet de la fonction set_state
pulse
La fonction pulse permet de faire basculer le relais dans l'état B pour un temps déterminé avant qu'il ne revienne automatiquement à l'état A. Cela évite d'avoir à re-contacter le relais pour le repasser à l'état A.
L'effet de la fonction pulse
Il existe une autre application très intéressante: le contrôle de processus avec failsafe. Imaginez que vous souhaitiez construire un système d'arrosage automatique pour votre jardin, basé sur des électrovannes et des relais. Vous n'avez pas forcément envie de rentrer de vacances pour trouver un lac à la place de votre jardin parce que votre programme de contrôle aura planté en laissant vos vannes ouvertes. L'astuce consiste à utiliser la fonction pulse périodiquement avec une durée légèrement plus longue que la période des appels. Ainsi, si le processus de contrôle crashe, le relais reviendra automatiquement à sa position de repos.
Utilisation de la fonction pulse pour un contrôle de processus
Voici un exemple de la fonction pulse en ligne de commande qui bascule un relais Yoctopuce pour 5 secondes.
YRelay any pulse 5000
delayedPulse
La fonction delayedPulse est la grande sœur de la fonction pulse, elle demande au relais d'attendre pour un temps donné, de basculer à l'état B, d'attendre puis de retourner à l'état A. C'est intéressant quand vous savez que vous allez perdre le contrôle du relais. Par exemple, si vous devez éteindre/débrancher l'ordinateur de contrôle, et ensuite seulement faire basculer le relais. Notez que le relais doit rester alimenté, à l'aide d'un hub USB par exemple.
L'effet de la fonction delayedPulse
Voici un exemple de la fonction delayedPulse en ligne de commande qui demande au relais d'attendre 2 secondes puis de basculer sur l'état B pour 5 secondes.
YRelay any delayedPulse 2000 5000
set_stateAtPowerOn
A l'exception du Yocto-LatchedRelay, tous nos relais retournent à l'état A dès qu'ils sont privés d'alimentation. De nombreux clients nous ont réclamé une fonction qui permette de placer automatiquement le relais dans l'état B à la mise sous tension. Ainsi, si vous disposez d'un équipement muni d'un port USB comme un ordinateur, une télévision, un ampli home-cinéma, etc.. vous pouvez allumer/éteindre automatiquement un autre équipement à la mise sous/hors tension.
Voici un exemple en ligne de commande qui permet de programmer un relais pour qu'il passe automatiquement à l'état B à la mise sous tension. Notez le -s qui sert à sauver le paramètre dans la mémoire flash du module.
YRelay -s any set_stateAtPowerOn B
set_maxTimeOnStateA, set_maxTimeOnStateB
Vous pouvez programmer votre relais pour qu'il ne puisse pas rester plus d'un certain temps dans un des états. Une fois ce temps écoulé, le relais basculera automatiquement dans l'état inverse.
Une des applications intéressantes concerne le Yocto-LatchedRelay: il dispose d'une entrée qui permet de le faire basculer à l'aide d'un simple bouton poussoir. Vous pouvez ainsi fabriquer une minuterie, pour gérer un éclairage par exemple.
Voici un exemple en ligne de commande qui limite à deux secondes le temps que peut passer le relais dans l'état B.
YRelay any set_maxTimeOnStateB 2000 YRelay any set_state B
Autre application amusante: si vous configurez maxTimeOnStateA et maxTimeOnStateB, votre relais va se mettre à osciller automatiquement d'un état à l'autre. Un moyen simple et bien pratique de faire clignoter un éclairage.
L'effet des fonctions set_maxTimeOnStateA et set_maxTimeOnStateB
Voilà, maintenant vous connaissez tous les secrets des relais USB Yoctopuce. Amusez-vous bien avec.