BlocksCAD : la CAO “façon Scratch” pour des projets EPI avec imprimante 3D

Avec la réforme du collège, les projets impliquant la fabrication de maquettes et autres dispositifs expérimentaux devraient se multiplier, notamment dans le cadre des EPI (Enseignements Pratiques Interdisciplinaires). Comment parvenir à concevoir et réaliser rapidement et simplement avec les élèves des pièces pour ces maquettes ?

Les professeurs de Technologie au collège utilisent depuis des années divers logiciels de modélisation 3D suivant le thème abordé. En 6è la modélisation 3D permet aux élèves de visualiser des mécanismes, comme une transmission par chaîne. Dans ce cas l’élève se contentera d’exploiter une modélisation 3D avec SolidWorks par exemple, ou un logiciel comme edrawing. En 5è, les élèves commencent à faire de la modélisation 3D en rapport avec le thème Habitat et ouvrages. Des logiciels comme Sketchup ou Sweet Home 3D sont souvent utilisés. En 4e et 3e, SolidWorks est à nouveau très utilisé, mais la modélisation avec ce logiciel nécessite une phase d’apprentissage délicate pour de nombreux élèves.

Logo du logiciel BlocksCAD (source : blockscad.einsteinsworkshop.com)

J’ai découvert très récemment le logiciel BlocksCAD qui me semble très intéressant pour concevoir de nombreuses activités pédagogiques. C’est un logiciel développé par Einstein’s Workshop, un centre de formation pour enfants dans la région de Boston aux Etats Unis. Le développement a été financé sous-licence libre grâce à une campagne de crowdfunding (financement participatif) en 2013 et 2014. BlocksCAD est basé sur Blockly qui est une brique logicielle conçue en 2013 par Google pour permettre le développement de logiciels pédagogiques d’apprentissage de la programmation. Blockly permet de concevoir simplement un logiciel où la conception se fait graphiquement en assemblant des blocs, comme avec Scratch ou AppInventor. Blockly permet de générer du code à partir de cet assemblage de blocs. Ici BlocksCAD génère une modélisation en 3D en utilisant le code du logiciel OpenSCAD qui est un logiciel libre de modélisation en 3D (à partir de scripts). Les modèles créés avec BlocksCAD peuvent être exportés au format OpenSCAD, mais ce n’est pas sa fonction principale. Par défaut BlocksCAD travaille avec des fichiers au format XML et génère un fichier au format STL (STereoLythography) qui est devenu le format le plus courant pour les logiciels d’impression 3D (comme RepetierHost qui est un logiciel libre).

BlocksCad m’a permis de concevoir et fabriquer des mécanismes à usage pédagogiques. Il s’agit de vrais mécanismes entièrement imprimables en 3D, constitués de pièces mobiles, avec différents types de liaisons, différents types de motorisations …  Mais attention, pour imprimer toutes les pièces d’un petit mécanisme, il faut de 2h à 3h en moyenne. Cela nécessite généralement de l’ordre de 10 m de fil en PLA de 1,75 mm. A raison de 25 € la bobine de 1kg en moyenne (soit au moins 330 m), cela revient à quelques dizaines de centimes pour un petit mécanisme comportant quelques pièces, et moins de 2 euros pour un mécanisme comportant une vingtaine de pièces.

Même si BlocksCAD est simple, la conception des pièces d’un mécanisme n’est pas forcément simple. Mais un des intérêts de BlocksCAD est la possibilité pour l’enseignant de pouvoir donner aux élèves des modèles 3D de briques élémentaires : une sorte de bibliothèque de pièces mécaniques constituant une boîte de mécano virtuelle. On donnerait ainsi la possibilité pour les élèves de choisir les pièces correspondant à leur besoin, de les modifier pour tenir compte de leurs contraintes (parfois simplement en changeant des paramètres du modèle), de les assembler dans BlocksCAD, éventuellement de les animer (avec OpenSCAD), de les imprimer, de les assembler physiquement en les intégrant dans un système (avec une chaîne d’énergie et une chaîne d’informations), de valider des solutions techniques, …, que ce soit au collège ou au lycée. Il serait intéressant que les enseignants puissnet mutualiser les modèles 3D faits sous BlocksCAD pour constituer cette “boîte de mécano virtuelle”.

Voici quelques exemples que j’ai mis au point. Je les ais fabriqués et ils fonctionnent. Je publie ici des images et des vidéos issus des modèles 3D. Des photos et des vidéos des systèmes imprimés seront publiées prochainement.

1) Une pièce de base pour la construction de mécanismes : une barre avec des trous et un connecteur intégré à une extrémité

J’ai essayé de faire une conception paramétrique d’une pièce de base constituée d’une barre avec des trous (comme les jeux Mécano) avec un connecteur intégré pour obtenir des liaisons pivot : on peut choisir notamment le nombre de trous (n), la largeur de la pièce (b), la hauteur des deux premiers cylindres constituant les connecteurs (h1 et h2), … J’ai ajouté aussi un trou avec un méplat pour le moteur.

Barre 4 trous V14

Exemple de pièce conçue avec BlocksCAD. Les couleurs ont été ajoutées à des fins pédagogiques (Source : LP2I)

Barre_190416_V19_Top

L’ensemble est facilement paramétrable (Source LP2I)

Barres_assemblees_180616

Assemblage de deux barres, selon un angle que l’on peut facilement faire varier (voire animer avec OpenSCAD).

Essai_Barres_assemblees_180616

On peut très simplement imaginer et concevoir un tas de choses à imprimer en 3D. Ici les barres rouges sont imprimées sous la forme d’une seule pièce. Les liaisons cylindriques entre les pièces se clipsent et tournent bien.

2) Mécanisme bielle-manivelle

A partir de cette pièce de base j’ai conçu et imprimé en 3D un système bielle-manivelle à usage pédagogique. On peut notamment changer la course en connectant la bielle (en rouge) sur deux trous de la manivelle (en bleu). On peut allonger chacune des pièces pour y connecter d’autres pièces.

Bielle_manivelle_190416_V19_Top2

Système bielle-manivelle motorisé, conçu avec BlocksCad (Source : LP2I)

Bielle_manivelle_190416_V19_Bot2

Arrière du système bielle-manivelle motorisé, conçu avec BlocksCad. Le moteur peut se fixer sur la partie orange. (Source : LP2I)

Bielle_manivelle_190416_V19_Bot3

On peut aussi allonger la pièce verte en translation pour pouvoir y connecter un autre mécanisme. Il suffit de changer la valeur du nombre de trous pour cette pièce. (Source LP2I)

Continuer la lecture

Matériel pour enseigner la technologie

1. Besoins et contraintes

J’ai enseigné la Technologie au collège pendant 3 ans, en complément de service. Sino j’enseigne les Sciences de l’Ingénieur au LP2I (Lycée Pilote Innovant de Jaunay-Clan). J’ai passé beaucoup de temps à chercher et choisir des moyens matériels et logiciels pour permettre à mes élèves de travailler sur les différentes fonctions d’un système pluritechnique, que ce soit au niveau de la chaîne d’information ou de la chaîne d’énergie : capteurs, interfaces de dialogue (boutons, Leds, écrans, …), cartes électroniques pour le traitement programmé de l’information, interfaces de communication (liaisons séries, Bluetooth, …), alimentations (y compris solaires), interfaces de puissance, actionneurs (moteurs, éclairage, …), différents mécanismes (poulies, courroies, engrenages, …), et autres matériels divers (appareils de mesures), …

Exemple simplifié de la chaîne d’information et d’énergie d’un robot aspirateur (Source : Collège Jean Macé)

Continuer la lecture

Blockly Arduino : l’esprit d’Ardublock, sans ses inconvénients !

1. Une nouvelle interface graphique développée par Google

Le MIT et Google ont développé Scratch et AppInventor qui ont révolutionné l’enseignement des bases de la programmation. Ces logiciels étaient basés initialement sur une interface graphique très novatrice appelée Openblocs où on assemble des blocs pour générer du code. Openblocs est une application Java qui peut poser problème. Elle est utilisé aussi par Ardublock.

Google a ensuite développé Blockly, sorti en 2013, qui est un outil logiciel avec là encore une interface graphique pour programmer à partir de blocs et générer automatiquement du code. Blockly a été conçu pour être facilement intégrable à des logiciels pédagogiques de programmation graphique. Blockly est aussi conçu pour pouvoir être très configurable et s’adapter aux besoins pédagogiques : on peut facilement créer ses propres blocs, et définir le code qui doit être généré. Blockly est en javascript, il peut donc facilement être intégré à une application web multiplate-forme comme AppInventor 2 (en 2013).

Blockly est libre et est à l’origine aujourd’hui de nombreux logiciels de programmation graphique. Blockly est intéressant pour l’enseignement de l’algorithmie en Mathématiques conformément aux nouveaux programmes du collège comme le montre Patrick Raffinat dans son article : http://revue.sesamath.net/spip.php?article811

Pour programmer des cartes électroniques Arduino, j’utilise Ardublock depuis 2013 car c’est le logiciel qui correspondait le mieux à mes besoins en Technologie au collège mais aussi au lycée en Sciences de l’Ingénieur. Malheureusement Ardublock intègre Openblocs et non Blockly.

 

2. Intégration de Blocly avec Arduino par des enseignants

Parmi les nombreuses applications pédagogiques de Blockly, il y a Blockly Arduino développé depuis 2014 par Sébastien Canet, professeur formateur de Technologie de l’académie de Nantes. Blockly Arduino permet donc de programmer graphiquement avec des blocs et de générer du code pour Arduino, en langage C. La compilation du langage C en code exécutable par une carte Arduino est réalisée par le logiciel Arduino ou par un plugin du navigateur (CodeBender). La version actuelle de Blockly Arduino est opérationnelle et est très intéressante sur le plan pédagogique. Elle apporte de nombreux avantages par rapport à Ardublock, dont le développeur s’est inspiré.

Blockly Arduino est une application web qui ne nécessite donc aucune installation (pas besoin de droits administrateur non plus) et qui fonctionne sur toutes les plate-formes (PC, Mac, Androïd, …).

Exemple de programme simple avec Blockly Arduino utilisant un capteur de collision (logique), un capteur de vide (optique et analogique) , et un servomoteur à rotation continue. L’affichage se fait sur l’écran du PC via le câble USB.

Capteur collision ou vide + Servo rotation continue 150216.zip (version du 15/02/16)

Exemple de programme écrit avec Blockly Arduino. Il utilise un capteur de collision (logique), un capteur de vide (optique et analogique) , et un servomoteur à rotation continue (Source : Collège Jean Macé)

Exemple de programme écrit avec Blockly Arduino. Il utilise un capteur de collision (logique), un capteur de vide (optique et analogique) , et un servomoteur à rotation continue (Source : Collège Jean Macé)

5) Capteur colision ou vide + Servo rot continue 120515 (complet)

Le même programme fait avec Ardublock (Source : Collège Jean Macé)

Blockly Arduino est accessible à partir du lien suivant qu’il faut ouvrir avec Mozila Firefox (32 ou 64 bits) ou Google Chrome (32 bits uniquement) par exemple :

http://www.blockly.technologiescollege.fr/blockly@rduino/?lang=fr
Lien vers un tutoriel

Il est possible également de télécharger le site web de Blockly Arduino (moins de 10Mo) et de le lancer à partir du fichier index.html

Lien vers le logiciel pour un fonctionnement en local :

https://github.com/technologiescollege/Blockly-at-rduino

L’interface graphique de Blockly Arduino :

Menus, boîte à outils et espace de travail de Blockly Arduino (Source : Collège Jean Macé)

Menus (à gauche), boîte à outils (avec blocs “fonctions” ouverts, avec les fonctions utilisées) et l’espace de travail de Blockly Arduino avec un exemple de programme utilisant un capteur analogique et deux moteurs à courant continu. (Source : Collège Jean Macé)

Code Arduino généré par Blockly Arduino (Source : collège Jean Macé)

Code Arduino généré par Blockly Arduino (Source : collège Jean Macé)

Ne pas confondre Blockly Arduino avec Blockly Duino qui est une ancienne version.
Elle a inspiré le développement d’Ardublockly, qui est encore en version béta, mais qui devrait être intéressant également.
Voir une demo en ligne de l’interface d’Ardublockly ici : http://carlosperate.github.io/ardublockly/index.html
Pour une installation fonctionnelle (partiellement car en cours de développement) :
https://github.com/carlosperate/ardublockly
Mon premier essai d’Ardublockly m’a permis de voir notamment une fonction très intéressante, la possibilité de copier une partie d’un programme (sous forme de blocs) et de la coller dans le programme en cours. Cette fonction n’est pas visible dans la démo en ligne qui n’intègre pas les menus.

Continuer la lecture

Investigation en 4e sur un robot aspirateur et mise en oeuvre d’une carte Arduino avec Ardublock

Mise à jour du 22 février 2016

Je constate aujourd’hui que de plus en plus d’enseignants s’intéressent à Ardublock, mais il faut avoir conscience que ce logiciel est en fin de vie. Il n’est plus maintenu depuis longtemps et presque plus personne ne développe de nouvelles fonctionnalités d’Ardublock.

Depuis maintenant deux ans environ, de nouveaux logiciels de programmation ont été développés, la plupart à partir de Blockly conçu spécialement par Google pour faciliter justement le développement de ce type de logiciels pédagogiques. On trouve aujourd’hui des logiciels capables de remplacer avantageusement Ardublock. J’ai choisi d’utiliser Blockly Arduino qui a entre autre l’avantage de pouvoir facilement s’adapter à mes besoins pédagogiques. J’ai rédigé un article qui vous expliquera plus précisément les avantages de Blockly Arduino par rapport à Ardublock, ainsi que les points à améliorer prochainement.

La suite de cet article date de juin 2015 : considérer qu’aujourd’hui Ardublock peut avantageusement être remplacé par Blockly Arduino !

Objectifs

Identifier les principales solutions techniques utilisées dans la chaîne d’information d’un système automatique. Analyser notamment comment la carte électronique programmable d’un robot reçoit des informations à partir de capteurs, et comment elle génère des commandes pour permettre au robot d’assurer sa fonction de manière autonome.

Le robot choisi pour cette activité est en cohérence avec le thème “confort et domotique” de l’enseignement de la technologie en 4e. Il s’agit d’un robot aspirateur. On en trouve de toutes sortes à des prix plus ou moins élevés. L’achat d’au moins deux robots aspirateur (un fonctionnel, un à démonter) peut néanmoins poser problème vu les budgets de la Technologie au collège. J’ai utilisé des robots prêtés par mon lycée. Ce sont des robots Auto Cleaner présentés ci-dessous.

Le robot aspirateur Auto Cleaner est prévu pour nettoyer le sol d’une habitation de manière autonome.
Il s’adapte à son environnement à l’aide de capteurs. Il peut ainsi modifier sa trajectoire et couvrir complètement la surface à nettoyer.

Modelisation 3D du robot aspirateur AutoCleaner (source )

Modelisation 3D du robot aspirateur Auto Cleaner (source )

Modelisation 3D du robot aspirateur Auto Cleaner. Vue de dessous (source )

 

Chaîne d’information

– J’ai introduit progressivement la notion de chaîne d’information en analysant des objets techniques tels que machines à laver le linge, ordinateurs, télévisions, ascenseurs, portes automatiques, robot aspirateur, … L’élève découvre que ces objets sont capables notamment de gérer automatiquement des informations.

– Le traitement de l’information est réalisé généralement par une carte électronique programmable comportant un processeur.
. Les informations en entrées sont issues de l’utilisateur ou de capteurs qui permettent d’acquérir des d’informations sur son environnement.
. Les informations en sorties sont communiqués à l’utilisateur, ou correspondent à des commandes pour la chaîne d’énergie (vitesse et direction des moteurs, …).

– Un premier schéma fonctionnel de la chaîne d’information est introduit à partir des analyses antérieures, notamment l’analyse d’une porte d’ascenseur (avec l’introduction de carte électronique programmable et de la notion de capteur optique infrarouge). Le schéma fonctionnel permet de mieux préciser les objectifs de l’investigation expérimentale sur le robot aspirateur et sur la carte Arduino.

Chaine d'information 150615

 

Technologies électroniques et informatiques utilisées

– Pour réaliser cette chaîne d’information, les solutions techniques utilisent des technologies électroniques et informatiques : des cartes électroniques avec des circuits intégrées (des processeurs notamment), des programmes,… J’ai introduit progressivement ces technologies en permettant aux élèves de démonter divers objets (donnés par les parents), …

– Approche historique : j’ai aussi utilisé des extraits vidéo sur les débuts de l’électronique et de l’informatique modernes lors de la conquête spatiale américaine dans les années 60 (sujet motivant pour de nombreux élèves, mais souvent méconnu) :

Première partie de la vidéo

Deuxième partie de la vidéo

Troisième partie de la vidéo

 

– Technologies électroniques

J’ai présenté aux élèves des cartes électroniques et des circuits intégrés (notamment des tranches de silicium et un circuit intégré dont le boîtier permet de voir la puce qu’il contient).
Document pdf de synthèse sur les technologies électroniques :

Synthèse Technologies électroniques 201114

DSC03216

 

Document pdf sur l’évolution de la télévision (et des technologies électroniques) :

Evolution de la télévision du 311014

741_resnicklab_wordpress_com

Analyse d’un robot aspirateur

– Mise en œuvre d’un robot aspirateur avec analyse de deux modes de fonctionnement (modes S et L). Travail oral en classe entière sur l’analyse fonctionnelle, sans préciser les solutions techniques..
– Investigation par équipes sur les solutions techniques, guidée par un document avec des consignes et des questions :

Analyse du robot aspirateur 100215

Analyse du robot aspirateur 180515 correction

Principe capteur de vide

 

Expérimentation avec une carte électronique programmable : partie 1

Identification de la fonction « Traiter les informations » dans le robot aspirateur : elle est réalisée par une carte électronique programmable. Ce traitement des informations est réalisé par un processeur (circuit intégré) qui exécute un programme.

Présentation d’une carte électronique programmable Arduino Leonardo

Le matériel conseillé pour ce genre d’activité est présenté dans ce document pdf :

Matériel conseillé compatible Arduino 190515

L’installation d’Arduino et d’Ardublock est présenté dans ce document :

Installation d’Arduino et d’Ardublock

ArduBlockTool.zip

Conception et test d’un premier programme avec le logiciel Arduino (+ Ardublock) et une carte Arduino
Objectif de ce premier programme : Voir expérimentalement comment une carte électronique programmable permet de commander une LED de manière à obtenir un clignotement comparable à celui de l’aspirateur robot lorsqu’il est en charge.

Structure du programme (algorithme) permettant de faire clignoter la LED :
Répéter indéfiniment
Allumer la LED
Attendre le temps où la LED reste allumée
Éteindre la LED
Attendre le temps où la LED reste éteinte

– Mise en œuvre par binômes du matériel et du logiciel Arduino + Ardublock pour écrire et tester ce premier programme :
Document avec les consignes détaillées :

Expérimentation avec une carte électronique programmable Partie 1 du 100615

Ensemble des programmes pour Ardublock correspondant à l’investigation sur le robot aspirateur :

Programmes Ardublok Aspirateur robot.zip

– Programme 1 obtenu avec Ardublock

1) Clignotement LED (complet avec commentaires) 100615

 

Expérimentation avec une carte électronique programmable : partie 2

– Mise en œuvre par binômes du matériel et du logiciel Arduino et Ardublock pour écrire et tester les programmes 2 et 3 :
Document pdf avec les consignes détaillées :

Expérimentation avec une carte électronique programmable Partie 2 du 100615

– Programme 2

2) Capteur collision + Affichage et LED corr 100615

– Programme 3

3) Capteur collision + Servo rotation continue (complet) 100615

Expérimentation avec une carte électronique programmable : partie 3

– Mise en œuvre par binômes du matériel et du logiciel Arduino et Ardublock pour écrire et tester les programmes 4 et 5 :
Document pdf avec les consignes détaillées :

Expérimentation avec une carte électronique programmable Partie 3 du 100615

– Programme 4

4) Capteur vide + Servo rot continue (complet) 100615

– Programme 5

5) Capteur colision ou vide + Servo rot continue 120515 (complet)

 

Autres expérimentations possibles

