Bloc Boucle

Le bloc Boucle est un conteneur pouvant accueillir une séquence de blocs de programmation. Il répète la séquence de blocs qu'il contient. Vous pouvez choisir de répéter les blocs indéfiniment, un certain nombre de fois ou jusqu'à ce qu'une comparaison de capteur ou une autre condition soit Vrai.

Seuls les blocs contenus dans la boucle se répètent. Quand la boucle s'arrête, le programme continue avec les blocs qui la suivent.
Conseils et astuces
Faites glisser des blocs à l'intérieur de la boucle. Le bloc Boucle va s'adapter pour faire de la place aux blocs que vous y placez.
Choix du mode de boucle


Sélecteur de mode
Valeurs d'entrée
Valeur de sortie Compteur
Nom de boucle

Utilisez le sélecteur de mode pour définir le mode de répétition de la boucle. Les divers modes définissent la condition de fin de boucle. Par exemple, vous pouvez répéter la boucle un certain nombre de fois, jusqu'à ce que la valeur d'un capteur atteigne un seuil déterminé ou la répéter indéfiniment. Les Valeurs d'entrée disponibles varient selon le mode sélectionné. Les modes sont décrits ci-dessous.

Vous pouvez saisir un nom pour la boucle dans la zone Nom de boucle en haut du bloc Boucle. Ce nom peut être utilisé par le bloc Interruption de boucle pour mettre fin à la boucle.

Les blocs contenus dans la boucle peuvent utiliser la valeur de sortie Compteur pour indiquer le nombre de répétitions de la boucle. Pour plus d'informations, consultez la section Utilisation de la valeur de sortie Compteur.
Modes
Infini


En mode Infini, les blocs de la boucle se répètent indéfiniment. Tout bloc placé après la boucle ne sera alors jamais atteint.
Exemple 1
Ce programme crée un robot qui répète indéfiniment la séquence avancer/tourner, jusqu'à ce que le programme soit arrêté.
Conseils et astuces
Utilisez le bouton Retour de la brique EV3 pour arrêter le programme.
Exemple 2
Ce programme affiche une bouche fermée sur l'écran de la brique EV3 quand le capteur tactile est enfoncé et une bouche ouverte dans le cas contraire. La boucle répète indéfiniment une comparaison de capteur dans un bloc Sélecteur.
Compteur


En mode Compteur, la valeur d'entrée Compteur définit le nombre de répétitions des blocs dans la boucle.
Exemple
Dans ce programme, le robot dit "Hello" une fois, "Go" six fois, et enfin "Bravo" une fois. Le bloc Boucle contient un bloc Son et est configuré pour se répéter six fois.
Temps


En mode Durée, vous pouvez définir une durée de répétition de la boucle à la valeur d'entrée Secondes. La durée est mesurée à partir du début de la boucle.

La limite de temps est examinée uniquement à la fin de la séquence de la boucle. La séquence de la boucle s'exécute toujours au moins une fois et la boucle revient au début de la séquence uniquement quand le temps écoulé en fin de séquence est inférieur à la valeur des Secondes.
Logique


En mode Logique, la boucle se répète jusqu'à ce que la valeur d'entrée Jusqu'à soit Vrai à la fin de la séquence de la boucle. La séquence de la boucle s'exécute toujours au moins une fois et la valeur d'entrée Jusqu'à est évaluée à la fin de chaque exécution de séquence.

Utilisez un Fil de données pour connecter la valeur d'entrée Jusqu'à à une valeur de sortie logique d'un bloc de programmation de la boucle. Cette valeur de sortie doit être Vrai pour que la boucle se termine.
Exemple
Dans ce programme, le robot avance jusqu'à ce que le capteur tactile soit enfoncé ou que le capteur de couleur détecte du noir. La valeur de sortie d'un bloc Opérations logiques alimente la valeur d'entrée Jusqu'à de la boucle. Quand la boucle se termine, le robot s'arrête.
Conseils et astuces
De nombreuses comparaisons de capteur avec un seul capteur peuvent être effectuées directement par le bloc Boucle en utilisant les modes de capteur décrits ci-dessous.
Modes de capteur
Le bloc Boucle contient plusieurs modes qui lisent des données de capteur et les comparent à une valeur d'entrée. Chaque type de capteur propose plusieurs modes. Certains types de données de capteur peuvent être comparés à une Valeur de seuil, d'autres à des valeurs spécifiques.
Comparaison des données de capteur à une valeur de seuil
Dans un mode comprenant une Valeur de seuil, le bloc Boucle répète la séquence de blocs de la boucle jusqu'à ce que la comparaison au seuil soit Vrai. Par exemple, vous pouvez créer une boucle qui se répète jusqu'à ce que le capteur de couleur détecte une valeur d'intensité de la lumière réfléchie inférieure à une valeur de seuil que vous avez définie.



Sélecteur de mode
Sélecteur de port
Valeur d'entrée Type de comparaison
Valeur d'entrée Valeur de seuil

Utilisez le sélecteur de mode pour choisir un mode de capteur avec une valeur d'entrée Valeur de seuil. Si le mode utilise un port, utilisez le Sélecteur de port pour vérifier si le port correspond à celui de la brique EV3 auquel est connecté le capteur ou le moteur.

Choisissez le type de comparaison à utiliser dans la liste Type de comparaison, puis saisissez la Valeur de seuil.

