Le langage de programmation Scratch est composé de différents types de blocs, chacun étant représenté par une forme différente.
Les blocs de tête servent à démarrer un programme. Ils ont un sommet arrondi de sorte que d'autres blocs ne puissent être attachés qu'en dessous d'eux.
Les blocs d'empilement exécutent les commandes principales d'un programme. Ce sont les blocs qui peuvent faire bouger les moteurs et allumer les lumières !
Les blocs C ont une forme en C. Ils sont placés entre le début et la fin de la boucle ou vérifient si une condition est "vraie". Tous les blocs en forme de C se trouvent dans la catégorie Contrôle.
Les blocs de valeur contiennent des valeurs, qui peuvent être un nombre ou une chaîne de caractères. Entre autres choses, ils peuvent contenir une lecture de capteur ou stocker la valeur d'une variable.
Les blocs booléens sont des conditions qui peuvent être vraies ou fausses. Ils sont utilisés en conjonction avec les blocs C pour former la logique d'un programme.
Les blocs de fin sont utilisés pour mettre fin aux scripts. Ils ont une encoche en haut et un bas plat de sorte que vous ne pouvez pas placer d'autres blocs en dessous d'eux. Il existe deux blocs de fin, tous deux se trouvent dans la catégorie Contrôle.
Une pile de blocs est un ensemble de blocs qui ont été assemblés.
Les blocs moteurs permettent soit de faire fonctionner les moteurs, soit d'obtenir des informations des moteurs.
Important! : On se sert uniquement des bloc Moteurs pour activer les moteurs qui ne sont pas destiné à déplacer le robot (ex: activer les moteurs moyens). Pour déplacer le robot, on doit se servir des blocs Déplacement.
Fait fonctionner un moteur dans le sens horaire (droite) ou antihoraire (gauche) pendant un nombre spécifié de rotations, de secondes ou de degrés. La vitesse du moteur est définie par le bloc Définir la Vitesse. La vitesse par défaut est de 75 %.
Fait fonctionner un moteur pendant un nombre spécifié de rotations, de secondes ou de degrés à une vitesse spécifiée. Une valeur de vitesse négative fait fonctionner le moteur dans le sens antihoraire.
Fait fonctionner un moteur dans le sens horaire (droite) ou antihoraire (gauche) en continu. La vitesse du moteur est définie par le bloc Définir la Vitesse. La vitesse par défaut est de 75 %.
Arrête un moteur en cours de fonctionnement. Le moteur freinera pour s'arrêter rapidement. Une fois arrêté, le moteur ne maintiendra pas sa position.
Définit la vitesse d'un ou de plusieurs moteurs. La plage de vitesse va de -100 à 100. Les valeurs négatives inverseront la direction du moteur. Si la vitesse n'a pas été spécifiée, la valeur par défaut est de 75 %.
Définit l'action que le moteur effectuera lorsque sa commande actuelle sera terminée. Il peut être réglé pour flotter (ne pas résister) ou maintenir activement sa position lorsque le moteur s'arrête.
Démarre un moteur à la vitesse spécifiée jusqu'à ce que le moteur soit instruit de faire autre chose ou que le programme s'arrête. Une valeur de vitesse négative fait fonctionner le moteur dans le sens antihoraire.
Fait fonctionner un moteur à un pourcentage spécifié de puissance jusqu'à ce que le moteur soit instruit de faire autre chose ou que le programme s'arrête. Contrairement aux blocs qui utilisent le paramètre de vitesse, régulant la puissance du moteur pour maintenir une vitesse spécifiée, ce bloc maintiendra le niveau de puissance constant sans régulation. Une valeur de puissance négative fait fonctionner le moteur dans le sens antihoraire.
Réinitialise le compte des degrés d'un moteur à "0". Le compte en degrés d'un moteur correspond à la position relative du moteur par rapport à son point de départ. Le compte en degrés est "0" à chaque démarrage du programme ou lorsque le moteur est connecté à une brique EV3. Faire tourner le moteur dans le sens horaire augmente le compte, tandis que faire tourner le moteur dans le sens antihoraire diminue le compte.
Renvoie le nombre de degrés qu'un moteur a tournés. Le compte en degrés est initialisé à "0" lorsque le programme démarre ou est réinitialisé à l'aide du bloc Réinitialiser les Degrés Comptés. Faire tourner le moteur dans le sens horaire augmente le compte, tandis que faire tourner le moteur dans le sens antihoraire diminue le compte.
Renvoie la vitesse actuelle du moteur. La valeur donnée est la vitesse réelle du moteur, et non la vitesse définie par le bloc Définir la Vitesse.
Les blocs de déplacement vous permettent de faire fonctionner deux moteurs de manière synchronisée. Ils sont principalement utilisés pour déplacer des bases de conduite. Seuls les moteurs du même type (par exemple, deux moteurs larges) peuvent être synchronisés.
Important! : La vitesse par défaut est de 50 %. Les Ports par défaut sont B (gauche) et C (droite).
Permet de déplacer un modèle vers l'avant ou vers l'arrière pendant un nombre spécifié de secondes, de degrés ou de rotations.
Utilisez le bloc Définir les Moteurs de Déplacement pour faire correspondre les Ports de votre modèle qui sont connectés aux moteurs larges.
La vitesse des moteurs est définie par le bloc Définir la Vitesse de Déplacement.
Déplace un modèle vers l'avant pendant le nombre spécifié de secondes, degrés ou rotations avec la direction spécifiée, offrant la possibilité de direction.
Des valeurs de direction plus élevées (par exemple, +99 et -99) rendront le trajet en arc de la base de conduite plus prononcé.
Utilisez une valeur de "0" pour avancer en ligne droite. En utilisant les valeurs 100 et -100, la base de conduite tournera sur elle-même.
Utilisez le bloc Définir les Moteurs de Déplacement pour faire correspondre les Ports de votre modèle qui sont connectés aux Moteurs Larges.
La vitesse des moteurs est définie par le bloc Définir la Vitesse de Déplacement.
Démarre le déplacement en avant d'un modèle avec la possibilité de direction indéfiniment. Des valeurs de direction plus élevées (par exemple, +99 et -99) rendront le trajet en arc de la base de conduite plus prononcé.
Utilisez une valeur de "0" pour avancer en ligne droite. En utilisant les valeurs 100 et -100, la base de conduite tournera sur elle-même.
Arrête tout mouvement.
Définit la vitesse d'un modèle en déplacement. La plage de vitesse va de -100 à 100. Les valeurs négatives changent la direction du déplacement.
Définit les moteurs de déplacement pour les blocs de déplacement. Le premier Port spécifié définit le moteur gauche, et le second Port spécifié définit le moteur droit.
Définit l'action que les moteurs de déplacement effectueront lorsque leur commande actuelle sera terminée. Il peut être réglé pour flotter (ne pas résister) ou maintenir activement la position actuelle lorsque les moteurs s'arrêtent.
Déplace un modèle pendant la durée spécifiée à la vitesse spécifiée, avec la direction spécifiée.
Des valeurs de direction plus élevées (par exemple, +99 et -99) rendront le trajet en arc de la base de conduite plus prononcé.
Utilisez une valeur de "0" pour avancer en ligne droite. En utilisant les valeurs 100 et -100, la base de conduite tournera sur elle-même.
Déplace un modèle pendant la durée spécifiée à la vitesse spécifiée pour chaque moteur.
La première valeur de vitesse définit la vitesse du moteur gauche, et la deuxième valeur de vitesse définit la vitesse du moteur droit.
Démarre le déplacement d'un modèle à la vitesse spécifiée, avec la direction spécifiée, jusqu'à ce que les moteurs reçoivent une autre instruction ou que le programme s'arrête.
Démarre le déplacement d'un modèle à la vitesse spécifiée pour chaque moteur, jusqu'à ce que les moteurs reçoivent une autre instruction ou que le programme s'arrête.
La première valeur de vitesse définit la vitesse du moteur gauche, et la deuxième valeur de vitesse définit la vitesse du moteur droit.
Les blocs d'affichage vous permettent d'afficher du texte ou des graphiques sur l'écran de la brique EV3.
Affiche l'image sélectionnée sur l'écran de la brique EV3 pendant le nombre spécifié de secondes.
Affiche l'image sélectionnée sur l'écran de la brique EV3. L'image reste affichée jusqu'à ce qu'elle soit remplacée par un autre bloc, que l'écran soit effacé, ou que le programme s'arrête.
Affiche le texte défini à la ligne spécifiée sur l'écran de la brique EV3. La hauteur de la ligne est de 10 pixels. Le texte reste affiché jusqu'à ce qu'il soit remplacé par un autre bloc, que l'écran soit effacé, ou que le programme s'arrête.
Affiche le texte défini dans la police de caractères spécifiée, aux coordonnées XY spécifiées sur l'écran de la brique EV3. La hauteur de la ligne est de 10 pixels. Le texte reste affiché jusqu'à ce qu'il soit remplacé par un autre bloc, que l'écran soit effacé, ou que le programme s'arrête.
Efface l'écran de la brique EV3.
Définit les témoins d'état de la brique à la couleur spécifiée et à l'option de pulsation spécifiée. Les options possibles sont vert, rouge, orange, vert en pulsation, rouge en pulsation et orange en pulsation.
Les blocs sonores vous permettent de jouer des sons à l'aide du haut-parleur intégré dans la brique EV3.
Joue un son sélectionné sur la brique EV3 et attend que le son soit terminé.
Démarre la lecture d'un son sélectionné sur la brique EV3 et continue immédiatement la pile de programmation.
Joue un bip sur la brique EV3 pendant le nombre spécifié de secondes.
Joue un bip sur la brique EV3. Le bip continuera à jouer jusqu'à ce que le haut-parleur soit instruit de faire autre chose ou que le programme s'arrête.
Ce bloc arrête tous les sons qui sont actuellement en cours de lecture sur la brique EV3.
Ce bloc permet de régler le volume du son. Le volume par défaut est de 100 %.
Les blocs d'événements sont composés en majorité de blocs de tête, ce qui signifie qu'ils sont toujours le premier bloc dans une pile de programmation et que d'autres blocs ne peuvent être attachés que sous eux. Les blocs de tête sont nécessaires pour démarrer une pile de programmation et seront déclenchés lorsque un événement spécifié se produit.
Important! : Le logiciel Ev3 classroom risque d'ignorer certain blocs d'événement si on utilise trop de ces blocs.
Astuce! : Les blocs événements de type message permettent de faire rouler des programmation en parallèle. Comme par exemple, faire avancer le robot et activer les autres moteurs en simultané.
Exécute tous les blocs attachés à lui, séquentiellement de haut en bas, lorsque le programme démarre. Le programme peut être lancé en utilisant le bouton de téléchargement et d'exécution, ou en sélectionnant et lançant le programme depuis la brique EV3.
Exécute les blocs attachés à lui lorsque le capteur de couleur détecte une couleur spécifiée. Le capteur peut détecter les couleurs suivante:
Ce bloc ne se déclenchera que lors de la détection de la couleur spécifiée. Cela signifie que le bloc ne se réenclenchera pas tant que la couleur détectée reste inchangée.
Exécute les blocs qui lui sont attachés lorsque le capteur tactile est pressé ou relâché.
Ce bloc ne se déclenchera que lors de l'événement spécifié, ce qui signifie qu'il ne se réenclenchera pas tant que l'état du capteur tactile reste inchangé.
Exécute les blocs qui lui sont attachés lorsque la distance du capteur ultrasonique à un objet est inférieure à, supérieure à, égale à ou change de plus que la distance spécifiée en centimètres ou en pouces.
Ce bloc ne se déclenchera que lors de l'événement spécifié, ce qui signifie qu'il ne se réenclenchera pas si la distance reste inchangée.
Exécute les blocs qui lui sont attachés lorsque l'angle du capteur gyroscopique est inférieur à, supérieur à, égal à ou change de plus que l'angle spécifié.
Ce bloc ne se déclenchera que lors de l'événement spécifié, ce qui signifie qu'il ne se réenclenchera pas si l'angle reste inchangé.
Exécute les blocs qui lui sont attachés lorsque le bouton de la brique spécifié est pressé ou relâché. Ce bloc ne se déclenchera que lors de l'événement spécifié, ce qui signifie qu'il ne se réenclenchera pas tant que le bouton de la brique reste dans son état actuel.
Exécute les blocs qui lui sont attachés lorsque sa condition booléenne est vraie.
Ce bloc ne se déclenchera que lorsque la condition devient vraie. Cela signifie qu'il ne se réenclenchera pas si la condition reste vraie.
Exécute les blocs qui lui sont attachés lorsque le message spécifié est diffusé, soit par le bloc Diffuser un Message, soit par le bloc Diffuser un Message et Attendre.
Diffuse le message spécifié. Tous les blocs Lorsque je reçois un Message qui ont été configurés pour le message spécifié seront activés.
Ce bloc de diffusion envoie le message spécifié et passe immédiatement au bloc suivant, contrairement au bloc Diffuser un Message et Attendre, qui attendra que toutes les piles de programmation "écoutant" ce message aient terminé avant de continuer.
Diffuse le message spécifié. Tous les blocs "Quand je reçois un Message" qui ont été configurés pour le message spécifié seront activés.
Ce bloc de diffusion envoie le message spécifié et attend que toutes les piles de programmation "écoutant" ce message aient terminé avant de passer au bloc suivant dans sa propre pile. Cela diffère du bloc "Diffuser un Message", qui continue sans attendre.
Exécute les blocs qui lui sont attachés lorsque le chronomètre dépasse la valeur spécifiée.
Ce bloc ne se déclenchera que lorsque le chronomètre dépasse la valeur spécifiée. Cela signifie que le bloc ne se réenclenchera pas tant que le chronomètre reste supérieur à la valeur spécifiée.
La catégorie des blocs de contrôle contient tous les blocs qui peuvent modifier le flux linéaire de l'exécution des blocs, tels que les structures "attendre", les boucles et les conditions.
Ce bloc met en pause la pile de programmation pendant un nombre spécifié de secondes - il prend en charge les nombres entiers et les décimales.
Ce bloc met en pause la pile de programmation jusqu'à ce qu'une condition booléenne spécifiée soit vraie.
Tous les blocs contenus à l'intérieur de ce bloc vont boucler un nombre X de fois.
Tous les blocs contenus à l'intérieur de ce bloc vont boucler indéfiniment. La seule façon d'arrêter la boucle est d'interrompre le programme en appuyant sur le bouton Arrêter ou en utilisant le bloc Arrêter Tout.
Tous les blocs contenus à l'intérieur de ce bloc vont boucler jusqu'à ce que la condition booléenne spécifiée soit vraie. Lorsque la condition spécifiée devient vraie, les blocs en dessous d'elle seront exécutés.
Ce bloc vérifiera si la condition booléenne spécifiée est vraie. Si la condition est vraie, tous les blocs contenus à l'intérieur seront exécutés. Si la condition est fausse, les blocs seront ignorés.
Ce bloc vérifiera si la condition booléenne spécifiée est vraie. Si la condition est vraie, les blocs contenus dans le premier espace seront exécutés, et la pile de programmation continuera. Si la condition est fausse, les blocs du deuxième espace seront exécutés.
Ce bloc arrête toutes les piles de programmation sauf la sienne.
Arrête toutes les piles de programmation en cours, sa propre pile de programmation, ou arrête et quitte le programme.
Les blocs de capteurs reçoivent des informations des capteurs.
Important! : Les couleurs détectées sont :
- Aucune couleur
- Noir
- Bleu
- Vert
- Jaune
- Rouge
- Blanc
- Marron
Renvoie "vrai" si l'intensité de la lumière réfléchie du capteur de couleur est supérieure, égale ou inférieure au pourcentage spécifié.
Renvoie l'intensité de la lumière réfléchie du capteur de couleur, en pourcentage. La valeur renvoyée est ajustée en fonction de la caluibration de l'intensité de la lumière réfléchie du capteur de couleur, qui peut être modifié à l'aide du bloc Calibrer l'intensité de la lumière réfléchie.
Permet de calibrer la sensibilité du capteur de couleur à l'intensité de la lumière réfléchie. Les seuils minimum et maximum peuvent être calibrés.
Met en pause l'état de la programmation jusqu'à ce que le capteur de couleur détecte la couleur spécifiée.
Renvoie vrai si le capteur de couleur détecte la couleur spécifiée.
Renvoie la couleur détectée par le capteur de couleur, sous forme de nombre.
Renvoie vrai si l'intensité de la lumière ambiante du capteur de couleur est supérieure, égale ou inférieure au pourcentage spécifié.
Renvoie l'intensité de la lumière ambiante du capteur de couleur, en pourcentage.
Met en pause la pile de programmation jusqu'à ce que le capteur tactile soit pressé ou relâché.
Renvoie vrai si le capteur tactile est pressé.
Met en pause la pile de programmation jusqu'à ce que la distance du capteur ultrasonique à un objet soit inférieure, supérieure, égale ou change de plus que la distance spécifiée en centimètres ou en pouces.
Renvoie vrai si la distance du capteur ultrasonique à un objet est supérieure, égale ou inférieure à la distance spécifiée en centimètres ou en pouces.
Renvoie la distance du capteur ultrasonique à un objet en centimètres ou en pouces. La plage du capteur est de 0 à 255 centimètres ou de 0 à 100 pouces.
Met en pause la pile de programmation jusqu'à ce que l'angle du capteur gyroscopique soit inférieur, supérieur, égal ou change de plus que l'angle spécifié.
Renvoie vrai si l'angle du capteur gyroscopique est supérieur, égal ou inférieur à l'angle spécifié.
Renvoie l'angle du capteur gyroscopique en degrés.
Réinitialise l'angle du capteur gyroscopique à "0".
Renvoie la vitesse angulaire du capteur gyroscopique, en degrés par seconde.
Met en pause la pile de programmation jusqu'à ce que le bouton de la brique spécifié soit pressé ou relâché.
Renvoie vrai si le bouton de la brique spécifié est pressé ou relâché.
Renvoie le bouton de la brique qui a été pressé, exprimé sous forme d'un numéro. Les valeurs possibles sont :
Ce bloc rapporte le temps, en secondes, depuis le démarrage du programme. Le chronomètre redémarre à chaque fois que le programme redémarre. Utilisez le bloc Réinitialiser le chronomètre pour redémarrer manuellement le chronomètre.
Ce bloc réinitialise le chronomètre.
Les blocs d'opérateurs effectuent toutes les opérations mathématiques qui peuvent être réalisées en utilisant des valeurs numériques.
Choisi un nombre aléatoire dans la plage spécifiée, en incluant les deux extrémités. Par exemple, avec une plage spécifiée de 1 à 3, le bloc pourrait renvoyer 1, 2 ou 3.
Additionne deux valeurs et renvoie le résultat.
Soustrait la deuxième valeur de la première valeur et renvoie le résultat.
Multiplie deux valeurs et renvoie le résultat.
Divise la premiere valeur par la deuxième valeur et renvoie le résultat.
Renvoie vrai si la première valeur est inférieure à la deuxième valeur.
Renvoie vrai si la première valeur est égale à la deuxième valeur.
Renvoie vrai si la première valeur est supérieure à la deuxième valeur.
Renvoie vrai si les deux valeurs booléennes sont vraies.
Renvoie vrai si au moins l'une des valeurs booléennes est vraie.
Renvoie vrai si la valeur booléenne est fausse.
Concatène, ou "joint", les valeurs ensemble et renvoie le résultat. Par exemple, si "bonjour" et "monde" sont entrés dans le bloc, il renverrait "bonjourmonde". Pour obtenir "bonjour monde", entrez "bonjour " et "monde" ou "bonjour" et " monde" en incluant un espace après "bonjour" ou avant "monde".
Renvoie le nombre de caractères contenus dans la chaîne donnée. Par exemple, si l'entrée est "LEGO", le bloc renvoie "4".
Renvoie le reste de la division lorsque la première valeur est divisée par la deuxième valeur.
Par exemple, lorsque la première entrée est 10 et la deuxième est 3, le bloc rapportera 1 car 10 divisé par 3 donne un reste de 1.
Les nombres négatifs se comportent un peu différemment car un reste doit toujours être positif (par exemple, -10 modulo 3 donne 2, pas -1, car vous devez multiplier 3 par -4 pour avoir un reste quelconque).
Arrondit le nombre donné au nombre entier le plus proche. Il suit les règles standard selon lesquelles les décimales de .5 ou plus sont arrondies à la hausse, tandis que les décimales de moins de .5 sont arrondies à la baisse.
Effectue la fonction mathématique spécifiée sur un nombre donné et renvoie le résultat. Voici quelques exemples de fonctions disponibles :
La catégorie des blocs de variable contient tous les blocs liés aux variables et aux listes (tableaux).
Renvoie la valeur d'une variable. Chaque fois qu'une variable est créée, une version de ce bloc apparaît avec le nom donné à la variable, résultant en une version de ce bloc pour chaque variable. Chaque version du bloc détient sa valeur "assignée".
Définit la variable à la valeur spécifiée. La variable peut être soit une chaîne de texte, soit un nombre.
Modifie la variable d'une valeur spécifiée. Si la variable est une chaîne de texte et non un nombre, elle est définie sur la valeur par laquelle la variable devait être modifiée (en convertissant la chaîne en "0").
Renvoie la valeur d'une liste. Chaque fois qu'une liste est créée, une version de ce bloc apparaît avec le nom donné à la liste, résultant en une version de ce bloc pour chaque liste.
Ajoute un élément contenant le texte ou le nombre spécifié à une liste.
Ce bloc supprime tous les éléments de la liste spécifiée.
Remplace le contenu de l'élément spécifié par une valeur spécifiée dans la liste.
Renvoie la valeur de l'élément spécifié dans une liste donnée.
Renvoie le nombre d'éléments contenus dans la liste spécifiée.
Vous pouvez créer votre propre définition d'un bloc personnel (Mes blocs).
Ce bloc vous permet de créer votre propre bloc personnalisé. Le bloc personnalisé est le groupe de blocs qui est attaché au bloc Définir.
Exécute un bloc défini par l'utilisateur. Le bloc est défini par le bloc Définir un bloc. Le nom affiché est celui attribué lors de la création du bloc personnalisé.