Au lieu d’un simple petit servomoteur, il est possible d’utiliser un vrai robot avec des moteurs (motoréducteurs) à courant continu comme le modèle ci-dessous que je trouve très intéressant, pour 24.50€ seulement, par exemple pour un projet en classe de 3e :

http://www.gotronic.fr/art-chassis-eco-dg008-17741.htm

Châssis éco DG008 à 4 roues motrices, 4 à 5 R6, 1.3 km/h (36 cm/s), 190 x 150 x 70 mm, roues 65 mm (Source : gotronic.fr)

La carte Arduino Roméo est alors assez bien adaptée car elle intègre une interface de puissance compatible avec la plupart des motoréducteurs à courant continu utilisés dans ce genre de robots. La carte Arduino Roméo possède deux sorties permettant de commander les moteurs du côté droit indépendamment des moteurs du côté gauche.

Je propose alors l’utilisation de ce programme (n° 6, pages 1 à 3) :

6) Capteurs + Moteurs a cc avec Arduino Romeo 140615 Page 16) Capteurs + Moteurs a cc avec Arduino Romeo 140615 Page 26) Capteurs + Moteurs a CC avec Arduino Romeo 140615 Page 3

Autres documents pédagogiques

Evaluations Formatives et Sommatives :

4e Eval Formative 10 Aspirateur robot corr 100415

4e Eval Formative 11 Prog LEDS robot 240415 corr

4e Eval Formative 12 Prog robot partie 2 du 150515 corr

4e Eval Sommative 5 du 260515 corr

Si vous souhaitez les fichiers en version .doc ou des compléments d’informations, veuillez laisser un commentaire avec votre adresse mail (que je ne publierai pas) pour que je puisse vous contacter.

Logiciels de programmation graphique pour le collège : Scratch pour Arduino (S4A) vs Ardublock

Mise à jour du 22 février 2016

Cet article date d’il y a près d’un an, une éternité dans le monde de l’informatique. Je constate aujourd’hui que de plus en plus d’enseignants s’intéressent à Ardublock, mais il faut avoir conscience que ce logiciel est en fin de vie. Il n’est plus maintenu depuis longtemps et presque plus personne ne développe de nouvelles fonctionnalités d’Ardublock.

Depuis maintenant deux ans environ, de nouveaux logiciels de programmation ont été développés, la plupart à partir de Blockly conçu spécialement par Google pour faciliter justement le développement de ce type de logiciels pédagogiques. On trouve aujourd’hui des logiciels capables de remplacer avantageusement Ardublock. J’ai choisi d’utiliser Blockly Arduino qui a entre autre l’avantage de pouvoir facilement s’adapter à mes besoins pédagogiques. J’ai rédigé un article qui vous expliquera plus précisément les avantages de Blockly Arduino par rapport à Ardublock, ainsi que les points à améliorer prochainement.

 

La suite de cet article date d’avril 2015 : considérer qu’aujourd’hui Ardublock peut avantageusement être remplacé par Blockly Arduino !

Scratch et Ardublock sont deux logiciels libres, multiplate-formes, conçus pour l’apprentissage des bases de la programmation sous forme graphique. Tous deux utilisent une syntaxe très semblable (avec des blocs qu’on assemblent) développée par le MIT sous le nom d’Openblocks (Ardublock utilise la version Java).
Lien vers le site officiel de Scratch pour Arduino.
Lien vers un article que j’ai écrit sur Arduino + Ardublock.
Lien vers un article que j’ai écrit pour utiliser Arduino + Ardublock avec une clé USB Linux (donc très utile pour travailler sur nos PC sur lesquels on ne peut rien installer).

 

Interfaces de programmation : Ardublock permet des programmes plus lisibles

Scratch est plutôt destiné aux enfants, dès 8 ans, et vise d’abord des fonctions multimédia très ludiques. Ardublock est plus généraliste dans les fonctions visées mais son interface reste très simple et dépouillée (quelques boutons sans aucun menu), adaptée à des enfants. L’interface graphique de Scratch est plus complexe mais reste adaptée à des enfants. Les deux sont traduits en français (la traduction est parfois incomplète pour Ardublock, suivant les versions). Ce sont tous les deux des logiciels assez récents qui souffrent encore de défauts de jeunesse, d’autant qu’ils ne sont pas développés par des sociétés marchandes.

Pour la saisie d’un programme, Scratch propose beaucoup de blocs spécifiques au multimédia alors qu’Ardublock propose plus de blocs génériques. Scratch limite les broches utilisables pour les entrées/sorties et ne permet pas de donner un nom aux entrées/sorties (Analog 2 n’est pas très parlant par exemple). Scratch ne permet pas de structurer un programme avec des sous-programmes (bien utile pour masquer certaines parties d’un programme). Ardublock permet donc de présenter les programmes de manière un peu plus parlante, ou simplifier des programmes dont on ne veut analyser qu’une partie.

Interface d'Ardublock avec un exemple de programme (Source : Collège Jean Macé)

Interface d’Ardublock avec un exemple de programme (Source : Collège Jean Macé)

Une partie de l'interface de Scratch pour Arduino avec un exemple de programme (Source : Collège Jean Macé)

Une partie de l’interface de Scratch pour Arduino avec un exemple de programme (Source : Collège Jean Macé)

Scratch pour Arduino : la carte électronique est gérée comme un périphérique d’E/S et ne peut pas fonctionner de manière autonome

A la base, Scratch permet seulement de saisir graphiquement un programme et de l’exécuter sur un ordinateur (PC, Mac, …). Une version de Scratch, appelée S4A (Scratch for Arduino), permet de concevoir un programme qui va aussi gérer des entrées / sorties d’une carte électronique programmable de type Arduino. Pour cela, Scratch communique avec une carte Arduino par une liaison série (via un câble USB) de manière à ce que l’ordinateur qui exécute Scratch puisse lire des entrées ou écrire sur des sorties d’une carte Arduino. Il faut pour cela que la carte Arduino exécute un programme spécifique, le firmware de S4A, qui gère cette communication en permanence (toutes les 75 ms) avec l’ordinateur. La carte Arduino est gérée comme un simple périphérique d’entrée/sortie.
Avec Scratch pour Arduino (S4A), le programme conçu par l’élève n’est pas compilé : aucune ligne de codes ne peut être montrée aux élèves. Il n’est pas transféré vers la carte Arduino qui ne l’exécute pas car elle gère seulement la communication avec l’ordinateur. C’est l’ordinateur qui assure seul le traitement des informations selon le programme conçu par l’élève. Aucun fonctionnement autonome de la carte électronique n’est prévu : sans l’ordinateur, le système ne fonctionne pas !

 

Arduino + Ardublock : un outil simple de développement pour cartes Arduino

Ardublock fonctionne selon un principe tout à fait différent. Pour que l’élève puisse tester son programme, il doit le compiler, c’est à dire générer un programme exécutable par la carte Arduino choisie, puis le téléverser (uploader) dans la mémoire de la carte Arduino. Ces tâches sont réalisées en une seule étape en cliquant simplement sur l’icône “téléverser”. C’est essentiellement le logiciel Arduino qui gère ces fonctions. Ardublock n’est qu’un plugin qui gère l’interface graphique de programmation. Le programme conçu par l’élève est alors réellement exécuté par le processeur de la carte Arduino. Le câble USB ne sert plus qu’à alimenter la carte Arduino et éventuellement à communiquer des données pour afficher par exemple la valeur d’un capteur sur l’écran de l’ordinateur. On peut alimenter la carte Arduino par une batterie et obtenir un fonctionnement complètement autonome.

 

La place de la programmation dans le programme actuel de la Technologie au collège

Le programme actuel de la technologie au collège précise assez peu de choses sur la programmation. Dans le programme de 4e, on peut voir uniquement deux compétences :
– Identifier les étapes d’un programme de commande représenté sous forme graphique. Niveau 1.
– Modifier la représentation du programme de commande d’un système pour répondre à un besoin particulier et valider le résultat obtenu. Niveau 2.
Le B.O. précise aussi ceci :
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.
Lien vers un article que j’ai écrit sur la place de la programmation dans le programme de la Technologie au collège.

 

La place de la programmation dans le projet de programme de la Technologie au collège pour la rentrée 2016

Le projet de programme pour la technologie au collège, pour la rentrée 2016, précise un petit peu plus la place de l’algorithmique et de la programmation en Technologie, de la 5è à la 3è.
Dans le socle commun apparaît cet objectif pour le domaine 2 :
Produire, implanter un programme simple pour répondre à un besoin, à un problème technique” avec un niveau taxonomique 2 en 5e et un niveau 3 en 4e et en 3e.
Il précise aussi quelques uns des savoirs faire.
Dans le domaine de la conception est évoquée la “chaîne numérique de conception“.
Dans le domaine de “l’algorithmique et de la programmation” :
– Analyser un programme informatique en identifiant la nature des instructions, leur rôle dans la chaîne d’information et leurs effets sur le comportement du système technique commandé.
– Concevoir et représenter un algorithme en vue de programmer le comportement d’un système technique.
– Utiliser un environnement de programmation graphique pour réaliser un programme commandant un système technique simple
– Corriger/déboguer un programme en fonction des résultats obtenus.

 

Conclusion quant à l’utilisation des logiciels de programmation avec des élèves en Technologie au collège

Que ce soit par rapport au programme actuel de la Technologie au collège ou par rapport au projet pour 2016, j’ai choisi de n’utiliser qu’Ardublock (associé au logiciel Arduino) car il me parait plus cohérent avec les objectifs pédagogiques.

Avec Scratch pour Arduino, l’élève peut travailler sur la plupart des compétences visées mais il ne verra pas complètement la chaîne numérique de conception puisqu’il ne générera pas de programme exécutable et ne l’implantera pas dans le système qu’il doit commander. Il ne pourra pas non plus analyser complètement le rôle de la carte Arduino qu’il utilisera comme un simple périphérique d’entrée/sortie qui communique via une liaison USB, avec des capteurs, des actionneurs, … car c’est l’ordinateur qui gère tout avec Scratch.

