TUTO Lego Powered UP – Utiliser un moteur – Part 3

Les Geekeries de Yannoch
TUTO Lego Powered UP - Utiliser un moteur - Part 3
/

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 deux premiers publiés ici et .

4) Créer une boucle

On garde la même construction que sur les deux premiers tutos, c’est à dire un moteur (XL dans mon cas) connecté au port A du Hub. On a vu précédemment comment démarrer, et arrêter un moteur. Si on souhaite répéter plusieurs fois une série d’instructions, on peut utiliser un boucle. Dans un premier temps, on va essayer de faire 3 fois de suite les commandes suivantes:

  • Démarrer le moteur A à une puissance de 50 et le faire fonctionner pendant 3 secondes
  • Arrêter le moteur A, pendant 3
Séquence avec une boucle répétée 3 fois

Pour ce premier programme, nous avons utilisé des blocs déjà vus précédemment, ainsi , donc les deux blocs Départ, PuissanceMoteur, ArretMoteur et Temporisation. que nous avons déjà vu. Mais nous y avons ajouté le bloc suivant:

Ce bloc est un bloc BoucleCompteur (ou « CountLoop » en anglais). Il permet de répéter un certain nombre de fois les instructions qu’il contient à l’intérieur de sa boucle. Le nombre de répétition peut être écrit dans le programme, ou programmé à l’aide d’une variable, mais ça, on le verra un peu plus tard. Dans notre cas, nous avons programmé 3 répétitions.


Si on analyse plus en détail notre programme, on a donc programmé la séquence suivante:

  • On démarre le Moteur connecté au port A à une puissance de 50
  • On attend 3 secondes
  • On arrête le Moteur connecté au port A
  • On attend 5 secondes

Et on répète cela 3 fois de suite

Séquence programmée

Voici ce que cela donne en vidéo:

Boucle

A noter que nous aurions pu utiliser un autre bloc qui gère directement la durée de marche du moteur:

Boucle infinie

Dans cet exemple, nous avons utilisé le bloc BoucleInfinie. Ici, on ne peut pas préciser le nombre de répétition. La boucle ici tournera sans fin. De plus, nous avons remplacé la combinaison de blocs PuissanceMoteur / Temporisation / ArrêtMoteur par le bloc MoteurDurée qui permet de mettre en marche un moteur pendant une durée donnée.

Nous avons donc utilisé les nouveaux blocs suivants

Il s’agit d’un bloc MoteurDurée(ou « TachoMotorSpeedDuration » en anglais). Cette commande permet de démarrer le moteur à une puissance donnée et de maintenir sa marche pendant une durée donnée.


Ce bloc est un bloc BoucleInfinie (ou « LoopForever » en anglais). Il permet de répéter à l’infini les instructions.



Si on analyse plus en détail notre programme, on a donc programmé la séquence suivante:

  • On démarre le Moteur connecté au port A à une puissance de 50 et on maintient la marche pendant 5 secondes
  • Une fois le moteur arrêté, on attend 1 seconde

Et on répète cela à l’infini (et au delà).

Séquence programmée

Voici ce que cela donne en vidéo:

En vidéo, cela donne:

Boucle infinie

Vous trouverez ici un petit résumé des blocs utilisés jusque là.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *