Scratch

Un logiciel à tout faire !
Image non disponible

Petit guide des possibilités d'utilisation du logiciel Scratch en Technologie.

6 commentaires Donner une note à l'article (5)

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. La présentation générale

Développé par le groupe de recherche Lifelong Kindergarten auprès du laboratoire Média du MIT, Scratch est un nouveau langage de programmation qui facilite la création d'histoires interactives, de dessins animés, de jeux, de compositions musicales, de simulations numériques ainsi que leurs partages sur le Web.

Scratch est un logiciel libre conçu pour initier les élèves, dès l'âge de 8 ans, à des concepts fondamentaux en mathématiques et en informatique. Il repose sur une approche ludique de l'algorithmique, pour les aider à créer, à raisonner et à coopérer. Il favorise également le partage sur le Web. À partir de 2007, le site Web a été ouvert afin de permettre à tous d'une part de publier, donc de partager ses projets sur le Web, et d'autre part d'apporter une aide à la mise en œuvre de Scratch.

I-A. Qu'est-ce que c'est ?

  • Scratch est dynamique, il permet de modifier le code du programme en cours d'exécution. Orienté multimédia pour l'enseignement à l'univers informatique des enfants, il traite avec une grande facilité des concepts de base de la programmation comme les boucles, les tests, les affectations de variables, et surtout la manipulation des objets, comme les sons et les vidéos.
  • Scratch est visuel, tout le code est directement inscrit dans la langue maternelle de l'enfant (une vingtaine de langues européennes est disponible) sous forme de briques en couleurs (par exemple les contrôles en jaune, les variables en rouge, les mouvements en bleu).
  • Scratch est libre et permet ainsi à l'enseignant de diffuser sa pédagogie par une interactivité quasi ludique des objets manipulés par ces briques logicielles. Le nom de Scratch fait référence à cet art de mélanger des sons grâce aux tables de mixage, comme à cette possibilité de réutiliser des objets.

Nous allons exploiter les différentes possibilités d'interaction avec différentes interfaces utilisées au collège…

I-B. Le principe

Image non disponible

Des « briques » assemblées graphiquement constituent le programme.

I-C. Téléchargement

II. L'interface de Scratch

Image non disponible
Sprite peut être traduit par objet ou par lutin

III. Premier programme avec Scratch 2

Il existe deux versions de Scratch 2.0 :

  • une version en ligne qui nécessite un navigateur récent et Adobe Flash Player ;
  • et une version téléchargeable pour tous les environnements qui nécessite Adobe Air.

Sinon, sous Linux, la version 1.4 s'installe simplement avec les paquets de la distribution.

III-A. Exemple 1

La nouvelle version de Scratch inclut dans ses possibilités l'exploitation d'une caméra vidéo utilisée comme capteur. Nous allons réaliser un programme de détection de mouvements dans une zone précise. Les mouvements détectés vont déclencher une alarme. Ce programme peut être utilisé dans le cadre du thème confort et domotique, pour illustrer la fonction sécurité.

Image non disponible

Quand Scratch 2.0 est lancé, passez le logiciel en français en cliquant sur l'icône représentant un globe terrestre.

Faites disparaître le chat :

Image non disponible

Cliquez sur l'onglet « Scripts ». Choisissez le menu « Evènements ». Faites glisser la commande dans la zone réservée aux programmes :

Image non disponible

Le programme démarrera en cliquant sur le drapeau de couleur verte.

Dans un deuxième temps, nous allons configurer la caméra. Cliquez sur l'option « capteurs ». Faites glisser et posez les deux blocs ci-dessous. Accrochez-les au bloc précédent :

Image non disponible

Cliquez sur le bloc « activer la vidéo ». Cet essai est réalisé avec une caméra vidéo intégrée à l'ordinateur portable :

Image non disponible

La vidéo est maintenant activée.

Nous allons créer une zone sensible sur l'écran :

Image non disponible

Ce lutin, encore appelé « sprite », prendra la forme d'un rectangle de couleur rouge. Choisissez une couleur et dessinez un rectangle dans l'éditeur :