Avec Ardublock on peut montrer plus clairement le principe d’un système automatique programmable. On peut montrer le rôle de la carte Arduino qui traite vraiment les informations à partir du programme qu’il aura généré et téléversé dans sa mémoire. Le rôle de l’ordinateur apparaît plus clairement comme un simple outil de développement, éventuellement comme une interface de dialogue. Avec Ardublock l’élève peut concevoir et réaliser un objet technique programmable, dont le fonctionnement pourra être autonome et représentatif de solutions techniques réelles, par exemple dans le cadre d’un Enseignement Pédagogique Interdisciplinaire. Avec Scratch, ce n’est tout simplement pas possible, et l’utilisation d’une liaison sans fil ne change pas grand chose au problème.

D’un point de vue pédagogique, Ardublock me parait donc nettement plus adapté que Scratch, et il n’est pas plus compliqué à utiliser, au contraire.
Scratch peut être intéressant quand on veut gérer des images ou du son avec un ordinateur, sans carte électronique Arduino. Mais avec Ardublock on peut gérer du son en utilisant une carte Arduino et un module audio, sans être connecté à un ordinateur.

Pour ne pas multiplier les logiciels, je pense qu’Arduino + Ardublock suffit pour travailler au collège sur les notions de systèmes automatiques programmables, y compris avec les nouveaux programmes de la technologie au collège.
Scratch peut être un bon outil au cycle 3 (jusqu’en 6 ème), mais Ardublock me semble préférable dès la cinquième.

Programmation graphique avec Arduino et Ardublock

Mise à jour du 22 février 2016

Cet article date d’il y a plus d’un an, une éternité dans le monde de l’informatique. Je constate aujourd’hui que de plus en plus d’enseignants s’intéressent à Ardublock, mais il faut avoir conscience que ce logiciel est en fin de vie. Il n’est plus maintenu depuis longtemps et presque plus personne ne développe de nouvelles fonctionnalités d’Ardublock.

Depuis maintenant deux ans environ, de nouveaux logiciels de programmation ont été développés, la plupart à partir de Blockly conçu spécialement par Google pour faciliter justement le développement de ce type de logiciels pédagogiques. On trouve aujourd’hui des logiciels capables de remplacer avantageusement Ardublock. J’ai choisi d’utiliser Blockly Arduino qui a entre autre l’avantage de pouvoir facilement s’adapter à mes besoins pédagogiques. J’ai rédigé un article qui vous expliquera plus précisément les avantages de Blockly Arduino par rapport à Ardublock, ainsi que les points à améliorer prochainement.

 

La suite de cet article date de janvier 2015 et est obsolète !

En octobre 2013 je m’étais interrogé sur la place des ” solutions techniques programmées dans l’enseignement de la Technologie au collège “.

En novembre 2013 je m’étais interrogé sur la place d'” Arduino au collège ” en présentant la “succes story” que représente Arduino aujourd’hui, mais aussi en analysant ce qu’on pouvait en faire comparé à d’autres solutions concurrentes. A l’époque je cherchais des outils pour programmer graphiquement en Technologie au collège et je venais de découvrir Ardubock qui me semblait très prometteur. J’ai rapidement testé Arduino + Ardublock avec mes élèves au collège mais aussi au lycée, en Sciences de l’Ingénieur (1ère et Term SI). J’ai commencé par utiliser une carte Arduino Leonardo avec une plaque d’essai et des fils “volants”. J’ai essayé de consacrer un peu de temps assez régulièrement pour mieux exploiter les possibilités de ce couple Arduino + Ardublock avec le matériel disponible sur le marché. J’ai essayé aussi de développer des solutions plus adaptées à mes besoins pédagogiques.

Aujourd’hui le temps me manque toujours et je n’ai pas encore abouti, mais j’avance. Une réunion avec des collègues de Technologie collège m’a incité à prendre le temps d’écrire cet article pour essayer de faire le point, mais aussi pour partager mon expérience avec d’autres collègues, ici dans la Vienne, ou plus largement sur Internet. N’hésitez pas à laisser un commentaire pour me faire part de votre expérience.

Arduino et Ardublock au collège

Arduino est à la fois un type de cartes électroniques programmables et un logiciel qui permet de travailler avec ces cartes. En plus d’être libre et gratuit, ce logiciel a le gros avantage d’être devenu un standard mondial sur lequel une communauté très large développe rapidement de nouvelles applications, de nouveaux matériels et logiciels, notamment des “shields” qui sont des cartes d’extension que l’on connecte directement sur une carte Arduino, … le tout sous licences open hardware et open software (matériel et logiciels libres). Le matériel compatible Arduino est fabriqué aujourd’hui en grande série et distribué à des prix de plus en plus bas par de nombreux fournisseurs. Même la société A4 technologie, qui continue à développer son système Picaxe, essaie de “prendre le train en marche” en s’ouvrant un petit peu au monde d’Arduino (notamment avec son nouveau boîtier Autoprog-Uno), mais en conservant son modèle commercial basé sur des solutions fermées, incompatible avec la philosophie du libre.

Le logiciel Arduino a cependant le gros inconvénient de nécessiter une programmation en langage C. Son usage est donc hors programme, aussi bien au collège qu’au lycée. Le logiciel Ardublock est un logiciel libre et gratuit qui permet d’ajouter une interface de programmation graphique au logiciel Arduino. C’est un plugin Java qui convertit un programme graphique en langage C puis qui utilise Arduino pour la compilation (traduction en langage machine), la programmation USB, les interfaces de communication, … La syntaxe des programmes utilise des blocs qui s’emboîtent intuitivement comme des pièces d’un puzzle (syntaxe appelée “openblocs” utilisée également par Google dans le logiciel AppInventor qui permet le développement d’applications Androïd, même au collège). C’est très simple et ça limite fortement les sources d’erreurs. Ardublock est suffisamment simple et performant pour être utilisé aussi bien au collège qu’au lycée. Il est en développement constant depuis quelques années par une communauté très active à l’échelle mondiale mais reste encore assez peu utilisé, notamment dans l’éducation nationale. Je pense personnellement que Picaxe n’a pas beaucoup d’avenir comparé à Arduino + Ardublock qui pourrait devenir un bon remplaçant, à moindre frais.

Interface graphique d’Ardublock

L’interface graphique d’Ardublock ne possède que 6 boutons (et non pas 6 menus !) situés sur un bandeau en haut de l’interface : difficile de faire plus simple !

Le bouton “Téléverser vers l’Arduino” lance la compilation et upload le programme dans la mémoire de programme de la carte Arduino.

Le bouton “Moniteur série” permet d’échanger des données entre la carte Arduino et une fenêtre de l’écran, par exemple pour voir l’évolution d’un capteur ou d’une commande, pendant l’exécution du programme. Les données transitent par le câble USB (de manière bidirectionnelle). Cela remplace avantageusement l’écran LCD qu’on trouve habituellement sur les cartes de développement.

L'interface graphique d'Ardublock ne possède que 6 boutons (et non pas 6 menus) : difficile de faire plus simple (Source : Collège Jean Macé)

L’interface graphique d’Ardublock ne possède que 6 boutons (et non pas 6 menus) : difficile de faire plus simple (Source : Collège Jean Macé)

Une liste de librairies situées à gauche avec des boutons colorés permettent d’accéder à des blocs que l’on sélectionne et dépose sur l’espace de travail (cliquer / déposer) situé à droite, pour écrire le programme. Les librairies de la partie inférieure (en-dessous de blocs de code) correspondent à des blocs conçus pour des modules spécifiques, ceux d’un fabricant donnés par exemple. J’ai rarement vu un intérêt à ces dernières librairies.

On peut sélectionner le bloc correspondant à la structure de contrôle souhaitée : Boucle faire ..., Si ... alors ..., Tant que ... (Source : Collège Jean Macé)

On peut sélectionner le bloc correspondant à la structure de contrôle souhaitée : Boucle faire …, Si … alors …, Tant que … La qualité de la traduction varie en fonction des versions. Des sous-programmes peuvent être réalisés (blocs non visibles sur cette image). (Source : Collège Jean Macé)

Des librairies contiennent des blocs prédéfinis à sélectionner, comme ici les opérateurs mathématiques (Source : Collège Jean Macé)

Ici les opérateurs mathématiques. On ajoutera les blocs correspondant aux opérandes. (Source : Collège Jean Macé)

Interface graphique d’Ardublock, avec un programme pour faire clignoter une LED sur la broche 13. Des commentaires ont été ajoutés, ici en jaune pâle (ils peuvent être masqués éventuellement). Cliquer sur l’image pour zoomer. (Source : Collège Jean Macé)

Les blocs s’emboitent comme des pièces de puzzle de manière à empêcher la plupart des erreurs de syntaxe. Le programme ressemble alors plus à un algorithme qu’à un algorigramme. Cette écriture a l’avantage d’être simple : plus de traits dans tous les sens. L’écriture reste assez compacte. Déplacer ou copier des blocs se fait très simplement. Pour supprimer des blocs, on les glisse en dehors de l’espace de travail, tout simplement. De nombreux blocs sont éditables. On peut facilement changer un opérateur sans changer de bloc par exemple.

LDR + Led +BP EF V2

Autre exemple de programme écrit avec Ardublock : commande de la sortie 10 (lampe par exemple) à partir d’un capteur de lumière (entrée 5 mémorisée dans la variable Lum) avec deux seuils (< 500 ou > 600) et/ou de l’entrée 12 (bouton poussoir par exemple). Cliquer sur l’image pour zoomer. (Source : collège Jean Macé)

 

Le matériel de base pour utiliser Arduino au collège

La carte Arduino de base disponible actuellement s’appelle l’Arduino Leonardo (optimisée par rapport aux précédentes cartes Arduino Uno). Elle est amplement suffisante pour gérer la plupart des projets que nous menons au collège : 20 E/S dont 6 analogiques et 7 PWM, 32 Ko de mémoire Flash, … Elle coûte environ 20 € TTC. Un câble micro USB standard (celui de votre smartphone par exemple) suffit pour l’alimenter, la programmer, communiquer avec le PC, … Une alimentation 7 à 12 V est également possible par une entrée coaxiale (utile pour alimenter des cartes d’extension de plus forte puissance).

Carte Arduino Leonardo (Source : arduino.cc)

Cette carte Arduino Leonardo est disponible chez plusieurs fournisseurs (publicité involontaire) :

