Concevoir un bouton à pression unique

Lorsque vous utilisez la fonction Joystick Get Values, en appuyant sur un bouton du joystick, le bouton est lu TRUE jusqu’à ce que le bouton soit libéré. Cela signifie que vous lirez probablement plusieurs valeurs TRUE tant que la pression sur le bouton est maintenue. Que faire si vous voulez lire une seule valeur TRUE chaque fois que l’on maintient la pression sur le bouton? C’est ce qu’on appelle souvent un « One-Shot Button ». Le didacticiel suivant vous montrera comment créer un subVI que vous pouvez insérer dans votre Teleop.vi pour réaliser cette fonctionnalité.

Pour commencer, créez un nouveau VI dans le dossier Code de support de votre projet.

../../../../_images/12.png

Maintenant, sur le diagramme bloc du nouveau VI, ajouter l’extrait de code suivant.

../../../../_images/23.png

Ce code utilise une fonction appelée Feedback Node. Nous avons relié la valeur actuelle du bouton à l’entrée Feedback Node. Le fil sortant de la flèche Feedback Node représente la valeur précédente du bouton. Si la flèche de votre nœud de rétroaction va dans la direction opposée comme c’est indiqué ici, cliquez avec le bouton droit pour trouver l’option d’inversion de direction.

Lorsqu’un bouton est appuyé, la valeur du bouton passe de FALSE à TRUE. Nous voulons que la sortie de ce VI ne soit TRUE que lorsque la valeur actuelle du bouton est TRUE et que la valeur précédente du bouton est FALSE.

Puis, nous devons connecter le contrôle booléen et l’indicateur aux entrées et sorties du VI. Pour ce faire, cliquez d’abord sur le bloc dans le volet connecteur, puis cliquez sur le bouton pour connecter les deux (voir le diagramme ci-dessous). Répétez cette même opération avec l’indicateur.

../../../../_images/33.png

Ensuite, nous devons changer les propriétés de ce VI afin de pouvoir en utiliser plusieurs copies dans notre TeleOp.vi. Cliquez avec le bouton droit sur l’icône VI et accédez à VI Properties. Sélectionnez ensuite la catégorie « Execution » et sélectionnez « Preallocated clone reentrant execution ».

../../../../_images/42.png../../../../_images/51.png

De plus, il serait judicieux de changer l’icône VI pour être plus descriptif de la fonction du VI. Cliquez avec le bouton droit sur l’icône et accédez à Edit Icon. Créez une icône.

../../../../_images/61.png

Pour terminer, enregistrez le VI avec un nom descriptif. Vous pouvez maintenant faire glisser et déposer ce VI du dossier Fichiers de support dans votre TeleOp.vi. Voici une copie du VI: Button_Press.vi complété

Voici un exemple vous montrant la façon dont vous pourriez utiliser ce VI.

../../../../_images/7.png