Image non disponible
Image non disponible

Cliquez sur le bouton « vectoriser :

Image non disponible

La zone« sensible »est définie.

Cliquez à présent sur l'onglet « Script ». C'est normal qu'il soit vide, car le script précédent est attaché à la scène.

Sélectionnez « Evènements » :

Image non disponible

Faites glisser cette instruction :

Image non disponible

C'est le début du programme. Sélectionnez « Contrôle » :

Image non disponible

Créez maintenant une boucle à répétition infinie avec l'instruction suivante :

Image non disponible

Créez maintenant un test avec l'instruction :

Image non disponible

Nous allons voir : comment détecter le mouvement ? Sélectionnez « Opérateurs » :

Image non disponible

Il faut créer un opérateur :

Image non disponible

Préparez l'instruction de détection de mouvements :

Image non disponible

Détection d'un point en mouvement dans la zone c'est-à-dire sur le lutin, si le mouvement détecté dans la zone est supérieur à 70% :

Image non disponible

Dans ce cas, une alarme va être déclenchée sous forme d'un son joué :

Image non disponible

Le programme complet

Il ne reste plus qu'à lancer et tester le programme :

Image non disponible

III-B. Exemple 2 

Image non disponible

Numéraire, bijoux, téléphones et ordinateurs portables : les cambrioleurs qui sévissent depuis quelques semaines dans l'Aube sont à la recherche d'argent et d'objets facilement revendables. Ils opèrent en fin d'après-midi, lorsque les maisons non éclairées trahissent l'absence de leurs occupants, ou en pleine nuit lorsque leurs victimes sont endormies. Ce scénario est celui qui inquiète le plus les forces de police. Ce weekend, une quinzaine de cambriolages ont été commis dans des pavillons de l'agglomération troyenne, souvent après 22 h. Les malfaiteurs ont sévi à la Rivière-de-Corps, Saint-Parres-aux-Tertes et Saint-André-les-Vergers.

Article tiré de l'Est-Eclair, 2013

Problématique : comment assurer la surveillance d'une habitation ?

Une des réponses possibles évoque la vidéosurveillance.

Une autre réponse évoque la détection de mouvements autour des portes et des fenêtres.

Matériel nécessaire :

  • une webcam ;
  • des enceintes ;
  • le logiciel Scratch 2.0 installé ;
  • Un fichier son de sirène au format .wav.
Image non disponible

Consignes

Modifier le programme précédent pour permettre la surveillance des deux fenêtres.

Compétences visées

Traitement du signal : algorithme, organigramme, programme.

1

Identifier les étapes d'un programme de commande représenté sous forme graphique.

La programmation d'un support automatique ne demande pas l'écriture de lignes de code. Elle doit être graphique si le support présente une interface qui le permet. Le système automatique doit être simple.
L'objectif est de comprendre de manière globale l'impact de la modification sur le fonctionnement du système.

2

Modifier la représentation du programme de commande d'un système pour répondre à un besoin particulier et valider le résultat obtenu.

Coup de pouce

Aide donnée aux élèves sous forme de différentes procédures ou différents programmes.

Le fichier son :

Image non disponible

Image non disponible

Pour charger un fichier son différent

Image non disponible

Pour définir une autre zone sensible :

Image non disponible

La commande « envoyer à tous » permet d'envoyer un message d'un programme à un autre :

Image non disponible

La commande « quand je reçois » permet de déclencher un évènement en fonction du message reçu :

Image non disponible

La commande « sauvegarder » va vous permettre d'enregistrer tous vos essais :

Image non disponible

Dans un premier temps, il faut créer une ou plusieurs autres zones sensibles. Ces différentes zones doivent être ajustées en fonction de la pièce à surveiller :

Image non disponible

Des « sprites » ou lutins seront dessinés dans l'éditeur sous forme de rectangles. Pour chacun des « sprites », le programme ou script associé est toujours identique.

Le script suivant est à saisir pour tous les lutins. Le message « alarme » est envoyé aux autres scripts :

Image non disponible