Présentation de la carte Arduino Leonardo sur le site officiel d’Arduino.
Chez Gotronic (21,50 € TTC le 18/01/15)
Chez Lextronic (19,74 € TTC le 18/01/15)
Chez Semageek (20,95 € TTC le 18/01/15)

Il existe des variantes de cette carte Arduino Leonardo. J’apprécie celle développée par DF Robot qui utilise des connecteurs de couleurs et qui a ajouté un connecteur qui permet d’ajouter notamment un module Bluetooth, tout en étant moins cher que la version de base (18 € TTC chez Gotronic le 18/1/15) :

Carte Arduino Leonardo DFRobot DFR0221 (Source : dfrobot.com)

Carte Arduino Leonardo DFRobot DFR0221.
Elle est disponible chez plusieurs fournisseurs (publicité involontaire) :
Chez Gotronic.fr (18 € TTC le 18/01/15)
Chez Zartronic (19 € TTC le 18/01/15)
Chez RobotShop (18,49 € TTC le 18/01/15)

Comment s’adapter à l’aspect minimaliste de la carte Arduino Leonardo

Cette carte Arduino Leonardo a deux inconvénients essentiellement pour moi.

– La connectique pour les entrées/sorties se limite à des barrettes femelles au pas de 2,54mm. On peut ainsi connecter directement des cartes d’extension (shields) : cette modularité est une des raisons du succès des cartes Arduino. On peut notamment ajouter une carte d’extension pour avoir une connectique plus fournie. Personnellement j’ai retenue cette carte d’interface d’entrée/sortie qui se connecte directement sur la carte Arduino Leonardo  :
. Carte d’extension (shield) d’entrée/sortie DFRobot DFR0625 V7

La carte d’extension (shield) d’entrée/sortie DFRobot DFR0625 V7 (Source : dfrobot.com)

Broche de la carte d’extension d’entrées/sorties DFRobot DFR0625 V7 (Source : dfrobot.com)

Présentation de la carte d’extension (shield) d’entrée/sortie DFRobot DFR0625 V7 sur le site officiel
Attention : bien choisir la version 7 dont le câblage est différent des précédentes versions.
Disponible chez plusieurs fournisseurs à partir de 14 € TTC (pub !) :
Chez Gotronic (17,40 € TTC le 18/01/15)
Chez Zartronic (14 € TTC le 18/01/15)
Chez l’Impulsion (14,2 € TTC le 18/01/15)

– La carte Arduino Leonardo a été conçu pour ne contenir que le minimum nécessaire pour programmer un microcontrôleur. C’est là encore une des clés du succès de ces cartes conçues pour des étudiants ou des bricoleurs peu fortunés, mais en tant qu’enseignant, j’aurais bien aimé une carte “tout en un” qui contient quelques fonctions supplémentaires de base pour faire de petites activités pédagogiques avec cette carte : 1 ou 2 boutons poussoirs, 1 ou 2 LEDs (il y en a une reliée à la broche 13 sur les cartes Arduino), au moins un petit capteur analogique (une photorésistance, un capteur de température, …), au moins une petite interface de puissance pour piloter directement un actionneur, … Je suis en train de développer une carte d’extension qui répondrait à ce besoin, mais ce projet n’avance pas au rythme ou je le souhaiterais. En attendant je me contente de la carte d’extension DFR0625 V7 de DFRobot ou j’utilise d’autres cartes comme celles-présentées ci-dessous.

Autres cartes Arduino et autres cartes d’extension pour piloter des moteurs

– La carte Arduino Romeo DFR0225 V2
Cette carte Arduino est basée sur la carte Arduino Leonardo. Elle coûte à peu près 2 fois plus cher que la carte Arduino Leonardo de DFRobot mais elle intègre la connectique pour les entrées/sorties ainsi qu’une interface pour deux moteurs (mais avec le circuit L298 qui est un peu dépassé). Elle se suffit donc à elle même.

Carte Arduino Romeo DFR0225 V2 : basée sur la carte Arduino Leonardo elle intègre des connecteurs d’entrées/sorties, une interface de puissance pour 2 moteurs, … (Source : dfrobot.com)

Brochage de la carte Arduino Romeo DFR0225 V2 (source : dfrobot.com)

Présentation de la carte Romeo sur le site DFRobot.
Carte Arduino Romeo chez Gotronic (36,50 € TTC le 18/01/15)
Carte Arduino Romeo chez Zartronic (35,00 € TTC le 18/01/15)

– Carte d’extension Pololu DRV8835 pour piloter 2 moteurs
Cette carte est très utile pour faire un petit robot pas cher. Cette petite carte d’extension (shield) se connecte directement sur une carte Arduino comme la Leonardo par exemple. On peut directement brancher chaque moteur sur les borniers à vis. Elle est performante (2V à 11V, 1.2A DC, transistors MOS, PWM à 250 kHz, …), très simple d’emploi, bien documentée, et très peu cher (6€ TTC chez exp-tech.de) mais encore peu diffusée. Elle peut aussi être utilisée avec la carte Arduino Leonardo associée à la carte d’extension (shield) d’entrée/sortie DFRobot DFR0625 V7 présentée plus haut.

Carte d’extension Pololu DRV8835 (verte) montée sur une carte Arduino Uno (bleue)  (Source : exp-tech.de)

Présentation de la carte d’extension Pololu DRV8835 chez exp-tech.de (6 € TTC le 18/01/15)
Version miniature sans bornier à vis chez exp-tech.de (4,20 € TTC le 18/01/15)

 

Installation d’Arduino

La dernière version d’Arduino est disponible ici (version 1.6.1 au 18/03/15).

Installation des drivers Arduino

Il suffit de brancher en USB une carte Arduino sur le PC qui installera les drivers (3).

“Installation” d’Ardublock

Ardublock n’est qu’un plugin Java d’Arduino. C’est une application Java qui ne nécessite aucune installation. On peut donc l’utiliser sans Arduino, sans les droits administrateur, pour développer un programme de manière graphique. Mais si on veut compiler le programme et le téléverser (uploader) vers une carte Arduino (pour l’exécuter), il faut intégrer Ardublock au logiciel Arduino installé au préalable sur un PC (ou un MAC, …). La solution que j’utilise est la suivante :
Après avoir installé Arduino, créer dans le dossier Program Files (x86) / Arduino / Tools, l’arborescence “ArduBlockTool / tool” puis coller dans “tool” l’application java d’Ardublock (fichier avec l’extension .jar).

Sur le blog officiel d’Ardublock (que je trouve assez peu intéressant pour ma part), les nouvelles versions ne sont pas diffusées car elles sont considérées comme des versions béta depuis le 12/07/2013 ! Je conseille donc de choisir une version béta récente d’Ardublock sur le site du projet en cours de développement :
http://sourceforge.net/projects/ardublock/files/

Personnellement j’aime bien la version du 04/07/2014 (notamment parce qu’elle permet une programmation multitâche avec les blocs Scoops). Je la préfère un peu à la version du 28/08/15 au niveau des librairies. J’ai intégrée la version du 04/07/2014 dans le fichier ci-dessous que vous pouvez directement décompresser et coller dans le dossier “Program Files (x86) / Arduino / Tools”. Rien d’autre à faire !

ArduBlockTool.zip (à décompresser et à coller dans “Program Files (x86) / Arduino / Tools”).

Arborescence Arduino

Arborescence Arduino pour l’installation du plugin Ardublock (Source : Collège Jean Macé)

 

Mise en œuvre d’une carte Arduino avec le logiciel Arduino (+ Ardublock)

1. Connecter la carte Arduino à l’ordinateur avec un câble USB / mico USB.
2. Ouvrir le programme Arduino (raccourci sur le bureau).
3. Dans le menu “Outils” sélectionner : Type de carte / Arduino Leonardo.
4. Dans le menu “Outils”, sélectionner le Port série correspondant à la carte Arduino. C’est normalement le dernier avec la chiffre le plus élevé (il est possible de le vérifier dans le gestionnaire de périphériques).
5. Dans le menu “Outils” sélectionner Ardublock.

Test et modifications de quelques programmes fournis

1. Copier le répertoire contenant les programmes à tester ou à modifier, dans le répertoire de travail de votre choix.
Quelques exemples de programmes sont disponibles dans le dossier ci-dessous (à décompresser) :
Prog Ardublock 18_01_15.zip
D’autres exemples de programmes seront fournis prochainement.
2. Dans Ardublock, cliquer sur “Ouvrir” puis sélectionner le premier programme à tester, Prog 1, dans votre répertoire de travail.
3. Cliquer sur “Téléverser vers l’Arduino” pour générer le programme (compilation) et l’envoyer dans la mémoire du processeur de la carte électronique programmable.
Remarque l’avancement de la compilation et du téléversement ne sont visibles que dans la fenêtre d’Arduino qui peut être regardée à cette occasion.
L’exécution se lance ensuite automatiquement. Le PC peut éventuellement être déconnecté, à condition de conserver une alimentation (USB ou coaxiale).
4. Observer le fonctionnement obtenu et comparer avec le fonctionnement souhaité.
5. Modifier le programme de manière à obtenir le fonctionnement souhaité.
Dans le programme n°1 fournis, modifier les durées lorsque la Led est allumée ou éteinte : cliquer sur la valeur à modifier, la modifier puis taper sur Entrer. Enregistrer éventuellement (bouton Enregistrer).
6. Tester à nouveau le programme en cliquant sur “Téléverser vers l’Arduino”. Modifier  à nouveau le programme si nécessaire.

