TUTO Lego Powered UP – Utiliser un moteur – Part 5

On continue la découverte de l’application LEGO Powered Up qui vous permettra de piloter vos moteurs Lego Control+ et Technic. Ce tuto fait suite aux premiers publiés ici.

6) Les variables

Maintenant que nous avons vu les rudiments (piloter un moteur, mettre des boutons, réaliser des boucles), nous allons maintenant passer à la vitesse supérieure, avec les variables. Les variables permettent de stocker des informations, qu’on pourra utiliser plus tard dans le programme, la modifier, etc.

Dans l’exemple ci dessous, on va utiliser une variable pour stocker la puissance du moteur, qu’on pourra augmenter ou diminuer.

Voici le programme:

Utilisation des variables: Le programme

et voici la partie « interface » avec les deux boutons et l’afficheur.

Utilisation des variables: L’interface

Revenons tout d’abord sur la partie interface. Nous avons défini 3 items:

  • Un premier bouton, d’adresse 0 avec le symbole « + ». Il servira à augmenter la vitesse.
  • Un second bouton, d’adresse 1 avec le symbole « -« . Il servira à diminuer la vitesse.
  • Un afficheur à aiguille, d’adresse 2. Il servira à afficher la vitesse.

Concernant la partie codage, nous avons 4 petites séquences.

  • Une séquence pour afficher la vitesse « a du moteur.
  • Une séquence pour augmenter la vitesse « a du moteur.
  • Une séquence pour diminuer la vitesse « a du moteur.
  • Une séquence pour gérer la vitesse « a » du moteur.

Comme vous pouvez le constater dans chacune de ces séquences, nous allons utiliser la même information: la vitesse « a du moteur. Pour cela nous allons utiliser une variable, c’est à dire une zone de stockage dans la mémoire du programme pour stocker la vitesse du moteur qu’on va pouvoir utiliser à tout moment, dans n’importe quelle séquence.

Arrêtons nous sur la première séquence qui gère l’affichage:

Utilisation des variables: Séquence 1

Dans cette séquence, nous utilisons trois nouveaux blocs :

Ce bloc est un bloc VariableStockageValeur (ou « LocalVariableStore » en anglais). Il permet de stocker une valeur dans une variable. On définit sur le paramètre de gauche la variable et à droite la valeur. Dans notre exemple, nous mettons donc la valeur « 0 » dans la variable « a ».


Ce bloc est un bloc AfficheurAiguille. Il permet d’afficher la valeur une valeur sur un afficheur d’adresse paramétrée. Dans notre exemple, nous avons défini l’adresse 2, et pour la valeur nous avons utiliser un bloc Variable qui permet donc d’afficher la valeur de la variable « a ».


Ce bloc est un bloc VariableAppel (ou « LocalVariableFetch » en anglais). Il permet de faire appel à tout moment à la variable « a », pour utiliser sa valeur. Dans notre exemple, il est utilisé pour permettre d’afficher la valeur de « a » sur le bloc AfficheurAiguille.



Si on analyse la séquence, voici ce qu’on a donc programmé : Au lancement de la séquence, on met la variable « a » à 0. Cela sera fait une fois et une seule. Il s’agit d’une phase d’initialisation, afin de garantir qu’à chaque lancement du programme on se retrouve toujours avec 0 dans cette variable. Puis, de manière continue, on affiche la valeur de la variable « a » sur l’afficheur à aiguille (adresse 2).
Au début du programme, on affichera donc 0, mais si la valeur de valeur de « a » venait à évoluer, on afficherait alors cette nouvelle valeur.

Arrêtons nous maintenant sur la deuxième séquence.

Utilisation des variables: Séquence 2

Dans cette séquence, nous avons une fois encore utilisé de nouveaux blocs:

Ce bloc est un bloc DépartSurFront (ou « StartOnEdge » en anglais). Il permet de lancer une séquence lorsqu’une condition devient vrai. Cela permet de lancer la séquence une seule fois, même si la condition reste vrai. Dans notre cas, cela permet de lancer la séquence lorsqu’on appuie sur le bouton d’adresse « 0 ». Si on avait utilisé DépartSiVrai déjà vu dans les tutos précédents, la séquence aurait été lancé tant que le bouton resterait appuyé, et pas juste une fois au moment où on appuie.


Ce bloc est un bloc OpérationAddition (ou « PlusOperator » en anglais). Il permet d’additionner deux valeurs, ou variables. Dans notre exemple, on ajoute la valeur « 1 » à la variable « a ».



Si on détaille le fonctionnement de la séquence, on a donc: Lorsqu’on appuie sur le bouton d’adresse « 0 », on stocke dans la variable « a » le résultat de l’addition de « a+1 ». Cela se produit à chaque fois qu’on appuie sur le bouton d’adresse « 0 ».

Pour la troisième séquence, on fait à peut prêt la même chose, si ce n’est qu’il s’agit d’une soustration, et qu’elle est affectée au bouton d’adresse « 1 ».

Utilisation des variables: Séquence 3

Ce bloc est un bloc OpérationSoustration (ou « MinusOperator » en anglais). Il permet soustraire deux valeurs, ou variables. Dans notre exemple, on soustrait la valeur « 1 » à la variable « a ».



Si on détaille le fonctionnement de la séquence, on a donc: Lorsqu’on appuie sur le bouton d’adresse « 1 », on stocke dans la variable « a » le résultat de soustraction de « a-1 ». Cela se produit à chaque fois qu’on appuie sur le bouton d’adresse « 1 ».

Enfin, la dernière séquence permet elle de gérer la puissance du moteur: on affecte en permanence la valeur « a » au moteur d’adresse « A ».

Utilisation des variables: Séquence 4

En vidéo, cela donne:

Utilisation des variables



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.