Ce script est associé à la scène 1. Si le message « alarme » est transmis, alors l'alarme va retentir :

Image non disponible

IV. Programmer les interfaces du laboratoire

Scratch est bien un outil universel permettant le pilotage et la programmation d'interfaces que nous pouvons mettre en œuvre en 4e ou 3e .

IV-A. Matériel

Voici du matériel souvent présent dans un laboratoire et de nouveau :

Image non disponible

Lego TMNXTEnchantingWindows

Image non disponible

Image non disponible

Carte Arduino Uno TM - Interface de puissance pour Arduino Uno.Windows : S4A

Image non disponible

Fischertechnik TM - ROBO LT CONTROLLER ScratchfischWindows

Image non disponible

Fischertechnik TM - ROBO INTERFACE Scratchfisch Windows

Image non disponible

Carte d'acquisition Pico Board TM - Windows Scratch 1.4 - Linux Raspbian Scratch 1.4

Image non disponible

Image non disponible

Raspberry PI - Interface Piface Linux RaspbianScratch 1.4

Image non disponible

IV-B. Programmation de la « brique » NXT

Enchanting est la première extension de Scratch que nous allons tester. C'est une version de Scratch 1.4 modifiée.

Image non disponible
Image non disponible

Pour télécharger la dernière version d'Enchanting, rendez-vous sur le site officiel : http://enchanting.robotclub.ab.ca/tiki-index.php.

Sur ce site, une documentation sous forme de « cartes » au format .pdf en français permet une prise en main rapide. Pour en savoir plus : cliquez ici.

IV-C. Préparation de la « brique » NXT

Avant de pouvoir réaliser et tester des programmes avec Enchanting, nous devons « flasher » le microprogramme résidant dans la « brique » NXT. Cette opération n'est pas irrémédiable, on peut toujours revenir en arrière en utilisant le logiciel NXT Mindstorm pour télécharger le microprogramme d'origine.

Image non disponible

Retour au firmware d'origine

Image non disponible

IV-D. Programmation de la « brique » NXT

Reliez le micro contrôleur NXT à l'ordinateur à l'aide de son câble USB. Dans le menu « Fichier », choisissez la commande « Télécharger le micrologiciel… » :

Image non disponible

Cliquez sur « Oui » pour reformater le NXT :

Image non disponible

Une petite musique retentit en fin de téléchargement et l'opération est réussie  !

Image non disponible

Changez le firmware d'origine

IV-D-1. Réalisation et programmation sur une maquette de distributeur de croquettes

Problème : comment partir en weekend tout en prenant soin de son chat ?

Image non disponible
Image non disponible
Image non disponible

Le schéma :

Image non disponible

Fonctions de services

Critères

Niveaux

Tolérance

FP1 : distribuer les croquettes pour chat pendant 48 heures.

Type de nourriture distribuée

Croquettes sèches

 

Quantité de nourriture distribuée par distribution simple

100 g par jour pour un chat adulte

+- 10 %

Réglage de la quantité distribuée

Aucun

 

Durée de la distribution

10 minutes

+- 10 minutes

Horaires de distribution

Définis par l'utilisateur

 

Type de distribution

- Programmé
- Manuel

 

Extrait du cahier des charges fonctionnel (suite)

Fonctions de services

Critères

Niveaux

Tolérance

FC1 : maintenir la nourriture à l'abri de l'air.

Fermeture étanche du compartiment.

   

IV-D-2. Réalisation du programme pas-à-pas

Configuration du moteur :

Image non disponible

Le servomoteur sera relié sur le port A :

Image non disponible

Le début du programme :

Image non disponible

Le programme va démarrer si l'on clique sur le drapeau vert :

Image non disponible

Image non disponible

Cette procédure peut être utilisée pour ouvrir et fermer le compartiment contenant les croquettes.

  1. La vitesse de rotation est fixée à 10°/s, ce qui est très lent.
  2. La référence est fixée par le compte rendu du capteur angulaire du servomoteur. C'est le point de départ de la rotation.
  3. Le moteur tourne de 90° et s'arrête.
  4. La référence est fixée à nouveau et le moteur tourne de 90° dans le sens contraire. Retour à la position de départ :
Image non disponible

Configuration d'un capteur de contact :

Image non disponible
Image non disponible

Dans l'éditeur, choisissez un capteur de contact. Faites « glisser » le bloc sur le port 1. Il faudra relier le capteur sur l'entrée 1 :

Image non disponible
Image non disponible

Réalisons le programme suivant :

  • une boucle est créée pour que les actions se répètent à l'infini ;
  • le programme attend un appui sur le bouton poussoir ;
  • dans ce cas-là, le moteur tourne de 90° ;
  • un nouvel appui sur le bouton permet une rotation angulaire de 90° dans l'autre sens.

Ce qui nous donne :

Image non disponible

Ce programme peut être utilisé pour ouvrir et fermer le compartiment contenant les croquettes :

Image non disponible
Image non disponible

Ce prototype de distributeur de croquettes peut servir de support pédagogique pour faire émerger la notion de condition de commande et de logique combinatoire de base : et, ou, non.

L'action sur le bouton poussoir permet de commander l'ouverture et la fermeture en douceur du distributeur de croquettes.

Nous allons ajouter un capteur de distance à ultrasons. Si le chat s'approche à moins de 10 cm, le distributeur s'ouvre en douceur. Le distributeur se referme si aucune présence du chat n'est détectée pendant 10 secondes :

Image non disponible

Image non disponible

Le capteur à ultrasons est utilisé pour mesurer la distance. Il faut le connecter sur l'entrée 2 du NXT.

Le bouton poussoir permet de commander en priorité l'ouverture ou la fermeture du récipient de croquettes :

Image non disponible

Compétences visées

Commande d'un objet technique et logique combinatoire de base : ET, OU ou NON

2

Modifier une condition logique de commande

On s'appuiera sur un objet pluritechnique simple ou un système automatique simple. Il s'agit de montrer que la commande du dispositif peut être conditionnelle et que le comportement du système dépend d'informations captées et exploitées de façon logique.

Le problème suivant peut être posé : à quelle condition s'ouvre le distributeur de croquettes ?

Les activités possibles :

  • tester le fonctionnement de la maquette et proposer une réponse sous forme d'un texte ;
  • identifier les conditions directement dans le programme.

IV-E. Programmation de l'interface Picoboard

Image non disponible

L'interface Picoboard permet d'acquérir des phénomènes physiques de toutes sortes :

  • mouvements ;
  • intensité sonore ;
  • intensité lumineuse ;
  • appuis ;
  • contacts ;
  • variation de résistivité.
Image non disponible

Picoboard est disponible chez : https://www.sparkfun.com/products/10311.

Picoboard est aussi compatible avec Scratch 1.4 et Scratch 2.0 sous Windows.

Vous pouvez récupérer le driver à cette adresse : http://www.picocricket.com/picoboardsetupUSB.html.

Les capteurs « tilt » et « distance » concernent l'interface des LEGO Education WeDo :

Image non disponible
Image non disponible

IV-F. Programmation de l'interface Picoboard et simulation d'éclairage automatique

Scratch permet de réaliser des animations. Commencez par dessiner une maquette de maison avec Google Sketchup 8 :

Image non disponible

Exportez l'image puis mettez-la en forme (avec Paint par exemple) : le petit parallélépipède rectangle représente une source de lumière (éteinte pour l'instant).

Enregistrez le document au format .png sous le nom « maison1 » :

Image non disponible

Recommencez la même opération en simulant l'éclairage. Enregistrez cette évolution au format .png sous le nom « maison2 » :

Image non disponible

Dans Scratch 1.4, réalisons le programme suivant :

Image non disponible

Cliquez sur le chat avec le bouton droit et faites-le disparaître !

Importez un nouvel objet (icône dossier) : maison1.

Cliquez sur l'onglet : « costumes ».

Cliquez sur le bouton : « importer » et récupérez : maison 2.

Cliquez alors sur l'onglet : « scripts » et saisissez le « corps » du programme.