Interface graphique d’Ardublock, avec le programme n°1 qui permet de faire clignoter une LED sur la broche 13. Des commentaires ont été ajoutés, ici en jaune pâle (ils peuvent être masqués éventuellement (Source : Collège Jean Macé)

Programme n°2 qui permet de piloter un servomoteur à rotation continue en fonction du niveau d’un capteur infra-rouge (représentatif d’un capteur de vide d’un aspirateur robot). (Source : Collège Jean Macé)

 Autre exemple de programme utilisé au lycée.

A suivre !

Imprimante 3D Tobeca 2

Nous souhaitons équiper le collège Jean Macé d’une imprimante 3D. Lors d’une réunion avec des collègues de Technologie collège, un modèle nous a été conseillé, la Tobeca 2. Je me suis donc intéressé à cette imprimante 3D que je vous présente dans cet article, en espérant que cela vous permettra de mieux connaitre cette imprimante encore méconnue, mais en espérant aussi que certains d’entre vous connaissent déjà cette imprimante et pourront laisser des commentaires pour nous aider à choisir.

Qu’est-ce qu’une imprimante 3D ?

C’est une machine capable de fabriquer des objets, en plastique dans notre cas, en déposant de la matière plus ou moins liquide, du plastique fondu dans notre cas, comme le ferait une imprimante de bureau avec de l’encre. Mais au lieu de se limiter à une couche de matière déposée sur une surface plane, la machine est capable de gérer des déplacements dans une troisième direction pour déposer successivement de très fines couches de matière, les une sur les autres. L’imprimante réalise ainsi un objet en 3 dimensions à partir d’un modèle dessiné avec un ordinateur, avec un logiciel comme SolidWorks par exemple. Ce procédé permet de fabriquer directement des objets aux formes complexes mais il a l’inconvénient d’être très long : entre une dizaine de minutes et quelques heures suivant la taille de l’objet à imprimer (mais dépend peu de la complexité de la pièce). Une imprimante 3D ajoute progressivement de la matière alors qu’une machine à commande numérique, part d’un bloc de matière brute dans lequel il enlève progressivement de la matière, avec une fraise par exemple.

Tour eiffel Tobeca 2 V2

Tour Eiffel en plastique en 3 dimensions, d’environ 20cm de haut, imprimée en près de 5h avec une imprimante 3D (Source : Tobeca.fr)

Le modèle 3D utilisé pour imprimer cette tour Eiffel (Source : thingiverse.com)

Lien vers les fichiers source de ce modèle 3D chez thingiverse.com

Vidéo de présentation de l’imprimante 3D Tobeca 2 (Source : YouTube, Adrien Grelet) :

Voici une autre petite vidéo (source : MakerShop.fr) qui montre la fabrication d’un petit vase en plastique avec une imprimante 3D, l’ancien modèle Tobeca 1. Attention, cette vidéo est en partie en vitesse accélérée ::

La société Tobeca

Tobeca est une startup créée en octobre 2013 par Adrien Grelet (DUT Génie Electrique et Informatique Industrielle de Tours) qui conçoit et commercialise des imprimantes 3D open source (open hardware et software) et low-cost. Tobeca se situe à Vendôme (entre Tours et Chartres). Elle privilégie qualité et simplicité pour le particulier et les PME.
Site de la société Tobeca

L’imprimante 3D Tobeca 2

Le modèle Tobeca 2 est sorti le 15 juillet 2014. Il ne coûte que 999 € en version simple extrudeur, monté et testé. C’est ce modèle que nous envisageons d’acheter.
La version en kit est à 699 € (prévoir 5 à 10h de montage).
La version double extrudeur coûte 100 € de plus (en kit ou montée). Elle est disponible sur commande (délai de 15 jours actuellement pour le montage et le test). Elle correspond à une utilisation avancée de l’imprimante.
Une version simple extrudeur est suffisante dans la grande majorité des cas mais on peut la faire évoluer facilement en version double extrudeur en achetant les éléments séparément. Pour imprimer une pièce comportant un porte-à faux important, la machine en version simple extrudeur imprime un support en même temps que la pièce, avec la même matière, mais avec une maille différente qui se casse facilement pour obtenir la pièce finie.
Les imprimantes 3D Tobeca sont garanties 1 an mais une extension de garantie à 3 ans (plus 2 ans) est disponible pour 100 €.

Les consommables

Cette imprimante utilise des bobines de filament en plastique, notamment du PLA (Acide polylactique, produit à partir d’amidon et biodégradable). Une bobine de 880 g de PLA 1.75 mm (Orbi Tech) coûte 28,90 €, soit 32,94 € le kilo, et devrait nous suffire pour une année d’utilisation (Source : Tobeca.fr).
L’imprimante 3D Tobeca 2 sur la boutique de Tobeca

Quelques caractéristiques de l’imprimante 3D Tobeca 2

◾Logiciel d’impression : Repetier Host (libre)
◾Firmware : Marlin (libre)
◾Formats acceptés : .STL, .OBJ, .GCODE
◾OS supportés : Windows XP, 7, 8 (x86 et x64), Linux Ubuntu et Debian (x86 et x64), MAC OS
◾Dimensions (avec bobine) et poids : 440 x 450 x 460 mm, 10 kg
Volume d’impression (X, Y, Z) : 200 x 200 x 250 mm soit 10 000 cm3 en simple extrusion
Résolution des déplacements : 15 µm théorique, environ 100 µm en pratique.
Épaisseurs de couches : 0.10 mm à 0.30 mm soit 100 à 300 µm (en fonction de la qualité choisie)
Vitesses d’impression : jusqu’à 200 mm/s (en fonction de la qualité choisie)

L’imprimante 3D Tobeca 2 en version simple extrudeur à 999 € (Source : tobeca.fr)

Prototype de la Tobeca 2 vue de l’arrière : les fils ne sont pas gainés ici (Source : 3dprint.com)

Prototype de la Tobeca 2 vue de l’avant : les fils ne sont pas gainés ici. (Source : 3dprint.com)

Tobeca 2 : la tête d’impression est refroidie avec un ventilateur de 40 mm. Les fils sont gainés sur ce modèle de série. (source : makerfaireparis.com)

Prototype de la Tobeca 2 : Lorsque la machine est repliée pour le transport, on voit bien le mécanisme d’entrainement de l’extrudeur (Source : Tobeca.fr)

Buse avec le fil de plastique fondu lors de l'initialisation de la machine (Source : Guide d'utilisation Tobeca.fr)

L’extrudeur refroidi par le ventilateur de 40 mm avec la buse de 0,4 mm d’où sort un fil de plastique fondu (du PLA) lors de l’initialisation de la machine (Source : Guide d’utilisation Tobeca.fr)

Une bobine de 880 g de PLA 1.75 mm (Orbi Tech) coûte 28,90 € et devrait nous suffire pour une année d’utilisation (Source : Tobeca.fr)

Une imprimante 3D open source

Pour ma part, le fait que cette imprimante soit diffusée sous la licence Open Source Creative Commons Non Commerciale (CC BY-NC-SA 3.0) est très important. L’imprimante peut être étudiée, modifiée, répliquée, de manière libre à partir des fichiers sources (hard et soft) fournis sur Github.com.
◾firmware complet pour la carte électronique de la Tobeca (dossier FW)
◾dossiers des sources du projet, notamment les fichiers SCAD ou SKP des pièces 3D qui composent la Tobeca
◾dossier STL, qui contient tous les modèles 3D au format STL, prêt à être imprimés pour réparer ou faire évoluer la Tobeca
◾dossier SOFTWARES, avec les logiciels pour la Tobeca à jour, comme l’IDE Arduino pour flasher la carte électronique, les drivers, les logiciels d’impression ainsi que les configurations Slic3r.

Le fichiers sources du matériel et du logiciel sont fournis (Source : github.com)

Le fichiers sources du matériel et du logiciel sont fournis (Source : github.com)

Repetier Host est le logiciel libre utilisé par Tobeca (Source : repetier.com)

Principaux atouts de cette imprimante 3D

– Low-cost mais performante
Cette imprimante 3D Tobeca 2 est une des moins chères de sa catégorie (999 € montée) et possède cependant de très bonnes performances avec notamment un bon volume d’impression de 10 000 cm3 (20 x 20 x 25 cm) et une bonne résolution (couches de 100 µm d’épaisseur et 15 µm de résolution horizontale théorique).
Elle est peu encombrante et facile à transporter (dans sa mallette support) alors qu’elle possède un assez grand volume d’impression.
– Pédagogique
. Elle est open source (matériel et logiciel sont libres) et peut donc être étudiée plus facilement par des élèves qui peuvent même s’inspirer de cette machine pour leurs projets.
. Elle n’est pas capotée ce qui permet aux élèves de bien visualiser son fonctionnement mais aussi les solutions techniques retenues pour sa conception (moteurs, transmission, guidages, drivers de puissance, …).
– Simple
Elle semble simple d’utilisation : profils d’impression pré-configurés, logiciel tout en un pour imprimer en 3 clics. Lien vers le guide d’utilisation détaillé de la Tobeca 2 (pdf).
– Bon support client
Le SAV est proche et réactif (merci à M Grelet, le dirigeant de Tobeca, pour sa disponibilité) : Tobeca est à Vendôme entre Tours et Chartres. La garantie est de 1 an, extensible à 3 ans pour seulement 100 €. Le forum de Tobeca est actif.

L’aventure humaine de la startup Tobeca

Le développement des imprimantes 3D par Tobeca est directement liée au projet RepRap qui consiste à concevoir des imprimantes 3D pour fabriquer chez soi des objets, mais aussi des pièces pour répliquer l’imprimante 3D.

Adrien Grelet, diplômé de l’IUT de Génie Electrique et Informatique Industrielle de Tours, a conçu une première imprimante 3D, puis a créé en octobre 2013 la start-up Tobeca à Vendôme. Il a ensuite conçu et commercialisé l’imprimante Tobeca, première du nom, vendue à plus de 150 exemplaires. Fort de ce succès, il a conçu la version 2 de cette imprimante, la Tobeca 2, commercialisée depuis le 15 juillet 2014.

Lien vers une petite vidéo (4 min) du 5 mai 2014 qui présente le début de cette formidable aventure humaine (Source : JeunesOCentre.fr) :

Et des liens vers les comptes Facebook , Google+ et Twitter de Tobeca.

Nous sommes intéressés par vos commentaires (ci-dessous), notamment si vous connaissez les imprimantes 3D de Tobeca.

Une tablette tactile pour la Technologie au collège Jean Macé

Cette année, notre budget nous a permis d’acheter une tablette pour la Technologie au collège Jean Macé. Notre objectif est de l’utiliser d’abord pour des applications en domotique pour les 4ème. J’espère que nous pourrons faire modifier de telles applications avec le logiciel App Inventor (dont la syntaxe par blocs ressemble à Ardublock). Nous comptons aussi utiliser cette tablette comme appareil photo connecté à Internet pour que les élèves (de la 6ème à la 3ème) puissent facilement photographier leurs expérimentations, puis intégrer leurs photos dans leurs articles sur nos blogs, sous WordPress, à partir d’un PC.