À la fin de chaque séquence de blocs de la boucle, le bloc Boucle lit les données du capteur et les compare à la valeur de seuil. Si le résultat est Faux à ce moment-là, la boucle se répète. Si le résultat est Vrai, la boucle s'arrête et le programme continue avec le bloc qui suit la boucle.

Pour plus d'informations sur l'utilisation des différents types de capteurs et les données qu'ils fournissent, consultez les articles "Utilisation des capteurs" de l'aide.
Exemple
Dans ce programme, le robot avance en répétant trois sons et s'arrête dès que le capteur de couleur détecte une intensité de lumière réfléchie inférieure à 50.
Conseils et astuces
La valeur de seuil du capteur n'est examinée qu'à la fin de la séquence de la boucle. Dans l'exemple ci-dessus, si le capteur de couleur passe brièvement au-dessus d'une couleur sombre au milieu de la boucle, le robot pourrait ne pas la détecter et ne pas s'arrêter.
Comparaison des données de capteur à des valeurs spécifiques
Les modes de capteur suivants permettent à une boucle de comparer les données de capteur à des valeurs d'entrée spécifiques. La boucle va se répéter jusqu'à ce que les données du capteur correspondent à une valeur d'entrée définie.
ModeRemarques
Boutons de la brique La boucle se répète jusqu'à ce qu'un des boutons sélectionnés exécute l'action choisie.

Voir Utilisation des boutons de la brique.
Capteur de couleur – Couleur La boucle se répète jusqu'à ce qu'une des couleurs sélectionnées soit détectée.

Voir Utilisation du capteur de couleur.
Capteur infrarouge – Télécommande La boucle se répète jusqu'à ce qu'un des boutons de la balise IR sélectionnés soit enfoncé.

Voir Utilisation du capteur infrarouge en mode Télécommande.
Capteur tactile La boucle se répète jusqu'à ce que le capteur tactile se trouve dans l'état défini.

Voir Utilisation du capteur tactile.
Capteur à ultrasons – Présence La boucle se répète jusqu'à ce que des ultrasons soient détectés.

Voir Utilisation du capteur à ultrasons.
Messagerie La boucle se répète jusqu'à ce que le type de message défini soit reçu.

Voir Bloc Messagerie.
Conseils et astuces
Le capteur n'est examiné qu'à la fin de la séquence de la boucle. Si les données du capteur ne correspondent que brièvement à la valeur d'entrée définie pendant l'exécution de la séquence de la boucle, la boucle risque de ne pas s'arrêter.
Utilisation de la valeur de sortie Compteur
La valeur de sortie Compteur au début du bloc Boucle indique le nombre de répétitions de la séquence de la boucle. Vous pouvez utiliser ce compteur dans la boucle pour que la séquence fasse quelque chose de différent à chaque répétition.

Le compteur commence à 0 à la première exécution de la boucle et ajoute 1 à chaque répétition.
Exemple
Ce programme comptabilise le nombre de fois où le capteur tactile a été heurté (enfoncé puis relâché) sur l'écran EV3. Un bloc Attendre à l'intérieur de la boucle met celle-ci en attente. Le capteur tactile doit être heurté pour que la boucle se répète. Le Compteur est utilisé en valeur d'entrée Texte du bloc Afficher.
Redimensionnement d'une boucle
Généralement, le bloc Boucle s'adapte automatiquement pour faire de la place aux nouveaux blocs de programmation que vous insérez. Si nécessaire, vous pouvez aussi le redimensionner manuellement. Pour redimensionner une boucle, sélectionnez le bloc, puis tirez les poignées de redimensionnement qui s'affichent sur son contour.
Exemple
Ce bloc Boucle est redimensionné pour faire de la place à une deuxième séquence de blocs.
Valeurs d'entrée et de sortie
Les valeurs d'entrée disponibles pour le bloc Boucle varient selon le mode sélectionné. Vous pouvez saisir les valeurs d'entrée directement dans le bloc. Les valeurs d'entrée peuvent également être définies par les Fils de données des valeurs de sortie d'autres blocs de programmation.
Valeur d'entréeTypeRemarques
Compteur NumériqueNombre de répétitions de la boucle en mode Compteur.
Secondes NumériqueDurée (en secondes) de répétition de la boucle en mode Durée.
Jusqu'à LogiqueEn mode Logique, la boucle s'arrête quand cette valeur d'entrée est Vrai.
Type de comparaison NumériqueType de comparaison d'un mode de capteur avec valeur de seuil.
0 : = (Égal à)
1 : ≠ (Différent de)
2 : > (Supérieur à)
3 : ≥ (Supérieur ou égal à)
4 : < (Inférieur à)
5 : ≤ (Inférieur ou égal à)
Valeur de seuil NumériqueValeur à laquelle comparer les données de capteur en mode de capteur avec valeur de seuil.
(valeurs d'entrée pour les types de capteurs individuels)Pour plus d'informations sur les données d'un capteur, consultez l'aide du type de capteur correspondant.
La valeur de sortie du bloc Boucle correspond au nombre de répétitions de la boucle. Pour utiliser la valeur de sortie, connectez-la à un bloc de programmation dans ou hors de la boucle avec un Fil de données.
Valeur de sortieTypeRemarques
Compteur NumériqueNombre d'exécutions de la boucle. Le Compteur est sur 0 à la première exécution de la boucle.
Boucle
Liens rapides