Pour lancer le programme, cliquez sur le drapeau vert. En appuyant une fois sur le bouton de la Picoboard, la maison s'illumine. En appuyant une nouvelle fois, la maison s'éteint :

Image non disponible
Image non disponible

Une première variante du programme : éclairage automatique en fonction de l'ambiance lumineuse extérieure :

Image non disponible

Le seuil de luminosité est fixé à 20 %. Ce réglage est à effectuer en fonction de la luminosité ambiante :

Image non disponible

Dans l'obscurité cette valeur est basse.

Une deuxième variante pour que l'éclairage obéisse aux sons :

Image non disponible

IV-G. Programmation de la carte Arduino « Uno »

Une toute petite carte que nous pouvons obtenir facilement. Cliquez ici pour en savoir plus.#

Un câble USB est nécessaire pour l'alimenter et lui transférer des programmes.

Image non disponible

Une version du logiciel Scratch 1.4 permet de la programmer en temps réel.#

Vous pouvez la récupérer à cette adresse : http://s4a.cat/.

Vous aurez également besoin de l'éditeur de programme Arduino que l'on peut récupérer à cette adresse : #http://arduino.googlecode.com/files/arduino-1.0.5-windows.zip.

Pour terminer, il faut également récupérer le firmware à cette adresse et le transférer dans la carte avant de lancer Scratch (s4a) : http://s4a.cat/downloads/S4AFirmware15.ino.

Récupérez ce fichier et copiez-le sur le bureau par exemple.

Lancez alors le logiciel Arduino et ouvrez le fichier.

Au démarrage, répondez OUI pour que le fichier soit mis au bon emplacement :

Image non disponible

Branchez alors votre carte Arduino® et cliquez sur le bouton « téléverser » dans le menu fichier :

Image non disponible

Une fois le téléchargement vers la carte Arduino® effectué, le programme devient résident même si l'alimentation est coupée.

On peut alors lancer le logiciel Scratch pour Arduino®. En revanche, on ne peut pas transférer les programmes conçus sous Scratch pour qu'ils deviennent résidents. C'est un problème en cas de conception de robot autonome !

Si l'installation précédente a été réalisée correctement, au démarrage de S4A, le logiciel tente de se connecter à la carte :

Image non disponible

Si vous connectez l'interface Arduino®, le message ci-contre indique que la connexion est établie :

Image non disponible

Dans S4A, vous découvrez les commandes compatibles avec cette interface en cliquant sur l'onglet « mouvement » :

Image non disponible

La carte Arduino « UNO » ne suffit pas en elle-même à piloter des actionneurs comme des lampes ou des moteurs électriques. Il faut lui adjoindre une carte de puissance comme celle disponible ici.

Image non disponible

I/O Shield pour Arduino® kit monté Velleman VMA05.

http://www.velleman.co.uk/contents/en-uk/ka05.pdf

Les instructions : digital n [on ou off] permettent le pilotage des sorties de l'interface.

Le compte rendu des entrées logiques ou analogiques se programme à partir de « value of sensor |Analog ou Digital | …» :

Caractéristiques techniques :

  • six sorties sur relais ;
  • six entrées analogiques ;
  • six entrées numériques ;
  • charge de 1 A (max.) par sortie.
Image non disponible

Cette carte se monte directement sur la carte Arduino.

IV-H. Programmation de l'interface ROBO Computing porte de garage

Quelques ressources en ligne :

Image non disponible
Image non disponible
Image non disponible
Interface ROBO

Pour installer ScratchFisch, respectez bien la procédure ci-dessous :

  • votre ordinateur doit tourner sur Windows XP ou XP-Pro impérativement ;
  • si votre machine est munie d'un client pour permettre l'identification sur un réseau, désinstallez-le si possible ;
  • il faut commencer par installer le support Java sur l'ordinateur. Vous pouvez le télécharger à cette adresse ;
  • il faut également installer le driver de l'interface ROBO. Vous le trouvez dans le CDROM du logiciel ROBO Pro : pour cela, connectez l'interface ROBO à l'ordinateur, attendez la boîte de dialogue relative à l'installation d'un nouveau matériel. Choisissez l'installation manuelle en spécifiant l'emplacement :