Nous avons acheté la tablette Acer A3 A10 pour 229 € chez Auchan.fr.

Tablette Acer A3 A10 achetée pour la Technologie (Source : acer.com)

On a reçu la tablette la semaine dernière et j’ai commencé à la configurer. Grâce à Androïd 4.2 j’ai fait un compte par niveau (6ème à 3ème) sur la tablette. J’ai choisi de ne pas utiliser Dropbox, que j’utilise quotidiennement par ailleurs, mais d’utiliser les outils Google, notamment Google Drive, Google+, et Google Photos. Le potentiel pédagogique des outils Google me paraît supérieur à celui de Dropbox, mais je ne les ai encore pas beaucoup utilisés pour le moment : à suivre.
J’ai paramétré les comptes Google (un par niveau) pour que les photos prises avec la tablette soient automatiquement sauvegardées sur Google+ et donc visibles dans Google Photos. J’ai aussi paramétré Google+ pour que les photos de Google Drive soient affichées automatiquement. Je n’installe pas Google Drive sur les PC car on a 5 comptes Google différents. L’accès se fait donc uniquement par le Web.

De nombreuses questions se posent encore :

– Comment connecté la tablette à Internet, de manière simple, dans les salles de Technologie ?

– Pour publier sur un blog sous WordPress une photo stockée chez Google, est-il intéressant que l’élève la transfère sur l’ENT du collège, puis sur le serveur du blog, ou ne vaut-il pas mieux se contenter d’insérer la photo dans l’article à partir de son adresse chez Google ?

– Dans ce cas, comment récupérer l’adresse de la photo originale prise avec la tablette et stockée dans Google+ / Google Photos ?

Arduino au collège

Mise à jour du 22 février 2016

Cet article date de novembre 2013, une éternité dans le monde de l’informatique. Je constate aujourd’hui que de plus en plus d’enseignants s’intéressent à Arduino et à Ardublock, mais il faut avoir conscience que le logiciel Ardublock est en fin de vie. Il n’est plus maintenu depuis longtemps et presque plus personne ne développe de nouvelles fonctionnalités d’Ardublock.

Depuis maintenant deux ans environ, de nouveaux logiciels de programmation ont été développés, la plupart à partir de Blockly conçu spécialement par Google pour faciliter justement le développement de ce type de logiciels pédagogiques. On trouve aujourd’hui des logiciels capables de remplacer avantageusement Ardublock. J’ai choisi d’utiliser Blockly Arduino qui a entre autre l’avantage de pouvoir facilement s’adapter à mes besoins pédagogiques. J’ai rédigé un article qui vous expliquera plus précisément les avantages de Blockly Arduino par rapport à Ardublock, ainsi que les points à améliorer prochainement.

 

La suite de cet article date de novembre 2013 : considérer qu’aujourd’hui Ardublock peut avantageusement être remplacé par Blockly Arduino !

1. Arduino : c’est quoi ?

Arduino est le nom d’une gamme de cartes à microcontrôleur, c’est à dire de cartes électroniques programmables. Elles utilisent toutes un même logiciel de programmation (environnement de développement ou IDE) appelé logiciel Arduino également. Le langage de programmation utilisé est proche du langage C. Arduino est aussi aujourd’hui le nom d’une entreprise qui gère et développe ces produits.

Arduino est donc une solution concurrente des cartes Picaxe très utilisées depuis longtemps en Technologie au collège.

Carte Arduino Leonardo (Source : arduino.cc)

IDE Arduino

2. Arduino : ça sert à quoi ?

Une carte Arduino, comme toutes les cartes à microcontrôleur, permet de piloter un système  physique de manière interactive à partir du programme que l’on aura défini et mis dans sa mémoire. Par exemple gérer automatiquement l’ouverture d’une porte de garage, envoyer un SMS quand le jardin est trop sec et gérer le système d’arrosage à distance, piloter un nouveau robot, … Il faut pour cela associer à la carte Arduino des capteurs (de lumière, de température, de position, …), des actionneurs (moteurs, pompe, …), des organes de sortie (lampe, chauffage, …), des interfaces de puissance (relais, pont en H, …), une alimentation (piles, panneaux solaires, …), des interfaces de dialogue (boutons, LEDs, écran, …), des interfaces de communication (réseau filaire, réseau sans fil, …), …

Une carte Arduino (de base) gère essentiellement le traitement de l’information (source : developpez.com)

Arduino peut être utilisé pour des applications en domotique (source : jeromeabel.net)

Un robot intégrant une carte Arduino Leonardo (source : mhobbies.com)

3. Arduino : ça sert à qui ?

Arduino a été conçu pour l’enseignement de l’électronique et de l’informatique. Il a été optimisé dès sa création pour être accessible à tous les « bricoleurs » les adeptes du “Do It Yourself” (ou DIY) : système pas cher, simple,  multiplateforme, … mais performant ! Il permet de développer très rapidement et simplement une maquette fonctionnelle pour un projet. Si le projet doit être produit en série, alors Arduino servira uniquement à la conception d’un prototype.

Des étudiants de l’école Louis Lumière travaillent sur un projet avec des effets sonores pilotés par une carte Arduino (source : digitalarti.com)

Deux raisons principalement au succès du système Arduino : sa connectique standardisée et sa licence libre.

La connectique des cartes Arduino est conçue pour pouvoir y connecter des cartes additionnelles en les empilant sur la carte à microcontrôleur (sur deux rangées de connecteurs traversants). A cause du succès des cartes Arduino, cette connectique est aujourd’hui un standard de fait, ce qui a facilité l’apparition d’un très grand nombre de cartes additionnelles compatibles, appelées shields Arduino (shield = bouclier en anglais). Ces cartes sont fournis avec une bibliothèque de fonctions logicielles pour faciliter son utilisation dans un programme. La conception matérielle et logicielle d’un projet devient ainsi très modulaire. Les modules (shields) vendus dans le commerce sont fabriqués industriellement et sont fiables. La conception d’un projet est ainsi facilité. Le système obtenu est mieux optimisé au niveau du prix, voire de la taille (composants CMS), …

Carte additionnelle (shield) avec une interface de puissance MC33926 pour des moteurs à courant continu, alimentés sous 8 à 28V avec 3A maxi (source : robotshop.com)

 

Carte Seeedstudio Music Shield V2.0 : carte audio connecté ici sur une carte Arduino (source : seeedstudio.com)

 

Empillement de 3 cartes compatibles avec la connectique Arduino (source : developpez.com)

Arduino est sous licence libre de droits (open source) aussi bien au niveau du logiciel (l’environnement de développement) que du matériel, donc des cartes à microcontrôleurs, mais aussi des cartes additionnelles compatibles. Les composants utilisés, eux ne sont pas libres de droit. N’importe qui peut développer du matériel ou du logiciel utilisant le système Arduino sans payer de licence. La seule limite demandée est de laisser le nom Arduino aux produits officiellement développés par l’équipe Arduino. Il existe donc de nombreux produits compatibles Arduino avec des noms très variés finissant souvent par « duino » comme freeduino, seeduino, …

Extrait schema Leonardo (source : arduino.cc)

Extrait schema carte rduino Leonardo (source : arduino.cc)

5. Arduino : ça coûte combien

Pour tester Arduino :
Carte Arduino Leonardo = 18 € Câble USB A / micro USB B (1,8 m) = 4 €
Logiciel Arduino : gratuit
Total = 22 € TTC (hors frais de port)
Cartes (shields) à connecter sur la carte à microcontrôleur : prix très variables, mais entre 10 et 30 € généralement.
Modules à connecter sur ces cartes (shields) : quelques euros à 30 € généralement.
Les plans de ces cartes sont libres et des cartes peuvent être fabriquées à moindre coût (?) avec en plus la possibilité de les adapter à différents besoins, de les commercialiser, …

6. Arduino : ça vient d’où ?

Monsieur Massimo Banzi enseignait la conception interactive en Italie. En 2005, il a conçu une carte électronique minimaliste et low cost pour permettre à ses étudiants de bricoler dans des activités de projets. Il appellera cette carte Arduino comme le bar où il avait l’habitude d’aller. Ce nom correspond à celui du roi Arduin (en 1002 en Italie). Avec l’aide d’une équipe de développeurs, ils conçoivent un environnement de développement spécifique. Le succès grandissant rapidement au fil des années, différentes versions matérielles et logicielles seront développées avec notamment l’Arduino Uno en 2010 qui est encore la carte de référence aujourd’hui. En 2012 sort l’Arduino Leonardo qui est une version optimisée.

L’équipe de développeurs des produits Arduino officiels, avec Massimo Banzi en bas à droite (source : atelier-objets-communicants.ensad.fr)

7. Arduino : c’est utile au collège ?

Arduino a été développé au départ pour des étudiants où des bricoleurs qui ne maîtrisent pas l’électronique où l’informatique. Mais la programmation se fait avec un langage proche du langage C. Au collège, en Technologie, l’utilisation d’une carte à microcontrôleur correspond au programme (voir cet article), mais pas la programmation en langage C qui, même avec un programme simple, détournerait l’élève des objectifs : analyser les aspects fonctionnels d’un système, les solutions techniques utilisées, la structure algorithmique d’un programme, la réalisation d’une maquette, … Une programmation graphique est nécessaire pour simplifier l’aspect informatique.

Depuis de nombreuses années, ce sont les solutions concurrentes de type Picaxe qui se sont imposées au collège. En ce qui me concerne, je découvre cette année l’enseignement de la Technologie au collège. Je me pose donc la question de savoir quelles sont les solutions qui existent pour le collège. Il en existent plusieurs et Picaxe ne me semble pas être la meilleure solution pour l’enseignement de la Technologie au collège. Je développerai l’analyse de Picaxe dans un prochain article. Voyons plutôt ici quelques une des autres solutions disponibles actuellement.

Le grafcet est utilisable en Technologie au collège : il permet la programmation d’automates. Automgen Collège me semble être une solution intéressante pour ce type d’applications, mais les tarifs sont un frein important. Son utilisation n’est pas adapté à la réalisation de maquettes simples, de petits montages expérimentaux, de petits robots, …