Image non disponible

Si vous ne disposez pas du cédérom, vous pouvez récupérer le driver à cette adresse ;

Image non disponible

Choisissez le deuxième lien correspondant à l'installation manuelle.

  • une fois que le téléchargement est fait, il faut ouvrir le fichier compressé :
Image non disponible
  • glissez le répertoire ScratchFisch sur le bureau pour le décompresser :
Image non disponible
  • dans le dossier ScratchFisch, retrouvez le sous-répertoire Binaries :
Image non disponible

recopiez son contenu dans : C:\WINDOWS\SYSTEM32 ;

  • dans le répertoire ScratchFisch sur le bureau, lancez l'application Start-ScratchFisch.exe :
Image non disponible

Ce message doit s'afficher si la connexion avec l'interface ROBO est correcte.

Il faut maintenant récupérer Scratch 1.4 à l'adresse suivante : https://scratch.mit.edu/scratch_1.4/.

Il ne reste plus qu'à installer et à lancer Scratch 1.4.

Pour pouvoir piloter l'interface ROBO, il faut encore créer un fichier de démarrage vide, mais qui contient le protocole pour que le logiciel communique avec l'interface.

À partir de Scratch, ouvrez le fichier « Heartbeat » situé dans les exemples « Beispiele » du répertoire ScratchFisch :

Image non disponible

Créez un nouveau lutin en allant chercher le chat dans la bibliothèque, dans le répertoire « Animals » :

Image non disponible

Supprimez les objets « Trommel » et « Hertz ». Enregistrez ce fichier « vide » sur le bureau avec le nom « Scratch pour ROBO ». C'est à partir de ce fichier que Scratch 1.4 sera lancé dorénavant.

Les éléments :

Image non disponible

I1

Image non disponible

Interface ROBO

Image non disponible

Avertisseur sonore

Image non disponible

I2

Image non disponible

Moteur électrique

Image non disponible

I3

Contacteur fin de course à relier sur I1 pour déclencher l'ouverture et la fermeture de la porte.

Contacteur fin de course à relier sur l'entrée I3 pour détecter la porte en position ouverte.

Contacteur fin de course à relier sur I2 pour détecter la porte en position fermée.

Le moteur est à relier sur la sortie M1.

L'avertisseur sonore est à relier sur la sortie M2.

Ce qui donne le câblage final des composants sur l'interface :

Image non disponible

Comment rendre l'ouverture et la fermeture de la porte moins dangereuses ?

Image non disponible Image non disponible

Image non disponible Image non disponible

La réalisation de la maquette peut être envisagée dans le cadre de la réalisation collective.

Réponses possibles :

  • déclencher un avertisseur sonore pendant l'ouverture et la fermeture de la porte ;
  • déclencher une lumière clignotante pendant l'ouverture et la fermeture de la porte ;
  • détecter une difficulté de fermeture ou d'ouverture de la porte.

Les programmes suivants permettent de comprendre comment déclencher deux actions simultanément.

Le premier programme permet l'ouverture et la fermeture de la porte de garage à partir d'un appui sur le contacteur fin de course relié sur I1 « Eingang1 » :

Image non disponible

La sortie Motor1.7 : 1 est le numéro de la sortie ici M1. -7 et +7 correspondent à la quantité de courant envoyé au moteur ainsi que son sens de rotation. La vitesse de rotation du moteur peut varier de 0 à 8.

Le second programme permet de faire retentir une alarme pendant l'ouverture et la fermeture de la porte :

Image non disponible

Il est nécessaire de créer une variable :

Image non disponible

La variable « son » quand elle prend la valeur 1, permet de déclencher l'avertisseur sonore par intermittence pendant l'ouverture ou la fermeture de la porte.

V. Remerciements

Nous remercions Jean-Paul Bricard d'avoir autorisé Developpez.com à gabariser son tutoriel.

Ainsi que milkoseck pour la relecture orthographique.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2015 Jean-Paul Bricard. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.