Le logiciel Flowcode permet la programmation de cartes à microcontrôleur comme l’Arduino avec des algorigrammes (ou organigrammes). Flowcode est assez cher : environ 100 € la licence éducation (environ 1000 € les 10 licences). Il permet d’aborder la programmation de manière assez simple et efficace. Il permet également la simulation. Flowcode n’est pas compatible avec les cartes Picaxe.

Une autre solution existe pour programmer graphiquement des cartes Arduino : c’est le logiciel Ardublock. Au collège, cette solution me semble vraiment être la solution la plus intéressante.

Exemple de programme, la commande servomoteurs, avec un langage proche du langage C (source : LP2I, capture d'un exemple d'Arduino, servo sweep)

Exemple de programme, la commande servomoteurs, avec un langage proche du langage C (source : LP2I, capture d’un exemple d’Arduino, servo sweep)

 

Extrait d'un programme simple avec Floxcode V5 (Source : LP2I)

Extrait d’un programme simple avec Floxcode V5 (Source : LP2I)

8. Arduino + Ardublock : la solution idéale pour débuter ?

Ardublock permet de programmer graphiquement, à l’aide de blocs, une carte à microcontrôleur de type Arduino. Il suffit de sélectionner dans une bibliothèque des blocs de programme correspondants aux structures de contrôle, aux traitements, aux données, … comme avec le logiciel Scratch (initiation à l’informatique) ou App Inventor (développement d’application Androïd) qui utilisent la même base appelée OpenBlocks. C’est une application Java, libre et gratuite comme le logiciel Arduino. Elle s’intègre sous forme d’un plugin à l’environnement de développement Arduino. La programmation d’une carte Arduino avec Ardublock est accessible aux débutants en informatique, à partir de 10 ans environ. Ardublock est particulièrement bien adaptée à une utilisation pédagogique au collège et au lycée en Sciences de l’Ingénieur ou en STI2D. Avec Ardublock, l’interface de programmation du logiciel Arduino peut être complètement ignorée par l’élève : pas de menus, pas de code à écrire, … En cliquant sur le bouton « Téléverser vers l’Arduino », Ardublock génère automatiquement le programme et le transfère dans la carte Arduino qui exécute le programme. Par essais successifs, l’élève peut faire le lien entre son programme sous forme graphique et le comportement du système piloté par la carte Arduino. Il est à noter que le programme généré par Ardublock est visible dans l’interface Arduino en langage Arduino, proche du C, de manière assez propre et lisible, pour le prof. Ce qui n’est pas le cas avec App Inventor (aucun programme visible en Java).

Lien pour télécharger l’environnement de développement Arduino.
Lien pour télécharger la version béta du plugin Ardublock (du 12 nov 2013).
Lien pour voir comment intégrer Ardublock dans Arduino.

Interface d’Ardublock : à gauche les bibliothèques de blocs, à droite le programme avec les blocs sélectionnés et édités (source : LP2I)

8. Arduino : quel avenir ?

Arduino est devenu une solution standard pour le développement de projets à bases de carte à microcontrôleur. Il y a de plus en plus de matériel et de logiciels compatibles Arduino. Fin 2013 est sorti l’Arduino Yún qui permet un accès performant à Internet en Wifi ou Ethernet. Cette carte contient un processeur (MIPS) tournant sous Linux en plus du microcontrôleur, avec un format réduit par rapport à la carte Arduino Uno de référence, le tout pour 60 à 70 € seulement . L’Arduino Yún est disponible depuis décembre 2013. Grâce à ses interfaces réseau, l’Arduino Yún peut communiquer facilement avec les appareils Androïd. La carte Arduino peut servir comme d’habitude d’interface intelligente avec des capteurs, des actionneurs, … Une tablette ou un smartphone peut alors servir d’interface de dialogue intelligente. Les deux communiquent sur le même réseau, en Wifi par exemple, et partagent des ressources communes sur le cloud. D’ailleurs Yún signifie cloud en chinois !

Carte Arduino Yun avec interface Wifi et Ethernet (source : arduino.CC)

Lien vers la suite de ma réflexion avec un article écrit le 18 janvier 2015 sur la Programmation graphique avec Arduino et Ardublock

Les solutions techniques programmées en Technologie au collège

Problématique

Quelle est la place des solutions techniques programmées dans l’enseignement de la Technologie au collège ?

Analyse du Bulletin Officiel

D’après le bulletin officiel du 28/08/2008, l’enseignement de la technologie au collège a pour finalité, en autres, de permettre à l’élève d’identifier et de décrire les principes et les solutions techniques propres aux objets techniques de son environnement.

La technologie participe à l’appropriation des moyens informatiques qui permettent entre autres de piloter des dispositifs expérimentaux ou de fabrication (en lien avec la compétence 4 du socle commun), pour l’acquisition et le traitement de données issues de mesures par exemple.

Les solutions techniques programmées dans les objets d’aujourd’hui

Les solutions techniques programmées sont utilisées aujourd’hui de manière quasi systématique dans tous les objets techniques où on trouve une chaîne d’informations. De plus, l’évolution actuelle tend à ajouter des interfaces de dialogue et des interfaces de communication à de plus en plus d’objets, y compris ceux de l’environnement de l’élève. Les objets deviennent “intelligents” (smarts) et communicants.

Facebook sur un smartphone (Source : 20minutes.fr)

Smart TV (Source : pix-geeks.com)

Smart TV, c’est quoi ? Lien vers un article de lexpertvideo.com

L’importance de la classe de quatrième

Le thème “confort et domotique” de la classe de quatrième va dans le sens de l’évolution évoquée. L’électronique, l’informatique et les réseaux de télécommunications font leur apparition dans les systèmes d’éclairage, de chauffage, de sécurité, multimédia, électroménager, …

Si on analyse le référentiel des différentes classes, on constate que c’est surtout en classe de quatrième que les connaissances de base sur la chaîne d’information d’un objet technique sont introduites.

Contrôler sa maison avec sa tablette (Source : mamaisonmestravaux.com. Système Domovea-Tebis – Hager).

Compétences au niveau 3 en quatrième

Pour cette classe de quatrième, voici les quelques rares compétences du B.O. pour lesquelles l’élève doit “savoir faire” (niveau taxonomique 3 du B.O.) :

1. L’analyse et la conception de l’objet technique
– Établir un croquis du circuit d’alimentation énergétique et un croquis du circuit informationnel d’un objet technique.
Choisir et réaliser une solution technique.
– Créer une représentation numérique d’un objet technique simple avec un logiciel de CAO.
– Rechercher et sélectionner un élément dans une bibliothèque de constituants pour l’intégrer dans une maquette numérique.

2. Les matériaux utilisés
– Classer de manière qualitative plusieurs matériaux selon une propriété simple imposée par les contraintes que doit satisfaire l’objet technique.

6. Les processus de réalisation d’un objet technique
– Organiser le poste de travail.
– Effectuer un contrôle qualité de la réalisation pour chaque opération importante.
Réaliser tout ou partie du prototype ou de la maquette d’un objet technique.

Seuls les compétences repérées en gras sont en rapport direct avec les solutions techniques programmées. Ce sont des compétences plutôt au niveau d’un système pas sur la compréhension des solutions techniques en elles-mêmes.

Compétences au niveau 1 et 2  en rapport avec les solutions techniques programmées

Toujours pour la classe de quatrième, voici les autres compétences du B.O. pour lesquelles l’élève doit “savoir parler” de solutions techniques programmées, ou en avoir entendu parler, plus ou moins directement (niveaux taxonomiques 2 et 1 du B.O.) :

4. L’évolution de l’objet technique
– Repérer dans les étapes de l’évolution des solutions techniques la nature et l’importance de l’intervention humaine à côté du développement de l’automatisation. Niveau 2.

5. La communication et la gestion de l’information
En classe de quatrième l’accent sera mis sur les systèmes automatiques.
– Repérer, à partir du fonctionnement d’un système automatique la chaîne d’informations (acquérir, traiter, transmettre) et la chaîne d’énergie (alimenter, distribuer, convertir, transmettre). Identifier les éléments qui les composent. Niveau 1.
– Identifier les modes et dispositifs d’acquisition de signaux, de données. Niveau 1.
– Identifier la nature d’une information et du signal qui la porte. Niveau 1.
– Identifier les étapes d’un programme de commande représenté sous forme graphique. Niveau 1.
Modifier la représentation du programme de commande d’un système pour répondre à un besoin particulier et valider le résultat obtenu. Niveau 2.
– Identifier une condition logique de commande. Niveau 2.
– Identifier les composants d’une interface entre chaîne d’énergie et chaîne d’informations (réels ou objets graphiques virtuels). Niveau 2.
– Repérer le mode de transmission pour une application donnée. Niveau 1.
– Associer un mode de transmission à un besoin donné. Niveau 1.

Conclusion

Les solutions techniques programmées sont fondamentales dans l’enseignement de la technologie au collège. Elles sont introduites surtout en quatrième, avec le thème “confort et domotique”, mais elles peuvent être utilisées dès la classe de sixième ou de cinquième d’un point de vue fonctionnel ou comme aide au pilotage de dispositifs expérimentaux ou de fabrication, pour l’acquisition et le traitement de données issues de mesures par exemple. En classe de troisième ces solutions techniques programmées peuvent être facilement mises en oeuvre par les élèves et être un atout très précieux pour rendre les projets motivants, innovants, performants.

En classe de quatrième, le niveau d’exigence reste assez faible. L’élève doit faire des investigations sur des systèmes qui utilisent des solutions techniques programmées. Il doit savoir identifier, choisir et mettre en œuvre des solutions techniques, mais la compréhension doit rester globale. Il doit surtout être capable d’en parler, sans maîtriser les détails des solutions techniques et de leur mise en œuvre.

En ce qui concerne plus spécifiquement la programmation, le B.O. précise que :

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.”

Les moyens matériels et logiciels

Quels moyens matériels et logiciels utiliser avec les élèves pour leur permettre d’atteindre les compétences évoquées dans cet article ?

J’ai choisi de faire travailler les élèves avec des solutions techniques représentatives de systèmes réels, que les élèves analyseront. Ils auront une démarche d’investigation en utilisant des cartes Arduino programmées graphiquement avec le logiciel Ardublock.

Je précise et justifie mes choix dans un premier article ici.

Carte Arduino Leonardo (Source : arduino.cc)

Daniel Pers (Prof.)