Nothing Special   »   [go: up one dir, main page]

Dclics Parcours Robotique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 108

PARCOURS

“ROBOTIQUE”
janvier 2017 - version 1.0

Le projet a bénéficié du Programme


d’Investissements d’Avenir
Les formations sont conçues
en partenariat entre

L’accès aux savoirs numériques pour tous, D-clicsnumeriques.org


PARCOURS
“ROBOTIQUE”

3
INTRODUCTION Do It Yourself
La culture du “Do It Yourself” renvoie à l’image du “bricoleur”
mais ne s'arrête pas là. Plus profondément, il s’agit d’être

DES CHOIX ÉDUCATIFS acteur et non pas consommateur, d’être créatif, de faire
partie d’une communauté de partage de connaissances.

ET PÉDAGOGIQUES
Cette philosophie met en avant la culture du bien commun
(libre, open source) et forme des citoyens responsables dans
une société où chacun/e doit peut y trouver sa place.
Notre société est traversée par les usages numériques : Le rôle de l’animateur/trice
monde de données et d’algorithmes parfois complexes, Afin de mettre en place ce parcours et réussir ses objectifs,
les usages numériques dématérialisés peuvent apparaître l’animateur/trice doit incarner le rôle de l’accompagnateur.
désincarnés et, de ce fait, difficiles à appréhender par L’animateur/trice, ne maîtrisant pas tous les projets mis en
les enfants et les adolescents. Parce qu’elles permettent place par les enfants, apparaît comme un médiateur plus
d’expérimenter en situation l’influence de ces données sur qu’un “sachant”. Son rôle est donc d’aider les enfants à
le monde physique, les activités robotiques sont dans ce surmonter les difficultés rencontrées et poursuivre le travail
contexte d'excellentes portes d’entrée pour accompagner qu’eux mêmes ont mis en place. L’autonomie des enfants
les enfants et les adolescents dans leur éducation numé- est mise en avant.
rique. A travers la construction de robots, ils comprennent
comment sont construites les machines qui nous entourent L’animateur/trice est également libre à adapter le parcours
et, à travers leur programmation, comment les algorithmes à son groupe d’enfants (âge, niveau de compétences
peuvent influencer notre quotidien. Il y a là un véritable vi- informatiques, temps...). Il/elle peut changer l’ordre de
vier d’activités scientifiques et techniques que ce parcours séances et/ou d’activités.
propose d’explorer.
Choix du robot
De plus, le contexte est à l’utilisation croissante de robots Le kit robotique utilisé dans notre parcours est basé sur
disposant parfois d'une "semi-autonomie", et pour de multi- l’Arduino. Nous l’avons conçu avec l’apport de l’association
ples usages : appui aux activités humaines, secours aux la Maison du Libre à Brest.
victimes, surveillance, mais aussi parfois comme appui et/
ou complément à des interventions militaires. Arduino :
On comprend que la notion de responsabilité citoyenne - est une carte électronique, programmable et open source
liée à l'utilisation de robots évolue et pose de nouvelles - A un prix raisonnable
questions éthiques. La robotique est donc une porte - dispose d’un logiciel open source et gratuit, développé
d’entrée pour travailler d’autres questions non seulement en Java.
scientifiques mais aussi citoyennes. Qui utilise des robots - est compatible avec toutes les plateformes (Windows, Gnu/
aujourd’hui ? Pour quels objectifs ? Qu’est-ce que cela Linux et Mac OS).
nous apprend sur la société humaine ? - est accompagnée d’une communauté très développée :
Que sont les objets connectés et l’homme augmenté et des forums d'entre-aide, de présentations de projets,
quel est leur rapport au numérique que cela implique ? de propositions de programmes et de bibliothèques, ...
- Et d’un site en anglais arduino.cc et un autre en français
Ce parcours regroupe 10 séances d'activités pédago- https://www.flossmanualsfr.net/arduino/ch033_ressources-
giques destinées à la découverte de la robotique en-ligne où on trouve la référence Arduino, le matériel,
et de la programmation auprès des enfants de 8 à 16 ans. des exemples d'utilisations, de l'aide pour débuter, des
Chaque activité est prévue pour une séance d'environ explications sur le logiciel et le matériel, etc.
d’une heure.
Choix du langage informatique
Pédagogie Des outils d’accompagnement spécifiques sont proposés
La pédagogie utilisée met l’enfant au centre du processus dans le parcours avec le langage Arduino. Cependant,
d’apprentissage. L’animation se fait par l’expérimentation et nous avons souhaité laisser la liberté à chaque animateur/
par la méthode d’essais-erreurs. En passant par la robotique trice voire chaque enfant de choisir le langage informatique
nous faisons le lien entre le monde numérique et le monde qui lui convient.
physique. Il est possible de visualiser directement les résultats
de nos actions de programmation ce qui a un effet positif Les langages proposés dans ce parcours sont libres et gratuits :
sur l'acquisition structurée des connaissances. - Arduino : langage textuel proposé par les créateurs de la
carte Arduino. Langage qui se rapproche du C/C++.
La robotique constitue un moyen ludique pour libérer le
potentiel créatif des enfants et des adolescents (en matière -S
 cratch : langage de programmation visuel1. Idéal pour les
graphique, corporelle, logique…). Elle développe l’imaginaire plus jeunes (8-10 ans).
des enfants. Elle les invite à réfléchir sur leur place dans
une société qui se transforme rapidement. - Blockly : programme web permettant la programmation
visuel pour Arduino. Ce logiciel est un outil de qualité
Nous avons également voulu favoriser le travail en équipe, pour démarrer facilement sur Arduino sans connaissances
le partage et la communication, et permettre une première en programmation. L’utilisation d’un environnement de
sensibilisation à la gestion de projets. Via la robotique, les programmation graphique permet des résultats rapides
enfants expérimentent la réalisation d’un projet dans le quitte à passer progressivement au codage traditionnel.
monde réel et appréhendent ainsi son caractère complexe.
Le collectif prend alors tout son sens : ensemble, on va plus loin. Découvrir, Décrypter, Diffuser
Le présent parcours répond à ces objectifs et à ces ambitions.
La robotique est donc une vraie entrée éducative pour la Partie intégrante du projet “D-Clics numériques”, il reprend
formation de futurs citoyens créatifs, critiques et responsables sa dynamique pédagogique, et vise successivement à faire
de leurs usages numériques. découvrir, décrypter, transmettre.

4
DÉCOUVRIR DÉCRYPTER DIFFUSER
Nous intégrons dans cet axe l’en- Nous sommes convaincus que Nous accordons une grande im-
semble des activités d’initiation, de pour décrypter et comprendre le portance aux cultures du libre, des
deux types : monde, il faut autant disposer de biens communs, et de l’intelligence
connaissances et de clefs de com- collective, qui nous semblent de-
Celles qui conduisent à faire préhension qu’être mis en situation voir être transmises aux enfants et
connaître aux enfants et aux jeunes active par la pratique. Nous inté- aux jeunes. Ainsi, nous proposons
la richesse de la robotique, tant des grons dans cet axe les activités qui des activités qui leur permettent
points de vue techniques et artis- permettent progressivement aux d’agir ensemble et de partager
tiques, que des usages. enfants et aux jeunes d’expérimen- leurs créations (en vue de les faire
Celles qui permettent de décou- ter et de découvrir leur potentiel découvrir comme de les voir amé-
vrir les bases de la robotique et créatif. liorées par d’autres), y compris à
de la programmation simple des l’extérieur de l’espace éducatif
robots. Elles doivent également dans lequel ils ont bénéficié de
donner confiance aux enfants et l’activité.
aux jeunes dans leur capacité à
construire et programmer des ro-
bots plus complexes.


1
Un langage de programmation graphique ou visuel est un langage de programmation
dans lequel les programmes sont écrits par assemblage d'éléments graphiques.

5
UN PARCOURS QUI INTÈGRE
LES GRANDS ENJEUX DE L’ÉCOLE
DU SOCLE COMMUN
Le parcours « Robotique et DIY », partie intégrante du projet de D-Clics
numériques, répond transversalement aux enjeux de l’école du socle
commun, comme définis au décret n° 2015-372 relatif au socle commun
de connaissances, de compétences et de culture du Ministère de l’éducation
nationale, de l’enseignement supérieur et de la recherche.

Notre parcours répond directement aux enjeux correspondant à plusieurs


domaines du socle commun :

1
“LES LANGAGES POUR
2
“MÉTHODES ET OUTILS
PENSER ET COMMUNIQUER” POUR APPRENDRE”
Il vise entre autres l’apprentissage des langages infor- Autrement dit, comment apprendre à apprendre.
matiques et des médias. « Ce domaine permet l’accès Ce domaine vise entre autres un enseignement explicite
[…] à une culture rendant possible l’exercice de l’es- des outils numériques. « La maîtrise des méthodes et
prit critique. Il implique la maîtrise de codes ; de règles, outils pour apprendre […] favorise l’implication dans le
de systèmes de signes et de représentations. » (Décret travail commun, l’entraide et la coopération » (Décret
n° 2015-372). Au travers du projet D-Clics numériques, n° 2015-372), valeurs partagés également par le projet
l’élève prend conscience du fait que les langages infor- D-Clics numériques. Plus précisément, l’élève sera amené
matiques sont utilisés pour programmer des outils numé- à pratiquer la programmation en découvrant différents
riques comme des robots et réalise des traitements au- langages informatiques, en expérimentant, en passant
tomatiques de donnés. Il apprend les principes de base par une démarche d’essais et erreurs. Il sera ensuite
de l’algorithme et de la conception des programmes in- amené à co-construire un projet en équipe pour la
formatiques. Il les met en pratique pour programmer un création et programmation d’un robot. Il apprend ainsi à
robot en utilisant différents logiciels et hardwares libres et travailler en équipe, partager des tâches, s’engager dans
ouverts à tous (ex. Arduino, Scratch...). L’élève s’exprime un dialogue constructif, négocier, chercher un consensus,
également en utilisant la langue française à l’oral et à gérer un projet, planifier les tâches et évaluer l’atteinte de
l’écrit en fin de parcous pour la présentation de son pro- ses objectifs.
jet en groupe.

6
3
“ SYSTÈMES NATURELS
4
“ REPRÉSENTATIONS DU
ET DES SYSTÈMES TECHNIQUES ” MONDE ET D'ACTIVITÉ
Ce domaine vise à développer la curiosité, le sens de HUMAINE ”
l’observation et la capacité à résoudre des problèmes.
Un de ses objectifs principaux est de donner à l’élève Ce domaine est consacré à la compréhension des so-
les fondements de la culture technologique. A travers ciétés dans le temps et l’espace. Les diverses discussions
des discussions autour des robots qui nous entourent autour du sujet du numérique, de l’évolution de la ro-
dans notre quotidien, les expériences de l’élève et les botique, de l’identité numérique, de la programmation
questions éthiques sur l’utilisation des robots aujourd’hui, visent une meilleure compréhension de la société dite
on mène la réflexion sur ses vécus et connaissances déjà numérique et du monde contemporain dans lequel on
en place mais en même temps on éveille sa curiosité, vit. « Ce domaine vise également […] la construction de
son envie de se poser des questions, de chercher des la citoyenneté en permettant à l’élève d’aborder de
réponses et d’inventer. Le projet final proposé dans le façon éclairée de grands débats du monde contempo-
parcours ici présenté, pour la programmation des robots rain » (Décret n° 2015-372).
par les élèves, les familiarise avec le monde technique,
numérique mais aussi physique. Ils doivent d’abord
comprendre la programmation et les algorithmes et
ensuite être capables de concevoir et réaliser eux-mêmes
des projets en groupe. Ces activités « sont des occasions
de prendre conscience que la démarche technologique
consiste à rechercher l’efficacité dans un milieu contraint
(en particulier par les ressources) pour répondre à des
besoins humains, en tenant compte des impacts sociaux
et environnementaux. » (Décret n° 2015-372) car pour
la personnalisation des robots les enfants utiliserons des
matériaux de récupération afin de limiter les déchets,
l’impact sur l’environnement et favoriser l’imagination.

7
8
Retrouvez, ci-après, les fiches séances
qui vous permettront de pratiquer,
avec les enfants, l’ensemble des
activités proposées dans le cadre
de ce parcours “Robotique”.

SOMMAIRE
TRONC COMMUN
10 SÉANCE 1 ANNEXES 1, 2, 3, 4, 5, 6
12 SÉANCE 2 ANNEXES 7, 8, 9, 10, 11
13 SÉANCE 3 ANNEXES 12, 13, 14, 15, 16
14 SÉANCE 4 ANNEXES 17, 18, 19, 20
16 SÉANCE 5 ANNEXES 11, 12, 21, 22
17 SÉANCE 6 ANNEXES 4, 23, 24, 25, 26
19 SÉANCE 7 ANNEXE 26
20 SÉANCE 8 ANNEXE 22
21 SÉANCE 9-10 ANNEXES 27, 28, 29

9
TRONC COMMUN

SÉANCE 1 1/2 Durée – 1 heure

QUESTIONS D'USAGES :
permettre aux enfants de réfléchir à la notion de robot. Qu’est ce qu’un robot ? Quels sont les organes,
les fonctions, les éléments qui constituent un robot ? À quoi sert un robot ?

Objectifs pédagogiques Connaissances requises par les enfants


Repérer, identifier et différencier : pour aborder la séance
– les principes techniques :
Aucune en particulier
Un robot est un système automatisé.
– les types de robots : Les robots mêkhanocentrés
(rover), les robots anthropocentrés (humanoïdes), Éléments d'évaluation des acquis enfants
les robots zoocentrés ou biocentrés (ornithoptères) Les enfants sont capables de citer les robots
– les pratiques et usages liés à la robotique : qu’ils ont déjà vus dans leur périmètre proche
Milieux hostiles à l’homme, médecine, industrie, loisirs, et identifier leur type.
usages domestiques, etc.

Déroulement Pour les plus jeunes l’animateur/trice peut utiliser une


catégorisation plus simple comme la suivante: robots
1 Temps de rencontre et présentation de l’atelier
industriels, ménagers, jouets, humanoides, sous-marins,
10 min volants, roulants...
L’animateur/trice peut demander aux enfants
auparavant de réfléchir à l’atelier dans sa globalité. c. Représentation des robots - 25 min
Donner aux enfants du papier et des crayons et les
2
Un robot : Qu’est ce que c’est ? - 50 min (cf. 1,6) laisser imaginer ce que serait leur robot. Possibilité de
L’animateur/trice prépare les ordinateurs avec dessiner un robot avec les morceaux différents proposés
l’environnement de développement Arduino et teste par différents groupes d’enfants. Penser à afficher puis
avec le code blink en amont (cf. 2). Il/elle monte récupérer les dessins effectués par les enfants (ils seront
un robot (cf. 3). réutilisés dans d’autres séances ultérieures).

a. Démonstration d’un robot qui bouge - 10 min Proposition : Afin de présenter à la fin du parcours
L’animateur/trice montre aux enfants un robot (séances 9 et 10), les projets des enfants il faudra
ROSA déjà réalisé (voir https://wiki.mdl29.net/doku. en début de projet prévoir un “reporter” dans le groupe
php?id=projets:robotarduino pour le montage). pour mettre en oeuvre les pré-requis suivants :
ROSA réalisera des mouvements simples comme :
aller tout droit, reculer, s’arrêter. – prise de photos à chaque étape,
Questionner les enfants : de quel type de robot s’agit-il ? tout au long du projet,
Peut-on interagir avec lui ? Leur demander d’Identifier – copies d’écran lors de la programmation,
son capteur, contrôleur, actionneur, énergie, pièces – éventuellement captation vidéo tout au long
d’assemblage. du projet (essais durant le projet, interviews, etc.).

b. Discussion autour de la robotique - 15 min L’ensemble des productions écrites réalisées lors du
A partir de cette démonstration une discussion projet doivent être réservées par l’animateur/trice :
et réflexion autour de la robotique peuvent être croquis, dessins, schémas. Concernant les productions
lancées. Demander aux enfants de donner leur papier, il est souhaitable que l’animateur/trice les
représentation lorsqu’ils entendent le mot robot. numérise en les scannant ou en les prenant en photo.
À quoi sert un robot ? Que peut faire un robot ? Dans
quel milieu un robot peut intervenir ? À quoi ressemble Proposition : On peut également commencer par le
un robot ? L’animateur/trice classera les idées des temps c, ensuite b pour arriver au temps a. L’objectif
enfants en fonction des types différents étant de ne pas influencer les représentations des
des robots qui apparaissent (cf. 4). enfants.

Aménagement Boites à outils : ressources


et matériel spécifique nécessaire (1) Introduction robotique
– Ordinateur (2) D
 idacticiel sur comment installer Arduino.exe
– Vidéo projecteur et tester avec Blink (pour Windows, Linux, Mac) p.28
– Tableau (3) Didacticiel sur comment monter le kit robotique p.28
– Grandes feuilles de papier (4) Les différents types de robots
– Stylo feutres de couleur (5) Vidéos indiquant les différents aspects des robots
– Papiers (6) Les robots
– Crayons
– Post it

10
TRONC COMMUN

SÉANCE 1 2/2 Durée – 1 heure

Et si je dispose de plus de temps ? Capacités de l'animateur


– Ne pas montrer ROSA dès la première séance pour – Gestion du groupe
laisser les enfants imaginer des différents types de L’animateur/trice aura au préalable visiter les sites
robots et avoir leur propre représentation des robots. de robotique présentés dans la fiche.
Cela donnera plus de temps pour continuer des Il conviendra de faire une veille concernant les robots
discussions autour de la robotique. Quelques idées : et leurs concepts associés.
automates contre robots, les lois de la robotique
pour aborder de questions autour de citoyenne
et robotique, l’histoire de la robotique pour parler Aller plus loin - autres ressources
du premier robot, la robotique de demain pour parler – L’animateur/trice qui a besoin de plus d'informations
de l’intelligence artificielle… (cf. 1) sur les notions de la programmation et robotique peut
– Déconstruire les représentations. suivre le MOOC de Class’Code:
En montrant plusieurs petits films (cf. 5), l’animateur/ https://pixees.fr/classcode/accueil/#moocs
trice montrera qu’un robot peut avoir plusieurs formes – Ainsi que sur le livre “1,2,3...Codez” :
et plusieurs fonctions (parfois simples parfois plus com- http://www.fondation-lamap.org/fr/123codez
plexes). Analyser à partir de plusieurs vidéos, ce que dont un extrait autour de la robotique se trouve
fait la machine. à l’annexe 6.
– Aller voir sur le site de Boston Dynamics,
le site de la DARPA, le site de l’INRIA

11
TRONC COMMUN

SÉANCE 2 Durée – 1 heure

MONTAGE DU CHÂSSIS DE ROSA


(ROBOT OPEN SOURCE ARDUINO):
L’animateur/trice accompagnera les enfants au montage du châssis du robot.

Objectifs pédagogiques Connaissances requises par les enfants


– Mettre en exergue la partie bricoleur et Do It Yourself pour aborder la séance
– Comprendre les mouvements de base
Avoir eu une première réflexion sur ce qu’est un robot.
(avancer, reculer)
– Comprendre le fonctionnement d’un moteur
Éléments d'évaluation des acquis enfants
Avoir monté le châssis de ROSA.

Déroulement Proposition 1: L’animateur/trice peut mettre la vidéo


du montage du châssis dans un ordinateur par groupe.
1 Montage du châssis - 60 min
L’image est parfois plus ludique qu’un document
L’animateur/trice amène avec lui son robot déjà monté papier. Les enfants sont ainsi plus autonomes.
pour que les enfants puissent visualiser le produit fini
et se motiver pour le montage de leurs robots. Proposition 2 : L’animateur/trice peut diffuser avec un
vidéo projecteur la vidéo du montage comme un outil
Option 1 : Chaque enfant a son kit robotique. de repère - référence commune. Cela permettra aux
Une fois que l’enfant a fini le montage, il/elle peut enfants de suivre les séquences et aux animateur/trices
accompagner les autres. L’animateur/trice imprime de ne pas avoir des grands écarts entre les enfants qui
la documentation pour chaque robot. finissent rapidement et d’autres qui ont besoin de plus
de temps.
Option 2 : Pour mettre en avant l’esprit d’équipe
et la coopération, l’animateur/trice crée des équipes. Proposition 3 : Si les enfants sont très jeunes pour monter
Par rapport au nombre d’enfants et de kits robotiques, le robot, l’animateur peut monter les robots en avance
on peut faire des équipes de 2 à 4 enfants par robot. et faire le câblage en laissant de côté le capteur de
L’animateur/trice imprime la documentation pour distance.
chaque groupe.
Les enfants montent le kit avec l’aide de l’animateur/
trice (cf. 7)

Aménagement Boites à outils : ressources


et matériel spécifique nécessaire (7) Didacticiel (vidéo) sur le montage du châssis p.28
– 1 pile 9V ou 4,5V (8) Capteurs et actionnaires
– Un ordinateur par groupe (9) Explication de mouvements simples
– Un vidéo projecteur idéalement (10) Déplacement du robot p.28
– Documentation imprimée (11) Test des moteurs avec une pile p.28

Aller plus loin – autres ressources Et si je dispose de plus de temps ?


– Si vous souhaitez utiliser un autre robot pour faire – Explication des mouvements du robot aux enfants.
le parcours, vous pouvez consulter les ressources faites Qu’est-ce qu’une rotation, translation. (cf. 9)
par Fréquence École et Zoomacom sur Primo: Quels déplacements peut faire le robot ? (cf. 10)
https://frequence-ecoles.org/ressources-2/primo- – Expliquer le sens de rotation d’un moteur grâce
pour-decouvrir-les-bases-de-la-programmation-dun- à une pile. (cf. 11)
robot/
– T hymio: https://frequence-ecoles.org/ressources-2/ Capacités de l'animateur
thymio-pour-apprendre-le-code-et-developper-un-
esprit-logique/ – Gestion du groupe
–C  ubelet: https://frequence-ecoles.org/res- L’animateur/trice, avant la séance, se prépare en lisant
sources-2/cubelets-pour-aborder-les-notions-de-lo- et faisant des tests:
gique-et-d-observation-scientifique/ – Pour différentes parties de ROSA ( cf. 8)
–R  obot insecte: https://wiki.mdl29.net/doku.php?id=les- – Pour des questions de mouvements simples
petitshackers:robotsinsecte d’un moteur (cf. 9,10)
– RoboduLAB: http://obcprovence.com/2015/05/robo- – Pour tester les moteurs avec une pile (cf. 11)
dulab-robot-pedagogique-pour-apprendre-a-coder/

12
TRONC COMMUN

SÉANCE 3 Durée – 1 heure

MONTAGE ÉLECTRONIQUE DE ROSA :


L’animateur/trice accompagnera les enfants lors du montage électronique du robot en leur présentant
également des bases de l’électronique.

Objectifs pédagogiques Connaissances requises par les enfants


Repérer, identifier et différencier: pour aborder la séance
– La partie électronique du montage d’un robot – Connaissances manuelles de bases
– La carte électronique Arduino (e.x. assembler, couper…)
– Le lien entre la programmation et sa traduction – Pouvoir manipuler des objets fragiles
en mouvements physiques

Éléments d'évaluation des acquis enfants


Les enfants sont capables de faire le montage électro-
nique de leur robot.

Déroulement 2 Atelier déconnecté - 30 min

L’animateur/trice regarde en amont la fiche sur la carte Après avoir finalisé la structure de base de ROSA,
Arduino (www.arduino.cc) (cf. 12,13) pour pouvoir on peut commencer à s’initier aux notions de base
répondre aux questions des enfants si besoin. de la programmation. Pour cela, faisons un jeu (cf. 15).
En donnant le rôle du robot à un enfant, il doit réali-
1 Montage électronique - 30 min ser plusieurs actions. Les enfants ou l’animateur/trice
Les enfants montent la partie électronique de ROSA donnent les consignes écrites ou orales.
avec l’aide de l’animateur/trice, de la documentation a. Se déplacer d’un point A vers un point B (donner
et des vidéos (cf.14) une consigne courte et simple en nombre de pas)
Montage de la carte Arduino, du contrôleur de moteurs, b. Sortir de la pièce (donner une consigne plus com-
du capteur de distance et branchement des câbles. plexe avec plusieurs actions les unes enchaînées avec
Pédagogie: un modèle d’apprentissage type essai/ les autres). Pensez à organiser la classe.
erreur peut être mis en place, l’animateur/trice peut c. Se déplacer d’un point A vers un point B en met-
accompagner le cablage du robot. Par exemple, tant un obstacle entre les deux (reprendre le premier
si je branche le fil rouge; le moteur s’actionne. programme et tester lorsque l’enfant entre en contact
Proposition 1: L’animateur/trice peut mettre la vidéo avec l’obstacle).
du montage du châssis dans un ordinateur par groupe. d. Mettre en place la notion de Si Alors en demandant
L’image est parfois plus ludique qu’un document papier. à l’enfant robot de se servir de ces bras pour récupérer
Les enfants sont ainsi plus autonomes. ET/OU des informations de son environnement. Par exemple,
Proposition 2: L’animateur/trice peut diffuser avec un vi- “si tu touches le mur, tourne à gauche”. Nous pouvons
déo projecteur la vidéo du montage comme un outil de initier ainsi la notion des capteurs d’un robot (proposer
repère-référence commune. Cela permettra aux enfants une suite d’actions en fonction de l’environnement
de suivre les séquences et aux animateur/trices de ne dans lequel je me trouve).
pas avoir des grands écarts entre les enfants qui finissent L’objectif est de faire le lien entre la programmation
rapidement et d’autres qui ont besoin de plus de temps. et les mouvements physiques du robot.

Aménagements et matériel spécifique Boite à outils : ressources


nécessaire (12) Présentation Arduino
– Carte Arduino UNO (13) Présentation PPT Arduino
– Documentation imprimée (14) Montage électronique
(15) Robot-idiot (fiche faite par INRIA) p.28
(16) Les lois simples de l’électricité p.28
Et si je dispose de plus de temps ?
Aller plus loin sur l’explication des notions de moteurs,
capteurs, contrôleur de moteurs...

Aller plus loin – autres ressources Capacités de l'animateur


–D
 ébuter avec l’Arduino – Gestion du groupe
https://zestedesavoir.com/tutoriels/686/arduino-pre- – Si l’animateur/trice n’est pas “expert” en Arduino,
miers-pas-en-informatique-embarquee/
se rassurer ! Il faudra bien préparer la séance en
–R  essources Arduino et composants: https://wiki.mdl29.
avance en consultant toutes les ressources données
net/lib/exe/fetch.php?media=elec:arduino_dossier_res-
dans la boîte à outil et les avoir testées avant la mise
source.pdf (Ressource proposée par la Maison du Libre)
en pratique de la séance avec les enfants.
– Construction d’un robot autonome: https://wiki.mdl29.
net/doku.php?id=lespetitshackers:robots (Ressource – Faire une lecture du document sur les principes
proposée par la Maison du Libre) de l’électricité (cf. 16)
– FlossManuals. Manuels libres pour logiciels libres: http://
fr.flossmanuals.net/arduino/historique-du-projet-arduino/

13
TRONC COMMUN

SÉANCE 4 1/2 Durée – 1 heure

DÉCOUVRONS LES BASES DE LA PROGRAMMATION


L’animateur/trice initie les enfants à la logique de la programmation et aux concepts informatiques
comme les algorithmes.

Objectifs pédagogiques Éléments d'évaluation des acquis enfants


– Comprendre les logiques de la programmation Les enfants sont capables de créer des algorithmes
(algorithme, boucles, conditions, variables) cohérents.
– Comprendre le lien entre les mouvements du robot Ils peuvent déduire ou faire des hypothèses sur des
et l’informatique. lignes de code pour faire bouger un robot et utiliser
les éléments de langage liés à l’algorithme.
Connaissances requises par les enfants
pour aborder la séance
Avoir suivi les séances précédentes.

Déroulement 2 Programmer un robot - 20 min

1 Comment communiquer avec l’ordinateur - 40 min a. 10 min - Sous forme d’échange avec le groupe abor-
L’animateur/trice peut emmener son robot et le mettre der les sujets suivants :
en mouvement. A partir de cette démonstration la dis- – Qu’est ce qui fait bouger un robot ?
cussion autour de la programmation commence. – Où se trouvent les ordres dans un robot ? (Caché
a. 1
 5 min Lancer une discussion avec les enfants autour dans le programme)
de ce qu’est un ordinateur, de la programmation – Qui les gère ? (l’appareil qui fait tourner le robot)
et le langage informatique. (cf. 17) – Qui les a écrites ? (Le créateur du robot / celui qui l’a
b. 1
 5 min Continuer la discussion autour de la program- programmé)
mation en regardant plus précisément ce qu’est un – Est-ce qu’on les connaît ? (On est au courant de
algorithme et un organigramme de programmation certaines ordres qui sont visibles (ce qui fait avancer,
(cf. 17, 18) reculer le robot) mais on n’a pas accès à tous les
ordres, qui ne sont pas visibles ou pas activés… sauf à
Activité : Si on voulait créer un robot qui soit bon per- avoir accès au “code source” et à savoir le lire !)
dant, comment nous y prendrions-nous ? (cf. 19)
Écrire avec les enfants l’organigramme de program- b. 10 min - Activité : Échanger avec le groupe sur
mation correspondant ou préparer des losanges et des les mouvements que les robots, faits par les enfants,
rectangles en carton pour créer l’algorithme en 3D. pourraient faire. Création d’un tableau où on liste
À travers de cette activité les enfants apprennent les mouvements. A la fin de cette séance la notion
aussi comment jouer ensemble et ils s’interrogent sur à transmettre c’est que les ordres auxquels un robot
le comportement qu’on doit avoir pour vivre ensemble. obéit sont son code. Le robot c’est l’exécutant.

Proposition : Pour les plus jeunes l’animateur/trice


peut utiliser l’organigramme de programmation
sur la récréation (cf. 20) et ne pas introduire le concept
de la variable.

Aménagements et matériel spécifique Boite à outils : ressources


nécessaire (17) Fiches ressources
– Tableau ou paper board “La programmation expliquée aux enfants” (outil
– Papiers crayons proposé par BSF dans le cadre de l’opération
– Impression des fiches annexes “les voyageurs du code”)
(18) Algorithme VS organigramme de programmation
(19) Organigramme “le bon perdant”
(20) Organigramme “la récréation”

14
TRONC COMMUN

SÉANCE 4 2/2 Durée – 1 heure

Et si je dispose de plus de temps ? Capacités de l'animateur


– Laisser les enfants créer leurs propres algorithmes : – Gestion du groupe
le bon perdant, le bon élève… Tout comportement – Cette séance d’animation est très théorique, il est
prévisible peut faire l’objet d’un tel algorithme. donc très important de l’animer pour que ça ne soit
Attention : éviter tout exemple visant les enfants pas trop scolaire.
pour ne pas créer un phénomène de bouc émissaire. – Faites participer les enfants et tous les enfants !
Nous essayons de valoriser plutôt des comportements – Ré appropriez-vous les fiches d’explication pour
positifs que négatifs. les adapter à votre contexte et votre public.
– Faire le parcours D-Clics numériques de l’application
www.declick.net (faite par Colombbus) pour
apprendre la programmation aux enfants. Aller plus loin - autres ressources
Vous pouvez faire une partie (quelques minutes) Quelques jeux de société:
ou tous les exercices (4 heures) en fonction du temps – You Robot - ReposProduction (environ 20€).
disponible et l’âge des enfants. Jeu de mime. Durée moins de 30 minutes. Une équipe
– Avec les plus grands, on peut aller plus loin de robot, une équipe de concepteur. Donner les
sur la réflexion autour des questions d’éthique de bonnes consignes pour que les robots fassent ce qui
la robotique. Certains robots ont la capacité de leur est demandé.
capter des données personnelles (photos ou vidéos –R icochet Robot - Rio Grande Game (environ 35€).
de personnes…), comme les robots de surveillance. Jeu de plateau à partir de 10 ans. L’objectif est
Leur déploiement soulève alors des questions liées clairement de réfléchir chacun dans son coin et plus
à la protection de la vie privée et des données vite que les adversaires à l’algorithme qui permettra
personnelles. La robotique est donc une porte d’amener le robot sur son objectif.
d’entrée pour travailler d’autres questions pas – Initiation à la robotique (environ 30€). 3 robots à
seulement scientifiques mais aussi citoyennes. construire qui avancent en fonction de leur sensibili-
Qui utilise des robots aujourd’hui? Pour quels objectifs? té: 1 robot sensible à la lumière, 1 robot sensible aux
Qu’est-ce que cela signifie de la place de l’humain obstacles, 1 robot sensible à la technologie infrarouge
dans la société? d'une télécommande, 3 façade interchangeables
pour 3 styles de robots.

15
TRONC COMMUN

SÉANCE 5 Durée – 1 heure

INITIATION À LA PROGRAMMATION AVEC ARDUINO


L’animateur/trice présente aux enfants la carte Arduino et les initie à la programmation du robot
avec le langage Arduino.

Objectifs pédagogiques Connaissances requises par les enfants


– Apprendre à programmer avec un langage textuel pour aborder la séance
(Arduino) Avoir compris les bases et les notions de la programma-
tion (algorithmes, boucles, conditions).
Éléments d'évaluation des acquis enfants
Les enfants sont capables d’installer le code Robot_
dclics sur leurs cartes Arduino.

Déroulement 3 Le code de ROSA - 30 min

L’animateur/trice a déjà installé et préparé les Les enfants installent dans leurs ordinateurs le code
ordinateurs. Si chaque enfant a monté son robot, complet de ROSA (cf. 22) en suivant les instructions de
vous pouvez, à ce stade là, faire des groupes de 2 à 3 l’animateur/trice qui s’affichent sur l’écran du vidéopro-
enfants et donner 1 ordinateur par groupe. jecteur. Une fois le code téléversé dans la carte Ardui-
Cela incitera le travail en équipe et résoudra no, ROSA avance, détecte un obstacle, s'arrête, recule,
le problème d’équipement en ordinateurs. change de direction et recommence.

1 Présentation de la carte Arduino - 10 min Attention : Les deux moteurs n’avancent pas toujours
L’animateur/trice a lu auparavant les fiches sur à la même vitesse. Il peut donc être nécessaire de re-
Arduino (cf. 11,12) pour pouvoir la présenter coder les lignes qui définissent la vitesse des moteurs.
rapidement et répondre aux questions des enfants. Il est important que les enfants aient du temps pour
jouer avec ROSA et tester le code.
2 Tester le fonctionnement du capteur de distance
20 min Proposition : L’animateur/trice peut accompagner
Nous testons tous ensemble le fonctionnement du cap- la découverte progressive du code. On monte dans
teur qui calcule la distance. L’animateur/trice projette un premier temps, ROSA sans y ajouter le capteur de
son écran et les enfants suivent la procédure pour distance. On remarque que ROSA avance et recule
installer la bibliothèque NewPing.zip et la téléverser mais n’est pas capable de détecter les obstacles. On
à la carte Arduino. (cf. 21) demande aux enfants ce qu’il lui manque. La réponse
L’objectif est de faire l’expérience de l’installation est « des yeux » soit un capteur de distance. On re-
d’une bibliothèque dans une carte Arduino sans passer tourne aux séances 3 et 4 pour monter le capteur de
par la partie théorique et des notions complexes. distance. ROSA est maintenant capable de détecter
Dans le cas où chaque enfants a son robot, l’ani- les obstacles !
mateur/trice doit prévoir le temps pour que tous les
membres de l’équipe puissent tester le capteur
de distance de leurs robots.

Aménagements et matériel spécifique Boite à outils : ressources


nécessaire (11) Présentation Arduino p.28
– 1 ordinateur par groupe (12) Présentation PPT Arduino
– Installation logiciel Arduino (21) Installation bibliothèque NewPing
– Robots déjà montés par les enfants dans les séances (22) Code Rosa
précédentes
– Vidéo projecteur (facultatif)

Et si je dispose de plus de temps ? Capacités de l'animateur


– Laisser encore plus de temps aux enfants pour – Gestion du groupe
experimenter avec ROSA. – Avant cette séance, l’animateur/trice doit bien
– Effectuer des modifications dans le code principal préparer tout le matériel utilisé pendant la séance,
(robot_dclics). Exemple: faites avancer ROSA en le tester et expérimenter plusieurs fois pour qu’il/elle
permanence, reculer, faire des tours.... se sente à l’aise.
– Organiser des groupes pour que tous les enfants
puissent faire l’expérience de la programmation
et jouer avec le robot.

16
TRONC COMMUN

SÉANCE 6 1/2 Durée – 1 heure

PROJET COLLECTIF 1/3 : RÉPARTITION DES GROUPES


ET DÉMARRAGE DU PROJET.
L’animateur/trice accompagne les enfants dans la mise en place d’un projet de robotique.

Objectifs pédagogiques Connaissances requises par les enfants


– Réutiliser les connaissances sur les différentes caté- pour aborder la séance
gories des robots pour différents usages : sous-marins, – Connaissances manuelles de bases (ex. assembler
volants, roulants, humanoïdes, utilitaires des pièces, couper du carton, dessiner etc)
– Créer un robot agréable à utiliser par la suite, – Savoir écrire
car fonctionnel et solide
– Travailler en coopération pour que la conception du
robot s’enrichisse des expériences des enfants (notion Éléments d'évaluation des acquis enfants
d’intelligence collective) Les enfants sont capables de créer la structure
– Développer la créativité des enfants qui sera ensuite de leur robot.
mise en pratique par les travaux manuels
Avant l'atelier
Les enfants doivent réfléchir auparavant à l’aspect
de leur robot : humanoïde, boîte, dinosaure, autre

Déroulement c. Projet collectif - 15 min


L’animateur/trice distribue à chaque groupe la feuille
1 Répartition de groupes - 35 min
du projet collectif (cf. 24). Les enfants ont 15 min pour
a. Explications - 5 min se mettre d’accord sur les modalités de leur projet
L’animateur/trice explique la procédure pour la et le remplir collectivement.
répartition des groupes. Ensuite il/elle fait un rappel sur
les différents types de robot qui ont été discutés à la 2
séance 1 et montre des images des robots faits avec Début des travaux - 25 min
un arduino pour leur donner des idées (cf.4). a. Distribution du matériel - 5 min
L’animateur peut prévoir un espace où se trouvera
b. Fiche individuelle - 15 min les matériels (ex. table, boîte...).
Dans la discussion en début de séquence, on demande Les enfants vont utiliser ou réutiliser des matériaux de
à chaque enfant d’inscrire le nom et le type de robot récupération afin de limiter les déchets, l’impact sur
qu’il veut faire sur une feuille de papier (cf. 23). Cela doit l’environnement et favoriser l’imagination. C’est un bon
être soit une forme déjà abordée, soit une forme qui n’a moment pour sensibiliser les jeunes aux impacts environ-
pas été vue en spécifiant ce qu’il devra faire. nementaux des démarches technologiques.

Proposition : Les enfants veulent faire une forme inédite; b. Dessiner la structure de base de ROSA - 20 min
il est possible de leur indiquer qu’ils peuvent se baser sur L’animateur/trice peut distribuer le modèle boîte de
une structure existante (ex : boîte) ROSA (cf. 25,26) et laisser les enfants dessiner les leurs.
Nous affichons les groupes sur un tableau/mur et après
discussion collective : les groupes seront composés de 5
enfants environ.

Aménagements et matériel spécifique Boite à outils : ressources


nécessaire (4) Fiche: Les différents types de robots
– Fiches sur les différents aspects et utilisation des robots (23) Fiche individuelle
– Gabarit de la carte utilisée (24) Projet robotique
– Crayons, stylo, colle, ciseaux, cartons, (25) Gabarit de la carte électronique utilisée
bois de récupération, règles (26) Modèles de boîte de robot
– 3 Modèles de bases de simples robots (x le nombre
de robots)
– Les dessins de robot faits dans les séances précédentes
– Espace pour diffuser le matériel
– Espace ou dispositif pour ranger les robots
en fin de séance

17
TRONC COMMUN

SÉANCE 6 2/2 Durée – 1 heure

Et si je dispose de plus de temps ? Capacités de l'animateur


–E  nrichir la phase 2b : Après avoir effectué une – Gestion du groupe
première fois des groupes de 5 personnnes, on leur – Organiser la prise de décision par les enfants dans
donne la feuille du projet collectif (cf. 24), on leur les différents groupes et les orienter dans des formes
donne du temps pour qu’ils commencent à la remplir de robot approchantes si les enfants veulent faire
et voir la faisabilité de leur projet. Ensuite, on rediscute des formes inédites
le premier choix de groupes et donne la possibilité – Organiser la gestion du temps qui risquent de
aux enfants de rechanger de groupes par rapport manquer : il faudra se limiter à faire des structures
aux projets écrits. On finalise alors les groupes en leur simples qui seront réalisables dans le temps
donnant la feuille du projet collectif (cf. 24) et leur de la séance
laissant du temps pour écrire le nouveau projet.
– Sur la deuxième partie de la création, il sera possible
de créer un module à disposer sur la structure de base
pour augmenter la complexité et la taille de ROSA

18
TRONC COMMUN

SÉANCE 7 Durée – 1 heure

PROJET COLLECTIF 2/3 : PERSONNALISATION DE ROSA.


L’animateur/trice accompagne les groupes à la construction de la structure de leurs robots.

Objectifs pédagogiques Connaissances requises par les enfants


 ersonnaliser les structures de base créées précédem-
P pour aborder la séance
ment afin de permettre une appropriation des robots. – Avoir commencé les structures de bases de robots
– Repérer, identifier et différencier les différents aspects effectuées en séance 6
décoratifs des robots – Savoir effectuer des travaux manuels simples : couper
– Apporter des modifications à un objet déjà construit du carton/papier avec des ciseaux, coller, encoller,
– Imaginer des formes pour décorer le robot colorier
– Initier à la “mise en vie” de leur construction
technique afin de la rendre plus appropriable
par les enfants Éléments d'évaluation des acquis enfants
Les enfants ont créé leur robot dans lequel viendra
se loger la carte électronique qui constituera la partie
“commande”

Déroulement b. Création d’éléments structurels - 50 min


Création d'éléments structurels faisant appel à leur
1 Création des robots - 60 min
imaginaire comme des lumières, des bras ou toutes
a. Temps d’échanges - 10 min autres parties permettant d'identifier leur réalisation
Temps d'échange entre les enfants d'un même groupe comme un robot selon leurs représentations.
sur les différents éléments de personnalisation Ces éléments n'ont pas vocation a être fonctionnel,
à construire afin de lier leur robot à leur imaginaire. le but étant de construire un lien entre leurs propres
représentations et leur création afin de faciliter
Ces différents éléments seront: la couleur, la/les formes, l'appropriation de leur robot et donc des connaissances
les accessoires, les textures utilisées, les dimensions sou- techniques transmises lors des ateliers précédents.
haités en lien avec la capacité technique du robot.
L'animateur/trice pose un cadre de séance en Si l’animateur/trice craint de manquer de temps, il
proposant aux enfants un nombre limité de matériaux, pourra se reposer sur le modèle de base (cf. 26) ou
de couleur, et de technique à employer. Celui-ci pourra ajouter une séance complémentaire pour laisser les
faire une démonstration de techniques (ex : la peinture) enfants être créatifs au maximum.
au préalable afin d'éviter aux enfants d'être mis en Durant la création des robots, l’animateur/trice s’assu-
difficulté lors de la réalisation. rera que la carte Arduino rentrera dans le robot final
et qu’on pourra brancher le câble pour programmer
Ce temps permettra aux groupes de se fixer des ensuite le robot. On peut proposer aux enfants de ma-
objectifs réalisables en cours de séance de façon nipuler le gabarit de la carte Arduino en carton (plutôt
démocratique. Et également de travailler de manière que la carte électronique elle-même qui est fragile :
coopérative en se distribuant les tâches à effectuer. ce sera l’occasion de commencer à les sensibiliser
à cet aspect).

Aménagements et matériel spécifique Boite à outils : ressources


nécessaire (26) Modèles de boîte de robot
– Feutres de couleur
– Papier, ciseaux, colle
– Papier décoratifs (papiers cadeaux) Aller plus loin - autres ressources
– Formes rondes (pour créer des roues) Une autre proposition de forme de châssis, si vous vous
– optionnel : bouchons, objets ronds pouvant servir disposez d’une imprimante 3D, est celle proposée par
de roues Quesnel Jonathan et son robot “ABC” : http://beta.wiki-
fab.org/index.php/Construire_le_robot_%22ABC%22

Et si je dispose de plus de temps ? Capacités de l'animateur


Création d’objets issus de leur imaginaire (des cubes – Gestion du groupe
à déplacer par exemple) pouvant interagir avec ROSA S’assurer que tous les enfants participent au projet
et ces différentes commandes. et que chacun trouve sa place

19
TRONC COMMUN

SÉANCE 8 Durée – 1 heure

PROJET COLLECTIF 3/3 : PROGRAMMATION DE ROSA.


L’animateur/trice accompagne les groupes à la programmation de leur robot par rapport aux objectifs
posés pendant la phase 1 du projet (cf. séance 6).

Objectifs pédagogiques Connaissances requises par les enfants


– Faciliter l’appropriation de savoirs pour aborder la séance
et savoirs-faire techniques de manière ludique Avoir compris les bases de la programmation Arduino.
– Savoir programmer le robot en utilisant Avoir complété la séance 6.
le langage Arduino
– Scénarisation en groupe
Éléments d'évaluation des acquis enfants
Les enfants ont programmé ROSA en utilisant des com-
mandes vues à la séance 5

Déroulement 2 Scénarisation - 30 min

1 Programmation de ROSA - 30 min Les enfants dessinent et construisent un environnement


Les enfants en groupe programment ROSA par rapport avec lequel ROSA interagira. L’objectif est de mettre
aux objectifs de leur projet en utilisant les commandes en avant l’imagination des enfants et leur permettre de
apprises pendant la séance 5. scénariser leur projet. L'animateur/trice peut accompa-
gner les enfants pour que l’environnement construit soit
L’animateur/trice les accompagne aux modifications en lien avec la thématique de leurs projets.
du code (cf.22) . Il est important d’expliquer aux en- Exemple: Si le robot fait par une équipe ressemble
fants qu’il faut utiliser ce qu’ils savent déjà faire. à une araignée, l’environnement peut être la nature
Cela évitera de fixer des objectifs difficiles à atteindre. et les obstacles des arbres ou autres animaux.

Aménagements et matériel spécifique Aller plus loin - autres ressources


nécessaire L’animateur/trice qui souhaite aller plus loin
– Feutres de couleur au niveau de l’Arduino peut suivre des cours en
– Papier, ciseaux, colle ligne sur la plateforme FUN : MOOC Arduino pour
– Papier décoratifs (papiers cadeaux) proposer aux enfants plus de fonctions au niveau
de la programmation de ROSA.

Boite à outils : ressources


(22) Code ROSA p.28

Et si je dispose de plus de temps ? Capacités de l'animateur


– Faire une scénarisation commune des différents – Gestion du groupe
projets en créant une histoire et en environnement – Bonne compréhension de la programmation
adéquat. sous Arduino et des modifications à faire
dans le programme principal (ligue_dclics)

20
TRONC COMMUN

SÉANCE 9-10 Durée - 2h (dont 20 min de présentation


pour l’ensemble des groupes)

PRÉPARATION DE LA PRÉSENTATION ET PRÉSENTATION


DES PROJETS ROBOTIQUES :
L’animateur/trice accompagne les enfants à la mise en place et organisation de la présentation
de leurs projets.

Objectifs pédagogiques Pré-requis par les enfants


– s'exprimer en utilisant la langue française à l'oral pour aborder la séance
et à l'écrit
– mobiliser les outils numériques pour échanger En début de projet : prévoir un “reporter” dans
et communiquer le groupe pour mettre en oeuvre les pré-requis suivants :
– valoriser le travail des enfants – prise de photo tout au long du projet,
– promouvoir le travail collaboratif à chaque étape
– copies d’écran lors de la programmation
– éventuellement captation vidéo tout au long
du projet (essais durant le projet, interviews, etc.)
– conserver l’ensemble des productions écrites réalisées
lors du projet : croquis, dessins, schémas.
Concernant les productions papier, il est souhaitable
que l’animateur/trice les numérise en les scannant.

Déroulement Ensuite, les enfants se répartissent les parties de la


présentation. Idéalement, un groupe de 3 enfants -> 1
Si l’animateur/trice dispose de plus de temps, il/elle
enfant pour traiter chaque partie.
peut consacrer une ou deux séances sur la présenta-
tion des projets de différents groupes et les échanges
2 Réalisation des parties de la présentation - 1h15
entre les enfants sur leurs projets, les difficultés rencon-
trées, les points forts et faibles de leurs projets etc. a. 15 min - Identifier les médias à intégrer (photos,
vidéo, dessins, etc.) pour les différentes étapes de la
1 Définition des parties de la présentation - 20 min partie. Les enfants visionnent les médias réalisés pen-
dant le projet. Si nécessaire, ils font le choix de ce qui
a. phase de recherche (individuelle) - 5 min
leur semble être les bons éléments d’illustration. Pour
chaque enfant s’isole 5 min pour se rappeler les diffé-
chaque média sélectionné, ils indiquent l’étape dans
rentes étapes du projet du groupe. Chacun note ses
laquelle elle va (si besoin).
idées sur papier. Les parties retrouvées devraient être :
construction de ROSA ; personnalisation ; programma-
b. 15 min - Écriture d’une courte phrase pour chaque
tion (en précisant le thème ou le scénario).
étape, incluant, le cas échéant, le vocabulaire appro-
prié. Description de chaque étape par une ou plusieurs
b. phase de mise en commun - 15 min
phrases courtes. L’enfant devra utiliser le vocabulaire
Mise en commun rapide sous la forme de discussion.
adapté.
Le groupe doit délivrer, au bout de 15 min,
le plan de sa présentation (cf. 27)
c. 45 min - Réalisation de la présentation de parties.

Aménagements et matériel spécifique Boite à outils : ressources


nécessaire (27) Présentation du projet
– 1. papier crayon (28) Prezi
– 2.a. accès aux médias produits pendant le projet, (29) Didacticiel Sozi
sur support USB ou sur lecteur distant.
– 2.b. écriture au choix, sur papier, bloc note de Et si je dispose de plus de temps ?
l’ordinateur ou directement dans l’application – Mise en page de la présentation avec un outil
de présentation de type Prezi (cf. 28) ou Sozi (cf. 29)
– 2.c. utilisation d’une application de présentation type – Création d’un glossaire
Prezi ou Sozi – Création d’un blog de présentation
– Démonstration préalable nécessaire. – Présenter le projet auprès des parents, des enfants
qui n’ont pas participé à ces ateliers, d’un public
Capacités de l'animateur plus large.
– Gestion du groupe
– Maîtrise du temps
– Avoir déjà testé les outils comme Prezi et Sozi
pour pouvoir accompagner les enfants

21
22
Retrouvez, ci-après, les fiches annexes
qui vous permettront de compléter
les séances conçues dans le cadre
des parcours “Robotique”.
SOMMAIRE
ANNEXES
24 ANNEXE 1 SÉANCE 1
33 ANNEXE 2 SÉANCE 1
34 ANNEXE 3 SÉANCE 1
45 ANNEXE 4 SÉANCES 1, 6
47 ANNEXE 5 SÉANCE 1
48 ANNEXE 6 SÉANCE 1
54 ANNEXE 7 SÉANCE 2
55 ANNEXE 8 SÉANCE 2
56 ANNEXE 9 SÉANCE 2
57 ANNEXE 10 SÉANCE 2
58 ANNEXE 11 SÉANCES 2, 5
59 ANNEXE 12 SÉANCES 3, 5
60 ANNEXE 13 SÉANCE 3
68 ANNEXE 14 SÉANCE 3
82 ANNEXE 15 SÉANCE 3
85 ANNEXE 16 SÉANCE 3
86 ANNEXE 17 SÉANCE 4
91 ANNEXE 18 SÉANCE 4
92 ANNEXE 19 SÉANCE 4
93 ANNEXE 20 SÉANCE 4
94 ANNEXE 21 SÉANCE 5
95 ANNEXE 22 SÉANCES 5, 8
101 ANNEXE 23 SÉANCE 6
102 ANNEXE 24 SÉANCE 6
103 ANNEXE 25 SÉANCE 6
104 ANNEXE 26 SÉANCES 6, 7
105 ANNEXE 27 SÉANCES 9, 10
106 ANNEXE 28 SÉANCES 9, 10
107 ANNEXE 29 SÉANCES 9, 10

23
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 1/9

 
 
 
 

 
INTRODUCTION  ET  DEFINITION  DE  LA  ROBOTIQUE  

Sommaire  
Qu’est  ce  qu’un  robot  .......................................................................................................................................  2  
Composition  d'un  robot  ....................................................................................................................................  3  
Les  capteurs  ..............................................................................................................................................  3  
Les  circuits  électroniques  .........................................................................................................................  3  
Les  actionneurs  .........................................................................................................................................  3  
Autonomie  ................................................................................................................................................  3  
Origine  de  la  robotique  .....................................................................................................................................  4  
Les  premiers  robots  ..................................................................................................................................  4  
Usages  .......................................................................................................................................................  5  
Différence  entre  automate  et  robot  .................................................................................................................  5  
Les  lois  de  la  robotique  .....................................................................................................................................  5  
La  conception  d’un  robot  ..................................................................................................................................  6  
Usages  des  Robots    ............................................................................................................................................  6  
Métiers  de  la  Robotique    ...................................................................................................................................  7  
Les  activités  autour  de  la  robotique  en  milieu  scolaire  et  périscolaire  .............................................................  7  
Préambule  .................................................................................................................................................  7  
Démarche  pédagogique  “  Apprendre  en  faisant  ”  ...................................................................................  7  
Démarche  expérimentale  et  apprentissages  ...........................................................................................  7  
Des  ateliers  contribuant  à  la  validation  de  compétences  transversales  .................................................  7  
Un  usage  naturel  des  outils  numériques…  ...............................................................................................  8  
La  programmation  et  la  robotique  ...........................................................................................................  8  
Conclusion  :  la  robotique  pédagogique  .............................................................................................................  9  
Robotique  Pédagogique  et  pensée  critique  .............................................................................................  9  
Robotique  pédagogique  et  créativité  ......................................................................................................  9  
Robotique  pédagogique  et  pensée  informatique  ....................................................................................  9  
Robotique  pédagogique  et  collaboration  ................................................................................................  9  
Robotique  pédagogique  et  résolution  de  problèmes  ..............................................................................  9  
 

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

24
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 2/9

Qu’est  ce  qu’un  robot  


Le  terme  robot  fait  partie  de  notre  quotidien  depuis  les  années  1960  où  il  apparaît  dans  l’électroménager.  
Pourtant,   aujourd’hui   encore   définir   un   robot   est   moins   facile   qu’il   n’y   paraît,   la   question   étant   de  
déterminer   les   caractéristiques   qui   font   basculer   une   machine   dans   le   monde   de   la   robotique.  
Il   n'existe   pas   de   définition   unique   néanmoins   il   est   d’usage   de   dire   qu’un   robot   est   l’association  
indissociable  de  trois  éléments  :  
 
   
•   Les  capteurs  qui  servent  à  appréhender  
l'environnement,  éléments  qui  s’apparentent  
aux  sens  (la  vue,  le  toucher,…)  
•   L’unité  de  programmation  pour  “  raisonner  ”,  
élément  électronique  qui  fait  office  de  cerveau.  
•   Les  actionneurs  pour  interagir  avec  le  monde  
réel,  les  “  membres  ”.  
 
Ces  trois  éléments  donnent  la  capacité  aux  robots  
d'analyser  leur  environnement,  de  décider  et  d'agir  
sur  le  monde  réel.  
 
•   L’énergie  permet  l’autonomie  du  robot  
 
 
 
 
Si   l’on   reprend   les   différentes   définitions   de   la   robotique   (le   petit   Robert,   le   Larousse,   Wikipédia,…)   on  
s’aperçoit  qu’elles  varient  énormément  !  
Le  petit  Robert  :  
Mécanisme   automatique   à   commande   électronique   pouvant   se   substituer   à   l’homme   pour   effectuer  
certaines  opérations  et  capable  d’en  modifier  de  lui-­‐même  le  cycle  en  appréhendant  son  environnement.  
Le  Larousse  :  
Appareil  automatique  capable  de  manipuler  des  objets  ou  d'exécuter  des  opérations  selon  un  programme  
fixe,  modifiable  ou  adaptable.  
Wikipédia  :  
Un   robot   est   un   dispositif   mécatronique   accomplissant   automatiquement   soit   des   tâches   qui   sont  
généralement   dangereuses,   pénibles,   répétitives   ou   impossibles   pour   les   humains,   soit   des   tâches   plus  
simples  mais  en  les  réalisant  mieux  que  ce  que  ferait  un  être  humain.  
 
Entre   l’usage   de   l’utilisation   du   mot,   “  robot   ménager  ”   par   exemple,   et   l’évolution   de   la   technologie,   il  
s’avère  compliqué  de  définir  de  façon  exacte  et  précise  ce  qu’est  la  robotique.  
C’est   pourquoi   nous   vous   proposons   la   définition   qui   nous   parait   la   plus   appropriée   pour   définir   un   robot   de  
façon  simple  et  claire.    
 
Un  Robot  est  un  dispositif  autonome  qui  dispose  d’au  moins  
un  capteur  et/ou  une  télécommande,  un  contrôleur  et  un  actionneur  
 

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

25
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 3/9

Composition  d'un  robot  


Un  robot  est  l’assemblage  complexe  de  pièces  mécaniques  et  de  pièces  électroniques  pouvant  être  pilotées  
par  une  intelligence  artificielle  afin  d’exécuter  des  actions  autonomes.  
Les  robots  autonomes  possèdent  une  source  d'énergie  embarquée  (batterie,  piles,…).  
 
Les  capteurs  
Il  en  existe  une  grande  variété.  Par  exemple  :  
•   Capteurs  à  Infrarouge  
•   Capteurs  tactiles    
•   Les  sondeurs  (ou  télémètres)  à  Ultra-­‐son  ou  LASER.  Ces  derniers  sont  à  la  base  des  scanners  laser  
permettant  à  l'unité  centrale  du  robot  de  prendre  "conscience"  de  son  environnement  en  3D.  
•   Les   caméras   sont   les   yeux   des   robots.   Il   en   faut   au   moins   deux   pour   permettre   la   vision   en   trois  
dimensions.   Le   traitement   automatique   des   images   pour   y   détecter   les   formes,   les   objets,   voire   les  
visages,  demande  en  général  un  traitement  matériel  car  les  microprocesseurs  embarqués  ne  sont  
pas  assez  puissants  pour  le  réaliser.  
 
Dans  le  cadre  d'un  robot  roulant  sur  des  roues,  les  roues  codeuses  permettent  un  déplacement  précis  en  
mesurant  les  angles  de  rotation.  (Information  proprioceptive).  
 
Les  circuits  électroniques  
Les  microprocesseurs  ou  les  microcontrôleurs  sont  des  éléments  primordiaux  d'un  robot,  car  ils  permettent  
l'exécution  de  logiciels  informatiques  donnant  son  autonomie  au  robot.  On  trouve  souvent  dans  un  robot  
des  modèles  à  très  faible  consommation,  notamment  pour  des  robots  de  petite  taille,  qui  ne  peuvent  pas  
emporter  avec  eux  une  source  d'énergie  importante.  
 
Les  actionneurs  
Les  actionneurs  les  plus  usuels  sont  :  
•   des   moteurs   électriques   rotatifs,   qui   sont   fréquemment   associés   à   des   réducteurs   mécaniques   à  
engrenages  et  les  servomoteurs.  
•   des  vérins  hydrauliques,  reliés  par  une  tuyauterie  à  des  pompes  fournissant  des  pressions  élevées.  
 
Généralement,   un   actionneur   peut   être   considéré   comme   un   constituant   d'un   système   mécanique  
(exemple  :  bras,  patte,  roue  motrice...)  et  correspond  à  un  degré  de  liberté.  
Les  interfaces  haptiques  permettent  au  robot  de  saisir  des  objets.  Les  moteurs  permettent  à  des  éléments  
mobiles  de  bouger  suivant  un  ou  plusieurs  degrés  de  liberté;  elles  sont  plutôt  des  constituants  appartenant  
au  domaine  de  la  télémanipulation.  
 
Autonomie  
On   cherche   à   réaliser   des   systèmes   capables   de   réagir   seuls   à   l'environnement,   c'est-­‐à-­‐dire   à   un   certain  
imprévu.   C'est   ce   plus   ou   moins   grand   degré   d'autonomie   (permis   par   une   intelligence   artificielle)   qui  
rapproche   les   robots   des   systèmes   complètement   autonomes   envisagés   par   la   science-­‐fiction   et   la  
recherche  de  pointe.  
 
Une  certaine  capacité  d'adaptation  à  un  environnement  inconnu  peut,  dans  les  systèmes  semi-­‐autonomes  
actuels,   être   assurée   pourvu   que   l'inconnu   reste   relativement   prévisible  :   l'exemple   déjà   opérationnel   du  
robot  aspirateur  en  est  une  bonne  illustration  :  le  logiciel  qui  pilote  cet  appareil  est  en  mesure  de  réagir  aux  
obstacles   qui   peuvent   se   rencontrer   dans   une   habitation,   de   les   contourner,   de   les   mémoriser.   Il  
sauvegarde   le   plan   de   l'appartement   et   peut   le   modifier   en   cas   de   besoin.   Il   retourne   en   fin   de   programme  
se  connecter  à  son  chargeur.  Il  doit  donc  fournir  une  réponse  correcte  au  plus  grand  nombre  possible  de  
stimulations,  qui  sont  autant  de  données  entrées,  non  par  un  opérateur,  mais  par  l'environnement.  
L'autonomie  suppose  que  le  programme  d'instructions  prévoit  la  survenue  de  certains  événements,  puis  la  
ou  les  réactions  appropriées  à  ceux-­‐ci.  Lorsque  l'aspirateur  évite  un  buffet  parce  qu'il  sait  que  le  buffet  est  
là,  il  exécute  un  programme  intégrant  ce  buffet,  par  exemple  les  coordonnées  X-­‐Y  de  son  emplacement.  Si  

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

26
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 4/9

ce  buffet  est  déplacé  ou  supprimé,  le  robot  est  capable  de  modifier  son  plan  en  conséquence  et  de  traiter  
une  zone  du  sol  qu'il  ne  prenait  pas  en  compte  jusqu'alors.  

Origine  de  la  robotique  


Le   terme   Robot   a   été   créé   en   1920   par   Josef   Capek,   c’est   la   déclinaison   de   robota,   mot   tchèque   signifiant   “  
corvée  ”.  Sa  première  utilisation  en  a  été  faite  par  son  frère  Karel  Capek  dans  la  pièce  de  science  fiction  “  
Rossum's  Universal  Robots  ”  jouée  en  1922  à  New  York.  Les  robots  de  la  pièce  sont  proches  de  ce  qu'on  
appelle  aujourd'hui  des  androïdes  ou  des  clones,  machines  biologiques  à  l'apparence  humaine.  
Ce   mot   est   vite   adopté   par   le   corps   scientifique   pour   nommer   un   dispositif   mécatronique   alliant  
mécanique,  électronique  et  informatique.  Les  robots  ont  pour  fonction  d’accomplir  automatiquement  des  
tâches  dangereuses,  pénibles,  répétitives  ou  impossibles  pour  les  humains.  
La   vulgarisation   de   ce   terme   entraîne   aujourd’hui   son   utilisation   pour   évoquer   la   haute   technicité   d’un  
dispositif.  
 
Les  premiers  robots  
Les   ancêtres   des   robots   sont   les   automates.   Un   automate   très   évolué   fut   présenté   par   Jacques   de  
Vaucanson   en   1738  :   il   représentait   un   homme   jouant   d’un   instrument   de   musique   à   vent.   Jacques   de  
Vaucanson  créa  également  un  automate  représentant  un  canard  mangeant  et  refoulant  sa  nourriture  après  
ingestion   de   cette   dernière.   Néanmoins   les   automates   sont   bien   plus   anciens   et   l’on   peut   citer   le   lion  
automate  conçu  par  Léonard  de  Vinci  et  présenté  en  1515  à  François  1er.  
 
     
   
   
   
 
 
 
 
 
 
 
 
Canard  de  Vaucanson   Joueur  de  flute  Vaucanson   Le  lion  de  Léonard  de  Vinci  
(reproduction)  
 
On   estime   que   Unimate   est   le   premier   robot   abouti,   robot   industriel   intégré   aux   lignes   d'assemblage   de  
Général  Motors  en  1961.  
Le  robot  lunaire  Lunokhod  1  envoyé  sur  la  lune  par  l'Union  Soviétique  en  1970,  a  voyagé  sur  une  distance  
de  10  km  pour  récolter  et  transmettre  plus  de  20  000  images.  
 
   
 
 
 
 
 
 
 
 
 
 

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

27
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 5/9

Usages  
La   robotique   possède   de   nombreux   domaines   d'application.   Les   robots   ont   été   installés   dans   les  industries,  
ce   qui   permet   de   faire   des   tâches   répétitives   avec   une   précision   constante.   À   la   suite   de   l'évolution   des  
techniques   on   retrouve   des   robots   dans   des   secteurs   de   pointe   tels   que   le   spatial,   la   médecine,   chez   les  
militaires.   Depuis   quelques   années   la   robotique   est   devenue   grand   public   et   on   retrouve   désormais   de  
nombreux  robots  domestiques  et  ludiques.  (Cf.  Usage  des  robots)  
 

Différence  entre  automate  et  robot  


Un   automate   du   grec  automatos  [qui   se   meut   de   soi-­‐même]   est   une   machine   qui,   par   le   moyen   de  
dispositifs   mécaniques,   pneumatiques,   hydrauliques,   électriques   ou   électroniques,   est   capable   d'actes  
imitant  ceux  des  corps  animés.    
http://www.larousse.fr/dictionnaires/francais/automate/6746  
 
Dans   la   robotique,   il   n’est   pas   rare   de   confondre   Automate   et   Robot   il   est   donc   important   de   savoir   faire   la  
différence  entre  les  deux.  
Un   automate   est   un   dispositif   se   comportant   de   manière   automatique,   sans   intervention   extérieure.   Il  
renferme   divers   dispositifs   mécaniques   et/ou   électriques,   qui   lui   permettent   d'exécuter   une   séquence  
déterminée   d'opérations   de   manière   synchronisée.   Il   est   programmé   et   possède   donc   une   mémoire.   Ce  
comportement  est  figé,  le  système  fera  toujours  la  même  succession  d’action.  
 

Les  lois  de  la  robotique  


Les   trois   lois   de   la   robotique   furent   le   fruit   de   discussions   entre   l'écrivain   de  science-­‐fiction   Isaac   Asimov   et  
son   éditeur   John   W.   Campbell   autour   du   thème   des   robots.   Elles   furent   formulées   explicitement   pour   la  
première  fois  en  1942  dans  la  nouvelle  Cycle  fermé  (Runaround).  Elles  permettent  d’introduire  le  “  danger  ”  
de  la  robotique  et  l’intelligence  artificielle.  

[1]     Un   robot   ne   peut   porter   atteinte   à   un   être   humain,   ni,   en   restant   passif,   permettre   qu'un   être  
humain  soit  exposé  au  danger.  
[2]     Un  robot  doit  obéir  aux  ordres  qui  lui  sont  donnés  par  un  être  humain,  sauf  si  de  tels  ordres  entrent  
en  conflit  avec  la  première  loi.  
[3]     Un   robot   doit   protéger   son   existence   tant   que   cette   protection   n'entre   pas   en   conflit   avec   la  
première  ou  la  deuxième  loi.  
Une  nouvelle  loi  a  été  ajoutée  :  
Un   robot   ne   peut   porter   atteinte   à   l'humanité   ni,   restant   passif,   laisser   l'humanité   exposée   au  
danger.  Avec  la  modification  consécutive  de  la  première  loi  :  
«  Un   robot   ne   peut   porter   atteinte   à   un   être   humain   ni,   restant   passif,   laisser   cet   être   humain  
exposé  au  danger,  sauf  quand  cela  s'oppose  à  la  précédente  loi.  »  
Désormais  une  cinquième  loi  est  apparue  :  
Un  robot  ne  pourra  pas  se  réparer  lui-­‐même.  
 
La   robotique   est   l’enjeu   de   demain   et   une   réflexion   sur   les   robots   “  qui   remplaceront  ”   l’Homme   est   un  
sujet   inhérent   à   la   robotique.   Les   lois   de   la   robotique   sont   un   support   intéressant   pour   mener   cette  
réflexion.   Ce   sujet   a   été   abordé   dans   de   nombreux   films   de   science   fiction,   qui   peut   par   des   visions  
optimiste  ou  pessimiste  être  un  complément  à  un  débat  “  enjeux  de  la  robotique  ”.  
 

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

28
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 6/9

La  conception  d’un  robot  


Les  concepteurs  de  robots,  quelqu’en  soient  les  formes  et  les  fonctions,  sont  confrontés  à  de  nombreuses  
problématiques,   la   robotique   est   un   concentré   de   technologies   complexes   et   variées   faisant   appel   à  
différents  domaines  tel  que  la  programmation,  la  mécanique,  la  mécatronique,  la  cognitique,  le  design…    
Les  problématiques  techniques  rencontrées  sont  :  
•   L’intelligence  du  robot  qui  renvoie  au  domaine  de  la  programmation  et  des  logiciels.  
•   L’architecture   qui   peut   se   définir   comme   l’art   de   choisir   les   meilleures   façons   de   structurer   et  
combiner  les  composants  du  robot  tel  que  les  robots  industriels  de  soudage  qui  doivent  assembler  
des  tôles  très  complexes  et  auront  des  bras  avec  4  à  5  articulations.  
•   Les   actionneurs   et   préhenseurs   tels   que   les   moteurs,   les   vérins,   les   pinces,…   et   tous   les  
composants  nécessaires  à  leur  commande  et  au  contrôle  de  leur  position.  
•   Les  capteurs,  organes  par  lesquels  le  robot  perçoit  son  environnement,  qui  doivent  à  la  fois  donner  
aux   robots   des   informations   de   base   sur   son   environnement   (température,   proximité   d’un  
obstacle…)  et  lui  permettre  d’acquérir  des  informations  plus  fines  (micro  pour  prendre  en  compte  
des  instructions  orales,  ou  caméra  pour  identifier  un  objet  ou  un  obstacle).  
•   La   communication   du   robot   qui   n’est   pas   limitée   à   l’échange   d’informations   entre   le   robot   et  
l’usager,  il  est  aussi  en  lien  avec  d’autres  appareils  (ordinateur,  équipements  domotiques…)  situés  
dans   son   environnement   de   travail   entraînant   des   questions   de   protocole   de   transmission   et   de  
reconnaissance  mutuelle.  
•   L’énergie,   le   plus   souvent   l’électricité   par   alimentation   directe,   qui   reste   également   un   enjeu  
important  pour  optimiser  la  consommation  et  augmenter  l’autonomie  des  robots.  
 

Usages  des  Robots  


•   Robots  domestiques  :  tâches  ménagères  
•   Robots  mobiles  :  capables  de  se  déplacer  dans  leur  environnement,    avec  manipulateurs  ou  non.  
•   Humanoïdes  :  apparence  d’un  bipède  
•   Robot  industriel    
•   Robotique  de  service    
•   Robotique  d’assistance  à  la  personne    
•    Robotique  liée  à  la  santé  
•   …  
•   robot  collaboratif  :  hommes  et  robots  travaillent  ensemble  pour  faciliter  le  travail  de  l’opérateur.  
Précision  des  mouvements,  diminution  de  la  pénibilité  
 
La  Cobotique  :    
Alors   que   jusqu’à   présent   les   robots   travaillaient   de   manière   autonome,   le   besoin   de   réaliser   des   tâches  
variées   et   changeantes   implique   un   travail   coopératif   et   coordonné   entre   les   robots   et   les   humains.  
Aujourd’hui,   les   roboticiens   se   concentrent   donc   sur   la   notion   de   sécurité   en   développant   des   robots  
capables  de  travailler  côte  à  côte  avec  les  humains.    
 
Selon   une   étude   de   l’IFR,   2142   millions   de   robots   ont   été   fabriqués   entre   les   années   60   et   la   fin   2010,   les  
analystes   estiment   qu’aujourd’hui,   de   1   à   1,3   million   de   robots   travaillent   pour   nous   dans   les   usines   dans   le  
monde.  http://www.larousse.fr/encyclopedie/divers/robot/88768  

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

29
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 7/9

Métiers  de  la  Robotique    


Préambule  
Si   dès   à   présent   nous   pouvons   lister   les   métiers   autour   de   la   robotique,   ce   domaine   n’en   étant   qu’à   ses  
balbutiements  les  besoins  et  les  métiers  vont  énormément  évoluer  dans  les  quelques  années  à  venir.    
 
Le   nombre   de   robots   est   exponentiel   et   il   est   encore   difficile   aujourd’hui   d’imaginer   l’explosion   de   la  
robotique  dans  les  décennies  à  venir.  Ce  qui  est  sûre  c’est  que  la  «  Robolution  »  est  en  marche  et  qu’il  est  
désormais  indispensable  de  s’y  intéresser  plutôt  que  d’en  avoir  peur.  

Les  activités  autour  de  la  robotique  en  milieu  scolaire  et  périscolaire  
 
Préambule  
Il  est  fortement  conseillé  d’accompagner  les  ateliers  robotiques  par  la  transmission  des  connaissances  sur  
la  robotique.  
Connaissances   autour   des   notions   de   base   de   la   robotique  :   Définition   de   la   robotique,   composition   d’un  
robot,…   ainsi   que   les   connaissances   générales   sur   l’histoire   de   la   robotique,   notre   environnement   et   la  
robotique,  la  mécatronique,  les  métiers  de  la  robotique…  
 
Ces   notions   acquises   complèteront   les   ateliers   et   permettront   aux   enfants   d’une   part   de   comprendre   le  
fonctionnement   des   robots   qu’ils   construiront   et   d’autre   part   de   faire   un   rapprochement   entre   ce   qu’ils  
réaliseront  et  ce  qu’ils  peuvent  observer  autour  d’eux.  (Pourquoi  et  comment  les  portes  d’un  ascenseur  ne  
se   ferment   pas   quand   on   monte   dedans,   comment   une   machine   distributrice   déclenche   l’obtention   d’une  
boisson  et  rend  la  monnaie,  fonctionnement  du  corps  humain,…)  
 
Démarche  pédagogique  “  Apprendre  en  faisant  ”  
Les   activités   robotiques   font   appel   à   une   pratique   coopérative,   les   enfants   apprennent   avec   l’animateur  
mais  aussi  par  et  avec  les  autres.  Le  travail  et  la  réflexion  en  groupe  permettent  aux  enfants  de  confronter  
leurs   idées   et   de   prendre   des   décisions   communes,   parfois   après   des   expérimentations.   La  
pluridisciplinarité   de   la   robotique   facilite   également   l’implication   et   l’expression   de   chacun   et   sollicite   chez  
les   enfants   une   ouverture   vers   plusieurs   savoirs   ce   qui   développe   ainsi   leurs   curiosités   et   leurs   envies  
d’apprendre.   L’aspect   ludique   de   la   robotique   renforce   l’intérêt   des   enfants   et   augmente   ainsi   leurs  
attentions.  
L’ensemble  de  ces  éléments  renforce  la  solidarité  entre  les  enfants  et  facilite  les  apprentissages.  
 
Démarche  expérimentale  et  apprentissages  
Le   moteur   principal   est   l’expérimentation   scientifique   avec   pour   thème   la   “   Conception   de   systèmes  
robotisés   ”.   Les   situations   de   démarches   expérimentales   sont   nombreuses   tant   dans   la   découverte   du  
fonctionnement   des   articulations   que   dans   la   conception   de   systèmes   robotisés   reproduisant   les  
mouvements.   Concernant   la   composante   “   robotique   ”   en   particulier,   celle-­‐ci   a   pour   but   de   faire  
comprendre  à  des  enfants  les  enjeux  mathématiques  (angles,  leviers,  échelles,  proportionnalité,  calcul  de  
périmètres   de   cercles   et   polygones,   parallélogrammes,   raisonnement,   etc…   en   fonction   du   niveau   de  
l’enfant)  qu’ils  abordent  en  robotique.    
 
Des  ateliers  contribuant  à  la  validation  de  compétences  transversales  
Les  enfants  ont  le  rôle  principal  tandis  que  les  animateurs  sont  dans  une  posture  d’accompagnateurs.  Les  
enfants  doivent  imaginer  et  réaliser  le  robot  par  eux-­‐mêmes.  Les  animateurs  sont  là  pour  accompagner  et  
non   pour   apporter   des   réponses   “   expertes   ”.   Les   enfants   valident   leurs   réponses   par   leurs   démarches  
expérimentales   réalisées   en   groupe   dans   les   ateliers.   Tout   le   travail   réalisé   peut-­‐être   réinvesti   ensuite   dans  

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

30
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 8/9

les  enseignements  en  classe  de  SVT,  de  physique,  de  mathématiques...  L’activité  robotique  est  facilitatrice  
pour  l’acquisition  des  compétences  du  Socle  relatives  à  “  L’autonomie  et  l’initiative  ”  ou  bien  touchant  aux  
“   principaux   éléments   de   mathématiques   ”   et   “   de   culture   scientifique   et   technologique   ”.   Les   aptitudes  
comme   “   Savoir   observer,   questionner,   formuler   une   hypothèse   et   la   valider,   argumenter,   modéliser   de  
façon   élémentaire   ”   ou   “   Comprendre   le   lien   entre   les   phénomènes   de   la   nature   et   le   langage  
mathématique  qui  s’y  applique  et  aide  à  les  décrire  ”  sont  particulièrement  sollicitées.  
 
Un  usage  naturel  des  outils  numériques…  
Cette  pratique  est  également  riche  d’usages  numériques  par  la  recherche  d’informations  et  d’investigation,  
notamment  sur  Internet,  et  par  la  programmation  des  robots.    
Les   compétences   telles   que   “S’approprier   un   environnement   informatique   de   travail   ”,   “   Créer,   produire,  
traiter,   exploiter   des   données   ”,   “   S’informer,   se   documenter   ”   ou   encore   “   Communiquer,   échanger   ”   sont  
mises  en  œuvre.  
 
Il  faut  distinguer  trois  applications  pédagogiques  distinctes  de  la  robotique    
•   l’apprentissage  de  la  robotique  
implique  l’utilisation  du  robot  en  tant  que  support  pour  apprendre  la  mécanique,  l'électronique,  
l’informatique  à  travers  des  activités  pratiques  collaboratives.    
La  finalité  est  l’acquisition  de  connaissances  et  de  compétences  inhérentes  à  la  construction  et  à  la  
programmation  de  robots.    
•   l’apprentissage  avec  la  robotique  
repose  sur  l’interaction  entre  les  enfants  et  un  robot  humanoïde  ou  animoïde  qui  recouvre  le  rôle  de  
compagnon  pour  les  enfants  ou  d’assistant  pour  l’enseignant.    
La  finalité  vise  à  provoquer  des  réactions  empathiques  et  à  créer  des  interactions  cognitives  et  
sociales.    
•   l’apprentissage  par  la  robotique  
implique  l’usage  de  kits  robotiques  de  construction  et  de  programmation.    
La  finalité  est  l’acquisition  de  connaissances  et  compétences  liées  à  une  matière  scolaire  précise  –  
mathématiques,  sciences,  technologie.  Mais  sa  finalité  éducative  réside  aussi  dans  l’acquisition  de  
compétences  transversales  (résoudre  des  problèmes,  communiquer,  prendre  des  initiatives,  ...)  et  
dans  le  développement  des  facultés  cognitives,  métacognitives  et  sociales  des  enfants  à  travers  
l’autocorrection,  la  planification,  l’esprit  critique,  le  travail  collaboratif,  la  confiance  en  soi...    
 
 
Le  potentiel  de  la  robotique  pour  les  apprentissages  est  lié  à  la  mise  en  œuvre  d’une  approche  et  
d’une  scénarisation  pédagogiques  adaptées  à  l'âge  des  enfants  et  aux  contextes  des  ateliers.    
 
La  programmation  et  la  robotique  
Il  est  important  de  différencier  deux  types  de  programmation  :  
•   La  programmation  d’«  Actions  »,  actions  sous  conditions.    
(ex.  si  le  robot  rencontre  un  obstacle,  alors  on  lui  demande  de  tourner)  «  SI  -­‐  ALORS  -­‐  SINON  »  
 
•   La  programmation  de  «  Motions  »,  mouvements  que  peut  effectuer  un  robot    
 (ex.  avancer,  reculer,  tourner,…  pour  un  robot  humanoïde)  
 
Le   principe   de   la   programmation   d’actions   est   de   tester   les   capteurs   présents   sur   le   robot   afin   de  
déclencher   une   action.   Si   cette   action   est   un   mouvement   il   sera   nécessaire   de   programmer   ce   mouvement  
(moteurs,  servomoteurs,  vérins,…)  
 
La  plupart  des  outils  robotiques  à  visée  pédagogique  ne  nécessitent  pas  la  programmation  de  mouvements.  
Les   interfaces   proposent   le   plus   souvent   des   programmations   sous   conditions   qui   font   appels   à   des  
fonctions  qui  réalisent  les  mouvements  désirés.    
Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

31
SÉANCE 1

INTRODUCTION ROBOTIQUE ANNEXE 1 9/9

 
Conclusion  :  la  robotique  pédagogique  
Pour  le  développement  des  compétences  du  21ème  siècle  
 
Robotique  Pédagogique  et  pensée  critique  
Comprendre   et   être   critique   face   aux   technologies   existantes.   Développer   une   réflexion   sur   les   défis  
éthiques  des  relations  personne-­‐robot.  
 
Robotique  pédagogique  et  créativité  
Développer  la  créativité  au  niveau  de  la  conception  de  la  construction  ou  de  la  programmation.  Trouver  des  
solutions   nouvelles   innovantes   et   pertinentes   pour   répondre   à   un   défi   robotique.   Aller   au-­‐delà   de   la  
consommation   passive   ou   interactive   des   technologies   et   développer   une   approche   créative   aux  
technologies.  
 
Robotique  pédagogique  et  pensée  informatique  
Apprendre   à   programmer   par   le   biais   d’interfaces   de   programmation   visuelles   qui   facilitent   la  
compréhension   des   processus   et   des   méthodes   informatiques.   Développer   la   capacité   d’abstraction,   de  
décomposition   et     de   structuration   des   données   et   des   processus   nécessaires   à   l’élaboration   de   la  
programmation  du  robot.  
 
Robotique  pédagogique  et  collaboration  
Développer   la   collaboration   face   à   des   défis   robotiques   en   équipe   qui   nécessitent   une   coordination   des  
différents  membres.  Mettre  en  valeur  la  diversité  de  compétences  et  de  talents  des  membres  de  l’équipe.  
Développer  l’engagement  des  apprenants  par  des  mécaniques  de  coopération  et  de  compétition.  
 
Robotique  pédagogique  et  résolution  de  problèmes      
Développer  une  attitude  positive  face  aux  problèmes  comme  source  d’apprentissage  et  de  résilience.  
Développer   une   approche   interactive   et   de   prototype   (design   thinking)   pour   résoudre   une   situation  
problème  complexe.  Développer  une  analyse  afin  de  décomposer  les  besoins  pour  un  défi  robotique.  
Développer  une  capacité  à  déterminer  une  solution  à  construire  et  à  mettre  en  œuvre.  
 
 

Adrien  Payet  
Directeur  du  CRREP  
Centre  de  Ressources  en  Robotique  Educative  et  Professionnelle  

32
SÉANCE 1

DIDACTICIEL INSTALLATION ARDUINO ANNEXE 2

Installation de la carte Arduino Uno


La carte Arduino est une carte électronique open source et simple d'utilisation.
Elle est développée par un italien nommé Massimo Banzi. Cette carte permet de
rendre l’électronique accessible au plus grand nombre. Le modèle de base permet
de contrôler 14 entrées/sorties digitales dont 6 sorties PWM(Modulation de Largeur
d'Impulsion) pour faire varier la tension de sortie, et 6 entrées analogiques grâce à un
microcontrôleur ATMEGA-328. Ressources en ligne.

Ressources PDF Notes

https://wiki.mdl29.net/lib/exe/fetch.
Présentation
php?media=robotsarduino:
de la carte Arduino presentation_arduino.pdf

https://wiki.mdl29.net/lib/exe/fetch.
Installation d'Arduino php?media=robotsarduino: Ardublock facultatif
sous Windows installation_arduino_ardublock pour le moment
_windows.pdf

https://wiki.mdl29.net/lib/exe/fetch.
Installation d'Arduino Ardublock facultatif
php?media=robotsarduino:
sous Mac installer_arduino_sur_un_mac.pdf
pour le moment

https://wiki.mdl29.net/lib/exe/fetch.
php?media=robotsarduino:
Installation d'Arduino Installation orientée
installation_arduino_linux.
sous Gnu/Linux pdfphp?media=robotsarduino:
Raspberry
installation_arduino_linux.pdf

Retrouvez cette annexe sur :


https://frama.link/installationArduino

33
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 1/11

Magician Chassis

Le fichier en ligne : https://wiki.mdl29.net/doku.php?id=projets:robotarduino#montage_du_chassis

Introduction
Le Magician chassis est une plateforme robotique facile à assembler soi-même. Il
propose un support 6 piles AA pour l’alimentation. Une fois le châssis monté, on peut
l’équiper de capteurs ou d’actionneurs pour en faire un véritable robot intelligent et
autonome.

Contenu
• 2 plaques en acrylique de 3mm découpées au laser
• 2 moteurs DC 6V double axe
• 2 roues complètes
• 1 roue à bille
• 1 support de 6 piles AA
• 1 support ultrason
• 1 ensemble de quincaillerie, vis et écrous
• 1 ensemble de fil de câblage

34
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 2/11

Liste des composants pour la première partie du robot :

1 1ère étape
Positionnez les quatre supports des moteurs à leur emplacement respectif. Ils seront
ensuite fixés sur le châssis une fois les moteurs positionnés et vissés.

35
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 3/11

2 2ème étape (optionnel)


Retourner le châssis. Assemblez le « speed board holder » sur l’axe de rotation de la
roue de chaque moteur. Il ne faut pas les enfoncer entièrement pour pouvoir ensuite
les positionner correctement et éviter qu’elles frottent contre le châssis. Cette pièce
vous permettra à l’aide d’un capteur additionnel de mesurer la vitesse de rotation du
moteur.

36
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 4/11

3 3ème étape
Une fois le moteur positionné sur le châssis entre les deux supports, on peut visser
l’ensemble avec les vis M3*30, deux vis par support. Attention, les vis peuvent être un
peu difficiles à insérer. Les animateurs peuvent donc aider les enfants pour visser les
moteurs. Les deux vis de bas sont optionnelles.

Vue de l'autre côté

37
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 5/11

4 4ème étape
Ajoutez les deux roues de chaque côté des moteurs, sur les axes de rotation. De
même, évitez de les emboîter entièrement pour ne pas qu’elles frottent contre le
châssis.

5 5ème étape

On vient à présent fixer la roue à bille sur le châssis. Comme indiqué sur la notice
du montage, on vient placer la roue sur deux entretoises (L25 spacers) et on visse
l’ensemble avec quatre petites vis (M3*6 screws).

38
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 6/11

Vue de l'autre côté

6 6ème étape

Pour pouvoir ensuite fixer la partie supérieure du châssis, on ajoute 5 entretoises (L25
spacers) sur notre montage. On vient visser ses entretoises avec les vis M3*6 aux
emplacements indiqués par des points rouges sur la photo ci-dessus. Pour les deux du
haut, il faut bien les visser sur la « base » du T pour pouvoir positionner correctement la
plaque supérieure du châssis dans l’étape suivante.

39
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 7/11

7 7ème étape

Fixer le contrôleur de moteur sur la partie haute du châssis en utilisant le support noir.

8 8ème étape

Visser la carte Arduino (montrer en jaune sur la photo). Vous aurez besoin de deux vis
à tête plate. Attention à ne pas cacher les trous pour les 7 vis (montrer en rouge sur la
photo) dont on aura besoin plus tard.

Une option plus pratique serait de fixer la carte avec du scotch double face.

40
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 8/11

9 9ème étape

On peut maintenant venir fixer la plaque supérieure du châssis sur les entretoises à l’aide
de cinq vis M3*6.

10 10ème étape

Enfin, vous pouvez coller ou visser le support de piles à la partie basse ou haute du
châssis. Nous vous conseillons la partie haute car c’est plus pratique pour changer les
piles.
Il peut être maintenu par deux vis à tête plate (M3*10). Il faut forcer un peu pour faire
rentrer les vis dans les trous déjà réalisés dans le support de piles. Sinon, l’utilisation du
scotch double face est bien plus pratique pour retirer le support lors du changement
des piles.

41
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 9/11

42
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 10/11

11 11ème étape

Passez les fils (2 violets et 2 noirs) des moteurs via les deux parties du châssis. Il faut qu’ils
soient près du contrôleur de moteurs.

12 12ème étape

Deuxième partie : montage de la tête du robot.


Pour cet étape vous avez besoin de 4 vis M3*6 et 2 entretoises.
Fixez d’abord les deux vis avec les deux entretoises sur l’avant du châssis. Conseil : ne
vissez pas trop fort pour que vous puissiez bouger les entretoises afin de fixer le support
de la tête.

43
SÉANCE 1

MONTAGE CHASSIS ANNEXE 3 11/11

Ajoutez ensuite, le support de la tête est fixez-le en utilisant les deux vis restantes.

Pour finir, vissez le capteur de distance, en utilisant deux vis M3*30 et deux écrous.
Conseil : vous pouvez faire cet étape après la séance 3 « câblage » de ROSA.

Et voilà, vous avez réussi !


ROSA est prête !

Retrouvez cette annexe sur :


https://frama.link/montagechassis

44
SÉANCES 1, 6

LES DIFFÉRENTS TYPES DE ROBOTS ANNEXE 4 1/2

Les différents types de robots

Robot Mêkhano centré :


Robots industriels pour manipulation de pièces ou travail spécifique sur une chaîne de fabrication.

​ Robot Tripod

Robot Anthropocentré - Humanoïde :


Un ​robot humanoïde​ ou androïde est un robot dont l'apparence générale rappelle celle d'un corps
humain. Généralement, les robots humanoïdes ont un torse avec une tête, deux bras et deux jambes,
bien que certains modèles ne représentent qu'une partie du corps, par exemple à partir de la taille.
Certains robots humanoïdes peuvent avoir un « visage », avec des « yeux » et une « bouche ».

Robot NAO ​ ​Robot Poppy

​ obot Atlas de Boston Dynamics


R

45
SÉANCES 1, 6

LES DIFFÉRENTS TYPES DE ROBOTS ANNEXE 4 2/2

Robot zoo ou bio centré :


Robot qui ont des formes des animaux.

Robot de Boston Dynamics​ ​Robot Snake

Quelques robots faits avec une carte Arduino :

Image récupérée sur Image récupérée sur Image recupérée sur

http://duino4projects.com/ https://seriousrobotics.files.w http://cdn.instructables.com/


ordpress.co​m

46
SÉANCE 1

VIDÉOS SUR LA ROBOTIQUE ANNEXE 5

Nous vous proposons une liste de vidéos qui montrent les différents robots déjà
existant et/ou de différentes situations où l'existence d’un robot peut apporter
des choses supplémentaires à l’activité humaine.

Ces vidéos peuvent être utilisées pour emmener une réflexion sur :
• la place que les robots occupent dans notre société
• la place que les robots occuperont dans le futur proche
• l’utilité des robots dans les différents domaines etc.

Titre Description Lien


DEEPSEA CHALLENGE 3D Trailer La conception du “DEEPSEA https://youtu.be/-8r_-79SjpA
CHALLENGER”, une machine faite
pour aller au point le plus profond http://www.deepseachallenge.com/
dans l’océan.

Atlas, The Next Generation Boston Dynamics présente Atlas, https://www.youtube.com/


une nouvelle génération de robot watch?v=rVlhMGQgDkY
humanoïde. Atlas est alimenté
par une batterie. Il utilise plusieurs
capteurs dans son corps et ses
jambes pour rester en équilibre. Il
a des capteurs stéréo dans sa tête
pour éviter les obstacles et l'aider à
manipuler les objets. Cette version
d'Atlas fait 1m75 et pèse 82 kg.

Introducing Spot La société Boston Dynamics présente https://www.youtube.com/


son nouveau robot chien qui watch?v=M8YjvHYbZ9w
s’appelle Spot. Spot pèse 73 kilos, il
est alimenté de manière électrique http://www.clubic.com/mag/trendy/
et peut courir librement grâce à actualite-753657-spot-robot-chien-
un moteur embarqué. Ce robot boston-dynamics.html
possède des capteurs au niveau
de la tête, lui permettant de se
déplacer aisément dans un terrain
difficile d’accès.

Festo Tripod EXPT - the parallel Tripod est un manipulateur robotisé https://www.youtube.com/
kinematic robots haute vitesse pour une liberté de watch?v=aH_t_1-
mouvement dans l'espace.
Précision et réponse dynamique
élevée jusqu'à 150 prélèvements/
min.

Presentation of UR3 : Les bras robotiques d'Universal https://www.youtube.com/


The world’s most flexible, Robots sont faits pour être intégrés watch?v=NGlTRErHkPstl40
dans les environnements de
light-weight table-top robot
production existants. Avec six http://www.universal-robots.com/fr/
points d'articulation, et une grande
amplitude de mouvement, ils sont
conçus pour imiter la diversité de
mouvements du bras humain.

47
SÉANCE 1

LES ROBOTS ANNEXE 6 1/6

Les  robots  
Parmi   les   objets   qui   embarquent   des   ordinateurs,   les   «   robots   »   ont   une   importance  
scientifique,   sociétale   et   économique   grandissante.   Les   robots   sont   partout   :   dans   les  
usines   et   dans   les   champs,   au   fond   des   mers   et   dans   l’espace,   dans   les   jardins   et   les  
salons.   En   outre,   ils   ont   pénétré   notre   culture   et   certains   d’entre   eux   participent   au  
renouvellement  de  la  vision  que  nous  avons  de  nous-­‐‑mêmes.  

Quelques   exemples   de   robots.   De   gauche   à   droite   et   de   bas   en   haut:   bras   mécaniques   utilisés   dans   l’industrie   automobile   ;  
robot   humanoïde   dédié   à   la   reconnaissance   et   à   la   reproduction   des   émotions;   robot   explorateur   sur   Mars   ;  
robot  militaire  destiné  à  transporter  des  charges  lourdes  sur  des  terrains  accidentés.  

D’un  point  de  vue  technique,  un  robot  est  une  machine  doté e  de  capteurs  (de  contact,  de  
distance,  de  couleur,  de  force,  …)  qui  lui  permettent  de  percevoir  son  environnement,  de  

Extrait  de  "1,  2,  3...  codez  !",  Editions  Le  Pommier,  2016.  Publié  sous  licence  CC  by-­nc-­nd  3.0.  

48
SÉANCE 1

LES ROBOTS ANNEXE 6 2/6

moteurs   l’autorisant   à   bouger   et   à   agir   sur   cet   environnement,   et   d’un   systè me   qui  
contrôle   ce   qu’effectue   le   robot   en   fonction   de   ce   qu’il   perçoit.   Une   caractéristique  
fondamentale   des   robots,   qui   les   distingue   des   automates,   est   cette   rétroaction   entre  
perception  et  action.  Les  automates  (tels  que  ceux  de  Jacques  de  Vaucanson  ou  de  Pierre  
et   Henri-­‐‑Louis   Jaquet-­‐‑Droz   au   XVIIIe   siècle)   ne   sont   pas   des   robots   car   leurs  
mouvements  ne  dépendent  pas  de  ce  qui  se  passe  autour  d’eux  :  ils  n’ont  pas  de  capteurs  
et  leurs  enchainements  sont  entièrement  prédéterminés  par  le  programme.  

 
En  pratique,  cette  définition  d’un  robot  recouvre  une  très  vaste  diversité  de  machines  :  
les   bras   articulés   programmables   des   usines   automobiles,   les   voitures   (en   mode  
d’assistance  à  la  conduite)  et  les  avions  qui  sont  aujourd’hui  largement  automatisés,  les  
aspirateurs  qui  font  le  ménage  tout  seuls,  certains  objets  électroniques  des  magasins  de  
jouets,   ou   les   robots   biomimétiques   en   forme   d’animaux   (singes,   poissons…)   que   l’on  
rencontre   parfois   dans   les   laboratoires   de   recherche.  
 
Cette   diversité   n’est   pas   seulement   une   diversité   de   formes,   c’est   aussi   une   diversité  
d’usages,  qui  sous-­‐‑tendent  une  diversité  de  logiques  de  fonctionnement.  Ainsi,  les  robots  
se   spécialisent   selon   deux   axes   majeurs   :   l’autonomie   et   les   capacités   d’adaptation   et/ou  
d’apprentissage.  

L’autonomie  :  il  existe  des  robots  qui  agissent  sans  qu’un  humain  les  guide,  et  d’autres  
dont   le   comportement   est,   soit   influencé   par   un   humain,   soit   presque   totalement  
contrô lé   par   un   humain.   Par   exemple,   dans   une   usine,   les   robots   qui   travaillent   à   la  
chaine   et   ré pè tent   toujours   le   mê me   geste   le   font   souvent   de   maniè re   autonome.   En  
revanche,  les  robots  utilisé s  dans  les  centrales  nuclé aires  (pour  opé rer  dans  les  zones  à  
forte  radiation)  sont  typiquement  té lé guidé s  par  un  humain  qui  leur  dit  où  aller  et  quoi  
faire  après  chaque  action.  

L’adaptation  et  l’apprentissage  :  le  comportement  de  certains  robots  est  figé  au  départ  
et   une   fois   pour   toutes   par   le   programmeur,   alors   que   d’autres   robots   sont   capables  
d’acquérir   de   nouveaux   comportements   et   de   nouvelles   connaissances   par   leurs  
expériences   :   leur   comportement   évolue   en   fonction   de   l’histoire   de   leurs   interactions  
avec   l’environnement.   Ainsi,   certains   robots   sont   capables   d’apprendre   à   reconnaître  
des   objets   dans   des   images   ou   encore   d’apprendre   à   marcher   en   expérimentant   et  
évaluant   eux-­‐‑mêmes   différentes   stratégies.   Ces   mécanismes   d’adaptation   sont   permis  
par   des   «   algorithmes   d’apprentissage   »,   qui   reposent   sur   la   détection   automatique   de  
régularités   dans   des   flux   de   données   captées   par   le   robot,   et   sur   des   méthodes   d’   «  
optimisation  »  permettant  de  raffiner  de  manière  progressive  et  itérative  les  paramètres  
des  solutions  à  un  problème.  

Extrait  de  "1,  2,  3...  codez  !",  Editions  Le  Pommier,  2016.  Publié  sous  licence  CC  by-­nc-­nd  3.0.  

49
SÉANCE 1

LES ROBOTS ANNEXE 6 3/6

 
Exemple   de   processus   itératif   permettant   à   des   «   générations   »   de   robot   d’apprendre   à   réaliser   une   tâche   par   eux-­‐‑mêmes  
(par  exemple,  se  déplacer).  

Grâce   à   ces   algorithmes   d’apprentissage,   certains   robots   sont   capables   d’inventer   des  
solutions   et   des   comportements   non   prédits   par   leur   concepteur,   et   même   de  
sélectionner   pour   eux-­‐‑mêmes   des   objectifs   qui   ne   sont   pas   préprogrammés.   Il   est   par  
exemple   possible   de   programmer   un   robot   en   lui   donnant   des   instructions   lui  
demandant   de   rechercher   des   situations   nouvelles   afin   d’augmenter   ses   connaissances  
sur  le  monde  qui  l’entoure.  Ainsi,  certains  algorithmes  permettent  de  doter  ces  machines  
de  formes  d’apprentissage  et  de  créativité.  Néanmoins,  les  capacités  et  les  performances  
de  ces  algorithmes  sont  aujourd’hui,  et  encore  pour  très  longtemps  probablement,  très  
faibles   en   comparaison   des   capacités   d’adaptation   et   de   raisonnement   de   nombreux  
animaux,  et  en  particulier  de  l’humain.  

Comme   nous   l’avons   vu,   ces   différentes   logiques   de   fonctionnement   répondent   à  


différents  besoins  :  il  existe  en  effet  une  grande  variété  de  raisons,  et  donc  de  fonctions,  
pour   lesquelles   les   robots   sont   construits   et   utilisés.   On   peut   en   particulier   considérer  
trois   familles   de   fonctions   :  travailler   et   explorer,   assister   l’humain,   modéliser   les  
mécanismes  cognitifs  et  comportementaux  du  vivant.  

Travailler  et  explorer.  

La   plupart   des   robots   en   service   dans   le   monde   sont   industriels   (on   en   compte  
aujourd’hui   environ   9   millions).   Trè s   tô t,   les   entreprises   se   sont   inté ressé es   à   ces  
machines  pour  deux  raisons  :  

•   D’abord,  les  robots  peuvent  être  utilisés  pour  remplacer  les  travailleurs  humains  
dans   les   tâches   répétitives,   pénibles   et   nécessitant   de   faibles   compétences,  
comme  les  montages,  la  peinture  ou  les  soudures  de  pièces  ;  

Extrait  de  "1,  2,  3...  codez  !",  Editions  Le  Pommier,  2016.  Publié  sous  licence  CC  by-­nc-­nd  3.0.  

50
SÉANCE 1

LES ROBOTS ANNEXE 6 4/6

•   En  outre,  ces  machines  sont  capables  de  ré aliser  des  travaux  à  la  chaine  bien  plus  
rapidement  et  efficacement  que  les  humains.  

Le   premier   robot   industriel,  Unimate,   est   apparu   en   1961   :   installé   dans   une   usine  
automobile  de  General  Motors,  ce  bras  articulé  manipulait  de  lourdes  pièces  de  fonderie.  
Dans  les  années  1970,  l’usage  des  robots  dans  l’industrie  a  pris  son  envol.     Aujourd’hui,  
les  robots  ont  pénétré  toutes  les  branches  de  l’industrie  et  ne  sont  plus  restreints  au  seul  
secteur  de  l’automobile.  Par  exemple,  dans  l’agriculture  et  l’agro-­‐‑alimentaire,  les  robots  
vont   dans   les   champs   cueillir   fruits   et   légumes,   certains   coupent,   pressent   et   mettent   en  
bouteille   ;   d’autres   trient   et   mettent   en   cartons   ;   d’autres   encore   groupent   en   palettes.  
Dans  certains  aéroports,  des  flottes  de  robots  s’occupent  de  transporter  les  bagages  et  
de   les   charger   dans   les   soutes.  
 
Les   robots   ne   sont   pas   seulement   utiles   dans   l’industrie   pour   les   tâches   simples   et  
répétitives,   ils   sont   aussi   utilisés   pour   travailler   dans   des   environnements   dangereux  
pour   l’homme.   L’industrie   nucléaire   est   un   exemple   typique.   Qu’ils   soient   autonomes   ou  
partiellement  téléguidés,  les  robots  des  centrales  nucléaires  peuvent  déambuler  dans  les  
enceintes  confinées  et  radioactives,  ils  peuvent  manipuler  les  substances  dangereuses  et  
s’occuper   de   la   maintenance   des   autres   machines.   Un   autre   exemple   est   l’industrie  
pétrolière  :  les  robots  sous-­‐‑marins  sont  par  exemple  utilisés  pour  contrôler  l’état  de  la  
coque  des  navires  afin  de  prévenir  les  accidents  et  d’identifier  les  «  navires  poubelles  ».  
Les  robots  sont  enfin  cruciaux  pour  l’exploration  des  endroits  où  l’homme  ne  peut  pas  
aller,   au   premier   rang   desquels   l’espace   et   les   corps   du   Système   solaire.   C’est   en   1966  
que   le   premier   robot   mobile   arrive   sur   la   Lune,   embarqué   dans   la   sonde  Surveyor.  
Suivront   le   soviétique  Lunokhod,   puis   toute   la   série   des   américains  Mariner.   En   1997,   un  
robot   atterrit   sur   la   planète   Mars   :  Sojourner,   qui   est   propulsé   par   l’é nergie   qu’il   capte  
grâ ce  à  ses  panneaux  solaires  ;  il  envoie  à  la  Terre  des  milliers  de  cliché s  et  provoque  un  
engouement   du   grand   public.   Sojourner   navigue   en   partie   de   manière   autonome   car,  
étant  donné  la  distance  avec  la  Terre,  il  est  très  difficile  de  le  téléguider  en  temps  réel.  En  
2004,   une   nouvelle   mission   robotisée   concentre   l’attention   du   monde   entier  
:  Spirit  et  Opportunity,   équipés   de   spectromètres   et   d’un   bras   qui   leur   permet   de   creuser  
la  surface,  apportent  la  preuve  que  de  l’eau  a  coulé  sur  Mars.  

   

Extrait  de  "1,  2,  3...  codez  !",  Editions  Le  Pommier,  2016.  Publié  sous  licence  CC  by-­nc-­nd  3.0.  

51
SÉANCE 1

LES ROBOTS ANNEXE 6 5/6

Assister  l’humain  dans  son  quotidien.  

   

Si  le  XXe  siè cle  a  vu  l’avè nement  des  robots  


travailleurs  et  explorateurs,  à  l’aube  du  XXIe  
siècle,   une   autre   grande   famille   de   robots  
prend  son  essor  :  les  robots  d’assistance  à  la  
personne.   Dans   nos   maisons,   les   robots  
d’assistance   aux   travaux   ménagers   se  
démocratisent.   On   retrouve   aussi   des  
assistants   robotisés   dans   les   magasins   ou  
sur   nos   lieux   de   travail.   L’activité   médicale  
est   particulièrement   transformée   par   la  
robotique   :   si   les   robots   d’assistance  
chirurgicale   sont   quotidiennement   utilisés  
depuis   une   quinzaine   d’années,   on   voit  
émerger   aujourd’hui   de   nouveaux   usages.  
Ainsi,   des   robots   accompagnent   les  
personnes   qui   ont   des   difficultés   physiques  
ou   cognitives,   par   exemple   pour   les   aider   à  
se   lever   et   s’asseoir,   pour   les   stimuler  
cognitivement   quand   ils   ont   des   problèmes  
de   mémoire,   ou   pour   jouer   le   rôle   de  
facilitateur   des   contacts   avec   la   famille   ou  
l’entourage   médical.   Demain,   des    
chercheurs   introduiront   d’autres   robots,        Prothèse  robotisée.  ©BeBionic  
beaucoup   plus   petits,   dans   les   blocs  
opératoires   :   ce   sont   des   capsules  
endoscopiques   miniaturisées   capables  
d’explorer   conduits   intestinaux,   artères   ou  
veines   pour   aider   le   chirurgien   dans   son  
diagnostic.   Apparaissent   aussi   depuis  
quelques   années   des   prothèses   robotisées  
de   mains   ou   de   bras   entiers   destinées   aux  
amputés.  

   

Modéliser  le  vivant  et  la  cognition.  

Les   robots   sont   devenus   essentiels   comme   outils   pour   penser   et   modéliser   les   systèmes  
complexes   dans   le   domaine   du   vivant.   En   particulier,   les   robots   sont   aujourd’hui   utilisés  
dans   des   laboratoires   de   recherche   pour   comprendre   comment   les   êtres   vivants  
s’adaptent  à  leur  environnement  naturel,  en  termes  de  comportement  et  de  déploiement  
de   capacités   cognitives.   En   effet,   ce   comportement   est   le   résultat   de   la   dynamique   des  
interactions  entre  un  cerveau,  un  corps  physique  et  un  environnement,  dynamique  qui  
se  redé finit  en  permanence  car  le  cerveau  est  modifié  à  chaque  nouvelle  interaction.    Les  
robots  embarquent  à  la  fois  un  «  cerveau  »  (des  programmes  qui  permettent  de  traiter  

Extrait  de  "1,  2,  3...  codez  !",  Editions  Le  Pommier,  2016.  Publié  sous  licence  CC  by-­nc-­nd  3.0.  

52
SÉANCE 1

LES ROBOTS ANNEXE 6 6/6

l’information  acquise  par  le  robot,  selon  des  règles  précises),  des  «  organes  sensoriels  »  
(les   senseurs)   et   des   «   systèmes   moteurs   »   (les   actuateurs).   De   cette   manière,   les   robots  
peuvent,   comme   les   êtres   vivants,   modifier   et   être   modifiés   par   l’environnement  
physique   dans   lequel   ils   agissent.   Leur   «   cerveau   »   aussi   en   est   modifié,   car   le   robot  
acquiert   de   nouvelles   connaissances   qu’il   peut   réutiliser   dans   ses   interactions  
successives.  

Les   chercheurs   peuvent   étudier     la   complexité   de   l’interaction  


cerveau-­‐‑corps-­‐‑environnement,   grâce   à   des   expérimentations    
possibles  sur  des  robots  et    impossibles  sur  des  êtres  vivants   –  
comme   par   exemple   «  éteindre   »   une   partie   de   leur   cerveau  
artificiel   pour   voir   comment   le   comportement   est   modifié   ou  
altérer   des   parties   du   corps.   Certains   laboratoires   étudient  
 
ainsi     le   contrôle   moteur,   la   perception   visuelle,   le   repérage  
dans   l’espace,   ou   encore   les   mécanismes   de   l’apprentissage   et  
de   l’évolution   de   la   parole   et   du   langage   chez   l’humain.   Dans   le  
cadre  de  ces  projets,  les  interactions  avec  les  neurosciences,  la  
biologie,   la   psychologie   ou   encore   l’éthologie   jouent   un   rôle  
central.  
 

Le   robot   humanoïde   Poppy   est  


«  open   source  ».   Il   est   développé   par  
l’Inria    à  la  fois  pour  des  recherches  
sur   la   cognition   et   pour   des   projets  
éducatifs.   Plus   de   détails   sur:  
https://www.poppy-­‐‑project.org  

Extrait  de  "1,  2,  3...  codez  !",  Editions  Le  Pommier,  2016.  Publié  sous  licence  CC  by-­nc-­nd  3.0.  

53
SÉANCE 2

DIDACTICIEL SUR LE MONTAGE DU CHASSIS ANNEXE 7

Montage du chassis
Le Magician chassis est une plateforme robotique facile à assembler soi-même. Il
fonctionne grâce à deux moto-réducteurs à courant continu. Il propose un support 4
piles AA pour l’alimentation mais il est conseillé d'utiliser un support 6 piles. Une fois le
châssis monté, on peut l’équiper de capteurs ou d’actionneurs pour en faire un véritable
robot intelligent et autonome.

Les 2 roues à disque permettent d'y connecter des encodeurs. Montage facultatif.

Notices Fichiers

Notice d'assemblage du https://wiki.mdl29.net/lib/exe/fetch.


châssis en français php?media=robotsarduino:montage_chassis_v2.pdf

Notice de montage du https://wiki.mdl29.net/lib/exe/fetch.


châssis en anglais php?media=robotsarduino:magicianchassisinst.pdf

Lecture de la vidéo
Montage complet du http://rosa.lph.bzh/montage.html
robot Télécharger la vidéo
http://rosa.lph.bzh/videos/montage_robot.zip

Si vous avez des problèmes pour fixer la carte Arduino sur le châssis, je vous conseille de
le faire avec du scotch double face.

Retrouvez cette annexe sur :


https://frama.link/montageChassis

54
SÉANCE 2

CAPTEURS / MOTEURS ANNEXE 8

Quelques informations sur la partie mécanique/électronique de


ROSA

Les capteurs
Un capteur est un dispositif qui transforme l’état d’une grandeur physique observée (comme la
température, ​la distance​, la luminosité, le débit, le niveau, la pression, le son) en une mesure
utilisable. Il permet donc d’acquérir des données, des nombres, comme une amplitude de courant
ou de tension, une hauteur de mercure pour un thermomètre, ou encore une distance de
déviation d’une bulle pour un niveau. Tout capteur doit être associé à un contrôleur pour pouvoir
donner une information manipulable : par exemple dans le cas d’un capteur de distance à
infrarouges, le capteur envoie un faisceau infrarouge, et détecte la réflexion de ce faisceau par un
objet. Il faut alors qu’un petit contrôleur calcule le temps qu’a mis le faisceau à être réfléchi pour
pouvoir déterminer la distance à laquelle se trouve l’objet.

Le capteur que nous utilisons pour ROSA c’est un capteur de distance, autrement dit un capteur
Ultrason.

Les actionneurs
Un actuateur, ou actionneur, est un dispositif d’une machine (​moteur​, vérin, speaker, lampe, etc.)
qui permet à une machine de transformer l’énergie qui lui est fournie en un phénomène physique
utilisable. Un actionneur exécute les ordres qui lui sont envoyés par la partie commande de la
machine.

ROSA utilise deux moteurs, deux roues à vitesse variable qui lui permettent d’avancer, de reculer
et de tourner.

Il s’agit ici de faire comprendre aux enfants que chez les robots rien n’est naturel, et qu’ ils ont
besoin d’un petit outil pour sentir chacune de ces choses. Par exemple s’ils n’ont pas de capteurs de
distance, ils ne peuvent pas voir !

Qui sert à ROSA de cerveau ?


Comment fait-elle pour réfléchir, pour réagir ? Tout cela est géré par son programme. Vous pouvez
ici introduire la notion de programme sans trop la détailler, car les enfants la comprendront en
manipulant lors des activités suivantes.

55
SÉANCE 2

TRANSFORMATION DES MOUVEMENTS ANNEXE 9

La  transformation  des  mouvements  –  Robotique  


La  transformation  des  mouvements  –  Robotique  
Translation  
La   transformation  des  mouvements  –  Robotique  
 Translation  
Une  translation  est  une  transformation  géométrique  qui  correspond  à  l'idée  intuitive  de  
Translation  
 Ugne  
«   translation  
lissement   est  oubjet,  
»  d'un   ne  transformation  
sans  rotation,  gretournement  
éométrique  qui   ni  cdorrespond  
éformation   à  dl'idée  
e  cet  iontuitive  
bjet.   de  
«   g lissement   »   d 'un   o bjet,   s ans   r otation,   r etournement  
 Une  translation  est  une  transformation  géométrique  qui  correspond  à  l'idée  intuitive   n i   d éformation   d e   c et   o bjet.   de  
Rotation  
«   glissement  »  d'un  objet,  sans  rotation,  retournement  ni  déformation  de  cet  objet.  
Rotation  
La   rotation  (du  latin  rotare  :  «  tourner  »)  est  le  mouvement  d'un  corps  autour  d'un  point  ou  d'un  axe.  
Rotation  
La  rrotation  
La   otation  d(du   ’un  latin   rotare  
moteur   :  «  tourner  
caractérise   de  »m)  eouvements  
st  le  mouvement   circulaires.   d'un  corps  autour  d'un  point  ou  d'un  axe.  
La  rrotation  
La   otation  (ddu   ’un   moteur  
latin   rotare   caractérise  
:  «  tourner   de  »m)  eouvements  
st  le  mouvement   circulaires.   d'un  corps  autour  d'un  point  ou  d'un  axe.  
Les   t ransformations   d e   m ouvements  
La  rotation  d’un  moteur  caractérise  de  mouvements  circulaires.   q ui   n ous   i ntéressent   e n   robotique,  sont  des  systèmes  qui  
Les   t ransformations   d e   m ouvements   q ui  
utilisent  la  rotation  d’un  moteur  électrique  (l’axe  du  moteur  tourne)   n ous   i ntéressent   e n   robotique,   pour   sont   des  suystèmes  
réaliser   qui   de  
n  mouvement  
utilisent  
Les   l a   r
transformations  
translation   otation   d
(gauche  àd  e   ’un   m oteur  
mouvements  
droite,   é lectrique  
haut  en  b qas,   (
ui  naous   l’axe  
vant   d u  
intéressent   m oteur  
en  arrière).   en     robotique,  sont  des  systèmes  qui   de  
t ourne)   p our   r éaliser   u n   m ouvement  
translation  
utilisent   la  r(otation  
gauche  dà’un    droite,   haut  
moteur   en  bas,  avant  
électrique   (l’axe   en  
du  arrière).  
moteur     tourne)  pour  réaliser  un  mouvement  de  
La   r oue    
translation  (gauche  à  droite,  haut  en  bas,  avant  en  arrière).    
La  système  
Le   roue     le  plus  connu  est  la  roue.  Si  on  colle  une  roue  à  l’axe  du  moteur,  la  roue  tourne  et  fait  
La  
Le  srystème  
avancer   oue  
ou     rle   plus  cuonnu  
eculer   est  la  rLoue.  
n  véhicule.   Si  on  d
e  moteur   colle  
oit  êutre  
ne  crollé  
oue  aàu  
 l’axe   du  m
châssis   du   oteur,  
véhicule.   la  roue  
  tourne  et  fait  
avancer  
Le   ou  lre  
système   eculer  
plus  cuonnu   n  véhicule.  
est  la  rLoue.  
e  moteur  
Si  on  cdolle  
oit  êutre  
ne  croue  
ollé  aàu   châssis  
 l’axe   du  mdu   véhicule.  
oteur,     tourne  et  fait  
la  roue  
Voici   u ne   r oue   v ue   d e   c ôté.   L a   r oue   d éplace   l e   c hâssis  
avancer  ou  reculer  un  véhicule.  Le  moteur  doit  être  collé  au  châssis  du  véhicule.     s ur   u n   s ol   f ixe   :  
Voici  une  roue  vue  de  côté.  La  roue  déplace  le  châssis  sur  un  sol  fixe  :  
Voici  une  roue  vue  de  côté.  La  roue  déplace  le  châssis  sur  un  sol  fixe  :  

   
   
Vu  de  haut,  la  roue  est  collée  à  l’axe  du  moteur.    
   
Vu  de  haut,  la  roue  est  collée  à  l’axe  du  moteur.    
Vu  de  haut,  la  roue  est  collée  à  l’axe  du  moteur.    

 
 
Ce  système  est  utilisé  dans  les  voitures  et  les  trains.  Les  roues  tournent  et  font  avancer  le  véhicule  
 
Ce  slystème  
sur   a  route.  est  utilisé  dans  les  voitures  et  les  trains.  Les  roues  tournent  et  font  avancer  le  véhicule  
sur  slystème  
Ce   a  route.  est  utilisé  dans  les  voitures  et  les  trains.  Les  roues  tournent  et  font  avancer  le  véhicule  
 sur  la  route.  
 
 

56
SÉANCE 2

DÉPLACEMENT DU ROBOT ANNEXE 10

Déplacement du robot

Le robot peut :

•Avancer
•Reculer
•Tourner à droite
•Tourner à gauche
•Tourner sur place

Le tout plus ou moins rapidement, en changeant la vitesse des moteurs dans le code.

Retrouvez cette annexe sur :


https://frama.link/deplacementRosa

57
SÉANCES 2, 5

TEST DES MOTEURS AVEC UNE PILE ANNEXE 11

Test des moteurs avec une pile


Pour tester le sens des moteurs, il suffit d'utiliser pile AA ou 9v. L'inversion du sens de rota-
tion d'un moteur s'effectue en inversant la polarité de la pile.

Lecture de la vidéo
http://rosa.lph.bzh/test_moteurs.html

Télécharger la vidéo
http://rosa.lph.bzh/videos/test_moteurs.zip

Retrouvez cette annexe sur :


https://frama.link/testMoteurs

58
SÉANCES 3, 5

PRÉSENTATION ARDUINO ANNEXE 12

Présentation Arduino

Introduction

Si on considère qu’un robot est un dispositif mécatronique (mécanique, électronique & informatique) pouvant réaliser des tâches
programmées de manière autonome, alors il y a longtemps qu’ils sont parmi nous: lave-vaisselle, lave-linge, magnétoscope, sans même parler
des robots tondeuses ou aspirateurs! Ce qui les distingue des simples appareils électromécaniques (comme une ancienne machine à laver),
c’est leur gestion des tâches à l’aide d’un microcontrôleur. Il s’agit d’une sorte de petit ordinateur minimaliste et de faible puissance, mais
aussi de faible consommation. C’est lui qui commande les tâches en fonction de son environnement.

Dans le cas d’un lave-vaisselle moderne, il s’agit de commander de nombreuses actions (ouverture de vannes, pompes, chauffage de l’eau,
ouverture du réservoir de poudre…) selon divers programmes, et en fonction de différents capteurs (porte fermée, arrivée d’eau ouverte,
température de l’eau, débitmètre, choix du programme…) et de réagir en fonction de capteurs de pannes (pompe défectueuse, arrivée d’eau
fermée, capteur antidébordement…). L’ensemble du dispositif informatique et électronique commandant le lave-vaisselle est appelé système
embarqué.

Arduino est une famille de cartes contenant un microcontrôleur et de nombreux connecteurs (entrées/sorties) qui peuvent recevoir des
informations de capteurs et produire des signaux à même d’interagir avec des moteurs, des relais ou d’autres circuits électroniques.

Sa particularité est d’être entièrement Open Source, d’un faible prix et aisément programmable. Dès lors, Arduino est devenu une référence
dans le monde des bricoleurs et bidouilleurs de toutes sortes. Il suffit de voir la diversité des réalisations présentées ici pour s’en rendre
compte!

Arduino permet de faire une introduction à l’automation, à l’électronique, à la mécanique et à la programmation à moindre coût. Tout ceci
nous amène à penser qu’il a parfaitement sa place sur Edurobot et à l’école!

Présentation
Le projet Arduino est intéressant à plus d’un titre; à commencer par son origine: l’Italie du Nord. Le magazine en ligne OWNI a publié un bon
article sur l’origine et l’histoire d’Arduino; la lecture de cet article est vraiment recommandée, car elle permet d’aborder Arduino en
comprenant la philosophie qui a mené au projet actuel.

http://owni.fr/2011/12/16/arduino-naissance-mythe-bidouille/

Arduino est donc un projet Open Hardware, c’est-à-dire basé sur le principe Open Source. La partie matérielle est sous licence Creative
Commons Attribution Share-Alike (c’est la raison pour laquelle la section et les documents Arduino d’Edurobot possèdent la même licence).
La partie logicielle est sous licences GPL et LGPL.
Cela signifie que chacun peut construire son propre Arduino, mais que des entreprises peuvent aussi créer et vendre leurs propres modules
Arduino. Néanmoins seuls les modules « officiels » portent le nom d’Arduino. Dès lors, toute une série de modules compatibles Arduino est
commercialisée sous divers noms: Freeduino, Sanguino, Seeduino, Uduino, Diduino…
Arduino se programme à l’aide d’une application java open source. Le langage de programmation est du C++, soit l’un des langages les plus
populaires.

Pourquoi Arduino à l’école?


Première constatation: en général, la programmation et l’électronique ne font pas partie de nos plans d’études. Mais pris ensemble et pas
séparément, la partie logicielle et matérielle sont non seulement des outils d’apprentissage, mais aussi de création. L’Arduino prend alors part
à un projet créatif bien plus ambitieux et parfaitement compatible avec les plans d’études.
Or, apprendre aux élèves à programmer sur Arduino, c’est leur donner non seulement la clé d’accès aux ordinateurs, mais aussi aux
objets qui les entourent.
Les élèves vont acquérir de multiples compétences, par exemple:
•   la programmation
•   les circuits électriques
•   les bases de l’électronique
•   l’automation
Travailler avec un Arduino en périscolaires et extrascolaires est donc une activité riche, en particulier pour transformer les jeunes en citoyens
responsables, créatifs et acteurs du numérique.
Arduino est surtout une plateforme d’expérimentation et de recherche. En cela, elle est idéale pour découvrir le monde et le fonctionnement
de bien des appareils.

                   
Licence  d’utilisation  
Ce site et son contenu sont à disposition selon les termes de la Licence Creative
Commons Attribution - Pas d'Utilisation Commerciale 2.5 Suisse  
                                                                             
 

59
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 1/8

Présentation Arduino

Découverte de la carte Arduino

Sommaire





60
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 2/8

Pour quoi faire ?

Températures Moteurs

Humidité Servosmoteurs

Pression Electrovannes

Présence Pompes
Carte
Distance Arduino Vérins

Position Résistances chauffantes

Luminosité Eclairages

... ...

Pour qui?



➢ œ


61
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 3/8

C’est quoi?


➢ …



Diverses Cartes Arduino

Nano : 1,85 x 4,32 cm

Uno : 5,33 x 6,86 cm

Esplora : 6,1 x 16,51 cm Lilypad : Ø 5 cm


Mega : 5,33 x 10,16 cm

62
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 4/8

Divers Shields Arduino

Ethernet WIFI
GSM

LCD Commande moteurs


Relais

Carte Arduino + Shields

63
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 5/8

C’est quoi?

En quoi cela consiste?

Auteur : Baptiste Gaultier

64
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 6/8

Quel langage de programmation ?







Setup

Loop

Programmation avec Arduino

int LED = 12 ;

void setup() {
pinMode(LED, OUTPUT) ;
} 01011101100
void loop() {
digitalWrite(LED, LOW) ;
delay(500) ;
digitalWrite(LED, HIGH) ;
USB
delay(500) ;
}

PC

65
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 7/8

D’autres outils de programmation

➢ Ardublock (programmation en mode graphique)


➢ C'est un outil qui se greffe au logiciel Arduino. Il suffit de créer des


blocs et de les paramétrer. Ce logiciel est vraiment un outil de qualité
pour démarrer facilement sur Arduino, sans connaissances en
programmation.

D’autres outils de programmation


➢ Scratch pour Arduino (programmation en mode
graphique)

➢ Permet de piloter un Arduino à partir du code SCRATCH et de ce


fait rend accessible à tout public la programmation d’un robot à
partir d’un environnement aussi ludique, visuel etb intuitif que
celui de SCRATCH.

66
SÉANCE 3

PRÉSENTATION ARDUINO ANNEXE 13 8/8

Arduino : faut-il des


connaissances en électronique ?



67
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 1/14

 
 
   
 

Vous  avez  dit  Arduino  !  UNO  


   

 
1  -­‐  La  carte  Arduino  
 
«   Arduino   »   est   une   famille   de   cartes   (circuits   imprimés)   en   «   open   hardware   »   sur   lequel   on   retrouve   un  
microcontrôleur   qui   peut   être   programmé   pour   réaliser   différentes   opérations   ainsi   que   de   nombreux  
connecteurs  (entrées/sorties)  qui  permettent  d’ajouter  des  composants  à  la  carte.  
 
  Cette  carte  électronique  «  Arduino  »  programmable  et  son  logiciel  multiplateforme  ont  été  imaginés  et  développés    
 

par  Massimo  Banzi,  David  Cuartielles,  Tom  Igoe,  Gianluca  Martino,  David  Mellis  et  Nicholas  Zambetti  en  2006  afin  
d’offrir  au  plus  grand  nombre  la  possibilité  de  créer  facilement  des  systèmes  électroniques.  
   

 
                     Carte  Arduino  de  type  UNO   o   USB  Plug  :  Port  USB  pour  discuter  avec  l’ordinateur.  
o    
o   External   Power   Supply   :   Entrée   pour   une   alimentation  
autre  que  USB  (une  batterie  par  exemple)  
o    
o   Atmega328  :  Microcontrôleur  de  la  carte,  c’est  le  cerveau  
de  la  carte  qui  stock  le  programme  et  l’exécute.  
o    
o   Les  Pins  :  Deux  types  de  pins,  analogique  et  numérique  
(*)   permettant   de   brancher   tous   les   éléments   externes  
en  entrées/sorties.  
o    
o   Reset   Button   :   Permet   de   réinitialiser   (relancer)   le  
programme.  

  GND  :  Masse  (partie  conductrice  d’un  matériel  électrique)  ou  «  -­‐  »  


 
(*)    Les  entrée/sortie  sur  la  carte  numérotées  de  0  à  13  sont  Numériques  (Digital  en  anglais)  et  celles  numérotées  
de  A0  à  A5  sont  Analogiques.  
Connecteurs  numériques  :  destinés  aux  composants  ayant  2  positions.  Un  interrupteur  par  ex.  sera  ouvert  ou  
fermé.  La  carte  lira  la  valeur  0  ou  1.  Ou  encore  une  LED  sera  allumée  ou  éteinte,  il  n’y  a  pas  de  position  milieu.  
Connecteurs   analogiques   :   destinés   à   des   capteurs   comme   un   variateur.   Il   sera   possible   de   faire   varier   le  
signal  de  (0)  à  (1023).  Entre  les  deux  toutes  les  valeurs  peuvent  être  reçues  par  le  microcontrôleur.  
 
2  –  Ajout  de  composants  sur  la  carte  Arduino  
 
Chaque  composant  est  prévu  pour  fonctionner  dans  des  conditions  précises,  il  est  donc  important  de  connaître  
les  caractéristiques  des  composants  avant  de  les  ajouter  à  la  carte  Arduino.    
 
Exemple  d’une  LED  :  
Les  connecteurs  de  la  carte  Arduino  délivrent  5V   (cf.  annexe  16)   en  sortie,  or  généralement  une  LED  a  besoin  
d'environ  3V  pour  un  courant  de  5mA.  Si  on  branche  directement  une  LED  sur  la  carte,  elle  ne  va  pas  aimer  les  
5V  qui  lui  sont  fournis  et  va  chauffer  jusqu’à  cramer  si  elle  reste  allumée  trop  longtemps.  
C'est  pour  cela  qu’il  faut  ajouter  une  résistance  en  série  pour  que  la  LED  ait  ses  3V  /  5mA,  il  faut  une  résistance  
qui  encaisse  les  2V  de  trop.    R  =  U  /  I  =  2V  /  5mA  =  400  Ohm.  

    Le  montage  peut  se  réaliser  sur  une  Breadboard,  plaque  additionnelle  prévue  à  cet  effet.  
 

TEST   de   connexion   d’une   LED   sans   ajouter   de   résistance   :   Connecter   la   cathode  


(patte   la   plus   courte)   sur   un   connecteur   de   masse   GND   et   l’anode   (patte   la   plus  
longue)  sur  le  connecteur  3.3  Volt  Power  Pin,  puis  alimenter  la  carte.  
Puis  tester  en  connectant  l’anode  sur   le   connecteur   5   Volt   Power  Pin  c  l’intensité  
de  la  LED  est  plus  forte  et  elle  chauffe  (la  débrancher  avant  qu’elle  ne  crame).  
 
1  
 

68
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 2/14

 
 
Pour  les  curieux  :  La  carte  Arduino  a  un  régulateur  à  faible  chute  de  tension  qui  assure  la  conversion  entre  la  
tension   externe   (piles,   batterie)   et   les   5V   nécessaires   pour   la   carte.   La   tension   d’alimentation   externe  
recommandée  se  situe  entre  7  volts  et  12  volts.  
 
3  –  L’interface  du  logiciel  Arduino  

Après  l’installation  du  logiciel  (lien  de  téléchargement),  le  lancer  pour  rentrer  sur  l’interface  de  programmation  

 
Cette  interface  ressemble  à  un  éditeur  de  texte  simple,  il  permet  d’écrire  des  programmes  en  langage  C/C++  
simplifié,  de  les  tester  et  de  les  transférer  dans  le  microcontrôleur  de  la  carte  Arduino.  
 
Les  Boutons  du  menu  du  logiciel  Arduino  
 

Ce  bouton  permet  de  vérifier  le  programme.  Le  logiciel  Arduino  va  chercher  si  ce  qui  est  écrit  est  
conforme  à  ce  qui  est  attendu,  il  teste  et  compile  le  programme.  La  compilation  est  la  transformation  
  du  langage  (C/C++)  de  programmation  en  langage  machine  utilisé  par  la  carte.    
   

Ce  bouton  permet  de  téléverser  le  programme.  Le  logiciel  va  transférer  le  programme  compilé  dans  
la  mémoire  du  microcontrôleur  de  l'Arduino  qui  le  gardera  en  mémoire.  Il  l'exécutera  tant  qu'il  sera  
  alimenté  en  électricité.  Il  sera  donc  autonome  et  ne  dépendra  plus  de  l'ordinateur.  
   

Ce  bouton  permet  d’ouvrir  une  nouvelle  fenêtre.  L’interface  de  programmation  Arduino  permet  de  
travailler  sur  plusieurs  programmes  (fenêtres)  en  simultané.    
   
   

Ce  bouton  permet  d’ouvrir  un  programme  enregistré.  De  nombreux  exemples  de  programmes  sont  
proposés  par  Arduino  et  permettent  une  prise  en  main  rapide  ainsi  que  de  retrouver  les  syntaxes  
  correctes  des  mots  clés  les  plus  courants  du  langage  de  programmation.  
   

Ce  bouton  permet  d’enregistrer  votre  programme.  Les  fichiers  sont  stockés  dans  des  dossiers  créés  
automatiquement,  aussi  appelés  "Carnet  de  croquis".    
 

2  
 

69
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 3/14

 
 
4  –  La  programmation  
 
4.1  -­‐  La  structure  du  programme  
 

1   //  (déclarations  variables…)   Cf.  Chapitre  4.2  :  Les  constantes  et  les  variables  
2      
3   void  setup()   La  fonction  setup()  est  appelée  au  démarrage  du  programme.  Elle  est  
4   //  Fonction  setup  d’initialisation   utilisée  pour  initialiser  les  variables,  le  sens  des  broches,  les  librairies  
5   {   utilisées...  Elle  n'est  exécutée  qu'une  seule  fois,  après  chaque  mise  
6   …   sous  tension  ou  réinitialisation  de  la  carte  Arduino.  
7   }    
8   void  loop()   La  fonction  loop()  est  le  programme  principal.  
9   /*  Fonction  loop  infinie   Les   instructions   contenues   dans   cette   fonction   sont   exécutées   en  
10   programme  principal  */   boucle  tant  que  la  carte  n’est  ni  éteinte  ni  réinitialisée.  
11   {   Ce  sera  donc  le  programme  du  robot  !  
12   …    
13   }   Il  est  possible  de  créer  ses  propres  fonctions(),  celles-­‐ci  pourront  être  
14   mafonction()     appelées  depuis  le  programme  principal.  La  création  de  fonctions  à  
15   /*   Création   d’une   fonction   qui   l’extérieur  du  programme  principal  permet  :  
16   pourra   être   appelée   dans   le   -­‐   d’alléger  la  fonction  loop  qui  sera  ainsi  plus  lisible  ;  
17   programme  principal  */   -­‐   d’appeler  plusieurs  fois  une  fonction  sans  avoir  à  la  réécrire.  
18   {    
19     …   Remarques  :  
20   }   -­‐   Une   fonction   est   une   succession   d’instructions   qui   débutent  
21     TOUJOURS  par  «  {  »  et  se  terminent  TOUJOURS  par  «  }  »  
22   -­‐   Attention  la  casse  des  lettres  est  prise  en  compte  en  C/C++  
 

Pour   commenter   son   programme   il   suffit   de   saisir   le   code   //   tout   ce   qui   suivra   sur   la   ligne   sera   lisible   mais  
transparent  pour  le  programme.  Pour  un  bloc  de  plusieurs  lignes  à  la  suite  on  utilise  :  début  /*  et  fin  */  
 
4.2  -­‐  Les  constantes  et  les  variables  
On  déclare  les  constances  e t  les  variables  avant  le  setup  (),  on  peut  les  apparenter  à  des  «  boites  »  dans  lesquelles  
on  range  des  informations  :  textes,  nombres,…  que  l’on  pourra  utiliser  à  tout  moment  dans  la  programme  et  sur  
lesquelles   on   pourra   effectuer   des   opérations.   Ces   espaces   mémoire   sont   caractérisés   par   des   noms   qui  
permettent  d’y  accéder  facilement.  
Comme  son  nom  l’indique  la  valeur  d’une  constante  restera  identique  au  cours  du  programme  tandis  que  celle  
d’une  variable  pourra  changer  au  cours  du  programme.  
 
Remarque   :   Chaque   variable   et/ou   constante   que   l’on   utilise   va   prendre   de   la   place   dans   la   mémoire   de  
l’Arduino.  Il  est  donc  important  de  bien  choisir  son  type  selon  son  utilisation.  Les  principaux  types  sont  :  
boolean  maVariable  =  true  ;  
«  boolean  »  peut  prendre  deux  états  TRUE  (vrai)  (1)  ou  FALSE  (faux)  (0)  c  Espace  utilisé  1  bit  
int  maVariable  =  15  ;  
«  int  »  est  un  nombre  entier  de  –  32  768  à  32  767  c  Espace  utilisé  16  bits  (soit  2  octets)  
float  maVariable  =  1.23  ;  
«  float  »  peut  être  un  nombre  à  virgule  de  -­‐3.4028235E+38  à  3.4028235E+38  c  Espace  utilisé  32  bits  
string  maVariable  =  «  Bonjour  »  ;  
«  string  »  peut  contenir  du  texte  de  0  à  2  milliards  de  car.  c  Espace  utilisé  10  octets  +  longueur  de  chaine  

Exemples  de  déclarations  :  


const  int  pinLed  =  13;  //  On  déclare  ici  une  constante  de  type  int  qui  aura  pour  nom  pinLed  et  pour  valeur  13.  
Je  ferais  mon  montage  en  mettant  ma  LED  sur  le  connecteur  13,  ainsi  à  chaque  fois  que  j’aurais  besoin  du  numéro  
de  la  pin  de  la  LED  je  pourrais  aller  le  chercher  dans  la  «  boite  »  pinLed  et  récupérer  le  nombre  13.  C’est  plus  long  
d’écrire  pinLed  que  13  cependant,    lorsque  mon  montage  changera,  par  exemple  si  je  branche  ma  LED  sur  la  pin  
10,  je  n’aurai  qu’à  changer  le  nombre  à  l’intérieur  de  la  boite  pinLed  sans  changer  mon  programme.  
 

float  maVariable  =  3.14159265358979323846264338327950288419;  //  On  déclare  ici  une  variable  de  type  float  
qui  aura  pour  nom  maVariable  et  pour  valeur  Pi.  
3  
 

70
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 4/14

 
 
4.3  –  Exemple  :  «  programmation  pour  faire  clignoter  une  LED  »  
Une   des   forces   d’apprentissage   d’Arduino   repose   dans   ces   nombreux   exemples   intégrés   au   logiciel   qui  
permettent  de  se  familiariser  avec  le  code  et  peuvent  s’utiliser  comme  des  briques  entre-­‐elles.  Tous  ces  exemples  
se  retrouvent  dans  fichier/exemples.  

Lancer   le   logiciel   Arduino   puis   ouvrir   un   fichier     répertoire   [01.Basics]   et   sélectionner   le   croquis   mis   à  
disposition  en  exemple  :  Blink  
(On  peut  également  ouvrir  le  fichier  Blink  en  passant  par  le  menu  Fichier  c  Exemples  c  01.Basics  c  Blink)  
 
Analyse  du  code  :  
«  void  setup  ()  »  Initialisation  de  l’Arduino,  tout  ce  qui  se  situe  entre  les  {  }  ne  sera  effectué  qu’au  démarrage.  
«  void  loop  ()  »  Boucle  infinie,  tout  ce  qui  se  trouve  entre  les  {  }  va  être  répété  indéfiniment.  

Décomposition  de  setup()  :  


pinMode  (13,  OUTPUT)  ;    //  C’est  l’information  nécessaire  à  l’Arduino  pour  initialiser  la  pin  13.  On  lui  indique  
que  le  «  mode  »  de  la  «  pin  »  numéro  13  est  une  sortie  (OUTPUT).  
Les  pins  peuvent  être  des  entrées  ou  des  sorties,  on  doit  donc  OBLIGATOIREMENT  définir  dans  le  setup  le  type  de  
tous  les  connecteurs  utilisés  dans  le  montage.  Si  le  connecteur  était  une  entrée  :  pinMode  (13,  INTPUT)  ;  
 

On  connecte  donc  la  LED  sur  le  PIN  13  :  La  cathode  sur  un  connecteur  GND  et  l’anode  sur  le  connecteur  13.    
 
Décomposition  de  loop()  :  
{    //  DEBUT  
digitalWrite   (13,   HIGH)   ;     /   /   1ère   instruction   (action)   à   effectuer.   On   écrit   sur   la   pin     13   une   valeur   haute   c   on  
envoie  du  courant  sur  la  sortie  13  c  la  LED  s’allume.  
delay(1000)  ;    //  2ème  instruction  (action)  à  effectuer.  On  attend  1000  millisecondes  soit  1  sec.  
digitalWrite  (13,  LOW)  ;    //  3ème  instruction  (action)  à  effectuer.    On  écrit  sur  la  pin  13  une  valeur  basse   c  on  
envoie  plus  de  courant  sur  la  sortie  13  c  la  LED  s’éteint.  
delay(1000)  ;    //  4ème  instruction  (action)  à  effectuer.  On  attend  1000  millisecondes  soit  1  sec.  
}    //  FIN  –  La  fonction  loop()  est  exécutée  en  boucle  on  retourne  donc  au  début  
 
Remarques  :  
La  PIN  13  est  alimentée  en    5V  lorsqu’on  fait  un  digitalWrite  HIGH  et  à  0V  lorsqu’on  fait  un  digitalWrite  LOW.  
Noter  le  caractère  «  ;  »  à  la  fin  des  lignes.  C’est  une  information  pour  indiquer  la  fin  d’une  action.  Ce  caractère  
est  INDISPENSABLE  à  chaque  fin  d’action  pour  que  le  programme  fonctionne  correctement.  
 
PAR  SIMPLIFICATION  DE  MONTAGE  NOUS  N’UTILISONS  PAS  DE  RESISTANCE  EN  SERIE  AVEC  LA  LED  MAIS  ATTENTION  CE  
N’EST   BON   NI   POUR   LA   LED   NI   POUR   LES   COMPOSANTS   DE   LA   CARTE   !   ET   UN   ELECTRONICIEN   SAUTERAIT   AU   PLAFOND  
EN  VOYANT  CE  MONTAGE.  A  N’UTILISER  DONC  QUE  DANS  LE  CAS  DE  CE  TUTO  ET  SANS  EN  ABUSER.  
 
Tester  le  programme  en  le  téléversant  dans  le  microcontrôleur  de  la  carte  Arduino  :  
-­‐   Connecter  la  carte  à  l’ordinateur  via  un  câble  USB,  choisir  le  modèle  de  la  carte  dans  le  menu  Outils  et  
vérifier  la  configuration  du  port  COM  de  la  prise  USB.  (Normalement  le  port  se  sélectionne  tout  seul).  
Les  paramètres  du  Port  COM  (gestionnaire  de  périphérique    de  votre  PC)  doit-­‐être  à  115  200  Bits  par  seconde  
-­‐   Cliquer  sur  la  petite  flèche  en  haut  à  gauche  «  Téléverser  ».    
 
 

Le  logiciel  va  compiler  le  croquis  puis  le  


téléverser  vers  la  carte.  
 
Si  tout  se  passe  bien,  la  LED  doit  clignoter  
à  intervalle  régulier  d’une  seconde,    
 
Exercice  :  Modifier  le  programme  en  y  ajoutant  une  constante  pour  la  Pin  sur  laquelle  est  connectée  la  LED,  
modifier  «  void  setup  ()  »  et  «  void  loop  ()  »  en  conséquence.  Changer  les  paramètres  des  instructions  afin  que  
la  LED  s’allume  0.5  seconde  puis  s’éteigne  2  secondes…  (en  boucle).  
   

4  
 

71
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 5/14

 
 
5  –  La  robotique  avec  une  carte  Arduino  
 
5.1  –  Rappel  
Les  robots  sont  constitués  de  capteurs,  d’un  contrôleur  et  d’actionneurs.  Le  contrôleur  reçoit  des  informations  
des  capteurs  et  envoi  des  instructions  aux  actionneurs.  Capteurs  c    Contrôleur  c    Actionneurs  
-­‐   Les  capteurs  se  brancheront  sur  les  Pins  de  la  carte,  ils  seront  configurés  en  entrées  INTPUT  
-­‐   Le  microcontrôleur  de  la  carte  Arduino  sera  le  contrôleur  du  robot.  
-­‐   Les  actionneurs  se  brancheront  sur  les  Pins  de  la  carte,  ils  seront  configurés  en  sorties  OUTPUT  
 
   
 

Pour  créer  un  robot  avec  une  carte  Arduino  il  suffit  donc  de  choisir  les  capteurs  et  les  actionneurs  
 
adaptés  au  robot  souhaité  et  d’écrire  le  programme  déterminant  les  actions  que  réaliseront  les  
actionneurs  du  robot  en  fonction  des  informations  reçus  par  ses  capteurs.  
   

 
Si   l’on   regarde   l’exemple   de   la   LED   pinMode   (13,   OUTPUT);   elle   est   connectée   en   sortie   car   elle   reçoit   des  
instructions  du  contrôleur  digitalWrite  (13,  HIGH);  digitalWrite  (13,  LOW);    C’est  un  actionneur  
 
5.2  –  Les  Capteurs  
La   library   (ou   bibliothèque   de   fonctions)   associée   à   un   capteur   est   un   ensemble   de   fonctions   qui   ont   été  
développées  spécifiquement  pour  ce  capteur.  Elles  sont  le  plus  souvent  disponibles  en  Open  Source  sur  Internet.  
Pour  utiliser  une  bibliothèque  il  faut  la  télécharger  et  l’installer  dans  le  programme  Arduino.  
Il  sera  nécessaire  d’inclure  cette  bibliothèque  à  votre  programme  afin  que  ces  fonctions  soient  utilisables  dans  
le  bloc  void  loop()  de  celui-­‐ci  (de  la  même  manière  que  les  fonctions  C++  de  base). Pour les curieux : Il  suffira  
alors   de   connaître   les   déclarations   nécessaires   à   l’utilisation   du   capteur   et   les   paramètres   attendus   par   les  
fonctions  développées  dans  la  bibliothèque  pour  utiliser  facilement  un  capteur  sur  votre  robot.
 
             Capteur  de  distance  à  utlrason  
 

Caractéristiques  techniques  du  capteur  de  distance  :  


–  Alimentation  :  5v  –  Consommation  en  utilisation  :  15  mA.  
–  Gamme  de  distance  :  2  cm  à  5  m  et  résolution  :  0.3  cm.  

 
Connecteurs  :  
Vcc  :  Alimentation  5V  
Trig  :  (input)  connecté  sur  la  Pin  12  
Echo  :  (output)  connecté  sur  le  Pin  11  
Gnd  :  Masse    
 
5.3  -­‐  Fonctionnement  du  capteur  de  distance  
Il   envoie   une   impulsion   niveau   haut   (5v)   pendant   au   moins   10   µs   sur   la   broche   ‘Trig   Input’   qui   déclenche   la  
mesure.  En  sortie  ‘Echo  Output’  fourni  une  impulsion  de  5v  dont  la  durée  est  proportionnelle  à  la  distance  de  
l’objet.  La  distance  en  cm  est  calculée  en  utilisant  la  formule  :  distance  =  (durée  de  l’impulsion  en  µs)  /  58.  
 
Téléchargement  la  bibliothèque  newping  pour  le  capteur  de  distance  à  ultrason  :  Lien  de  téléchargement  
Installation  :  Menu  Croquis  c  Inclure  une  bibliothèque  c  Ajouter  la  bibliothèque  ZIP  c    Retrouver  le  répertoire  
de  téléchargement  de  la  bibliothèque  newping.zip  sur  votre  ordinateur  et  l’ouvrir.  
 
Pour les curieux :  Structure  d'une  bibliothèque  
Les  bibliothèques  Arduino  sont  composés  d'au  moins  deux  fichiers,  un  fichier  d'en  tête  finissant  par  .h  et  un  
fichier  source  finissant  par  .cpp.  Le  fichier  d'en  tête  contient  les  définitions  des  fonctions  disponibles  et  le  fichier  
source  contient  l'implémentation  du  code  des  fonctions  qui  ont  été  définies  dans  le  fichier  d'en  tête.  
5  
 

72
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 6/14

 
 
5.4  –  Programmation  :  OBJECTIF  «  Allumer  la  LED  quand  un  obstacle  se  trouve  devant  le  capteur  »  
 
Déclaration  et  Initialisation  setup()  
 

1   //  définitions  et  déclarations     Déclarations  nécessaires  pour  l’utilisation  du  capteur  


2   #include  <NewPing.h>   Déclaration  de  la  library  NewPing.h  du  capteur  
3   #define  trigPin      12   la  broche  (pin)  Trigger  est  branchée  sur  la  broche  12  de  l'Arduino  
4   #define  echoPin      11                   la  broche  (pin)  Echo  est  branchée  sur  la  broche  11  de  l'Arduino  
5   NewPing  distanceCM  (trigPin,   on  initialise  la  fonction  distanceCM  
  echoPin);        
6   int  maximumDistance  =  50;       distance  maximale  acceptée  (en  cm)  
7   int  minimumDistance  =  0;           distance  minimale  acceptée  (en  cm)  
8   boolean  PasObstacle  =  false;         valeur  à    false    (ou  0)    si  pas  d'obstacle  détecté  sinon  true    (ou  1)  
9   const  int  distanceObstacle  =  15;     on  définit  la  distance  de  détection  d'un  obstacle,  ici  15  cm  
10    int  attenteCapteur  =  100;     valeur  en  ms  de  l’attente  de  détection  du  capteur  
11      
12   //  the  setup  function   Initialisations  nécessaires  pour  le  LED  
13   Serial.begin(115200);   On  initialise  la  vitesse  du  moniteur  série  à115  200  Bauds  
14   pinMode(13,  OUTPUT);       On  initialise  la  Pin  13  (pour  la  LED)  en  Sortie  
15   digitalWrite(13,  LOW);       On  éteint  la  LED  
16   delay(300);   On  attend  0.3  sec  avant  de  démarrer  le  programme  
 
Programme  principal  loop()  
 

Représentation  Graphique  
   

«  organigramme  »  
Programme  en  C++   Description  
{   Début  du  programme  
 

int  distance  =    mesureDistance();   Distance  de  l’objet,  on  met  sa  valeur  
delay(attenteCapteur);   dans  variable  distance.  
         if  (PasObstacle  ==  false)   TEST  :  Présence  d’un  obstacle  ?  
         {        début  
         digitalWrite(13,  LOW)  ;   Si  pas  d’obstacle  on  éteint  la  LED  
         }        fin  
         else   Sinon  
         {        début  
         digitalWrite(13,  HIGH);   On  allume  la  LED  
         Serial.print(distanceCM.ping_cm());   Affichage  :  distance  de  l’obstacle  (1)  
         delay(500);   On  attend  0.5  sec  
         }        fin    
  }   Fin  du  programme  c    début  
 
Fonction  spécifique  :  Création  de  la  fonction  qui  va  renseigner  la  variable  PasObstacle  
(1)    

1   unsigned  int  mesureDistance()       Déclaration  de  la  variable  mesureDistance  


2   {   DEBUT  
3   int    cm  =  distanceCM.ping_cm();         On  déclare  et  on  renseigne  la  variable  cm.  (1)  
4   if  (cm  >  distanceObstacle  ||  cm     Si   la   distance   à   l’obstacle   est   sup.   à   la   valeur   renseignée   dans  
5   <=  minimumDistance)     distanceObstacle  ou  inf.  à  la  valeur  renseignée  dans  minimumDistance  
6          {          début  
7          PasObstacle  =  vrai;          SI  VRAI  on  met  vrai  dans  la  variable  PasObstacle  
8          }          fin  
9          else          SINON  
10          {          début  
11          PasObstacle  =  true;          On  met  true  dans  la  variable  PasObstacle  
12          }          fin  
13   return  cm;   La  fonction  retourne  la  distance  de  l’obstacle  
14   }   FIN  
 

(1)   Serial.print  permet  à  tout  moment  d’afficher  des  informations  dans  le  moniteur  série  du  logiciel  Arduino.  
(2)   distanceCM.ping_cm()  est  une  fonction  de  la  bibliothèque  newping.h  qui  calcule  la  distance  de  l’obstacle.  
6  
 

73
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 7/14

 
 
Code  (Arduino)  «  Pour  allumer  une  LED  quand  un  obstacle  se  trouve  devant  le  capteur  entre  10  et  20cm  »  
 

/*  Programme  permettant  d’allumer  une  LED  (branchée  sur  la  Pin  13  de  la  carte  Arduino)    lorsque  le  capteur  de  
distance  détecte  un  objet  à  une  distance  comprise  entre  10  et  20  cm.    */  
#include  <NewPing.h>  
//  définitions  et  déclarations  des  variables  
#define  trigPin      12  
#define  echoPin      11                  
NewPing  distanceCM  (trigPin,  echoPin);      
int  maximumDistance  =  50;      
int  minimumDistance  =  10;          
boolean  PasObstacle  =  false;        
const  int  distanceObstacle  =  20;  
int  attenteCapteur  =  100;        
 

//  the  setup  function  


void  setup()  
{  
Serial.begin(115200);       //  On  initialise  la  vitesse  du  moniteur  série  à  115  200  bauds  
pinMode(13,  OUTPUT);       //  On  initialise  la  pin  13  sortie  (OUTPUT)  
digitalWrite(13,  LOW);       //  On  éteint  la  LED  
delay(300);         //  On  attend  0.3  sec  
 }  
 
//  the  loop  function  
void  loop()  
{    
int  distance  =    mesureDistance();   //  on  stock  dans  la  variable  distance  la  valeur  du  capteur  en  cm                          
delay(attenteCapteur);                                   //  attente  en  ms  entre  chaque  mesure  du  capteur  
if  (PasObstacle  ==  vrai)                           //  S’il  n’y  a  pas  d’obstacle                                
{  
digitalWrite(13,  LOW);                         //  On  éteind  la  LED  
}  
else                                                                 //  Sinon,  un  obstacle  est  détecté  
{  
digitalWrite(13,  HIGH);                       //  On  allume  la  LED  
Serial.print("Distance:  ");  
Serial.print(distanceCM.ping_cm());//  On  affiche  la  distance  de  l’obstacle  
Serial.println("cm");  
delay(500);                                                 //  pendant  500  ms  
}  
}  
 

//  the  personal  fonction  


unsigned  int  mesureDistance()     //  Déclaration  de  la  variable  mesureDistance  
{  
int    cm  =  distanceCM.ping_cm();         //  déclaration  de  la  variable  locale  (cm)  à  qui  on  assigne  la  distance  
if  (cm  >  distanceObstacle  ||  cm    <=  minimumDistance)     //  on  définit  la  plage  de  détection  du  capteur  
{  
PasObstacle  =  true;     //  on  renvoie  true  si  pas  d'obstacle  dans  la  plage  définie  dans  le  test  
}  
else  
{  
PasObstacle  =  false;      //  sinon  on  renvoie  false  (si  il  y  a  un  obstacle  dans  la  plage  définie)  
}  
return  cm;                                                                                           //  on  retourne  la  distance  de  l’obstacle  à  la  fonction    
}  

7  
 

74
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 8/14

 
 
6  –  ROSA  (Robot  Open  Source  Arduino)  
6.1  –  Introduction  
Conçu  à  l'occasion  du  projet  D-­‐Clics  numériques,  ce  robot  se  veut  une  machine  simple  à  fabriquer  et  évolutive.  Il  
s'agit  d'un  robot  éviteur  d'obstacles  utilisant  deux  moteurs  et  un  capteur  de  distance,  pour  découvrir  les  bases  
de  la  robotique  notamment  à  travers  :    
§   l'assemblage  du  châssis  
§   l'électronique  (à  travers  le  câblage  des  différents  éléments)  
§   la  programmation  de  la  carte  Arduino  Uno  
 
L'objectif  du  cahier  des  charges  est  de  construire  un  robot  à  bas  coût  et  évolutif.  
§   reproductibilité  :  toutes  les  pièces  utilisées  doivent  être  faciles  à  trouver  
§   low-­‐cost  :  le  coût  doit  être  acceptable  pour  une  utilisation  en  nombre,  de  l'ordre  de  45€  
§   polyvalent  :  la  carte  Arduino  peut  être  utilisée  pour  réaliser  d'autres  projets  
§   programmation  libre  et  open-­‐source  :  code  open-­‐source  et  GPL  
§   simplicité  de  réalisation  
§   Il  doit  être  facilement  réalisable  sans  avoir  de  compétences  particulières  en  mécanique  ou  bricolage  
 
Ce  robot  utilise  un  capteur  ultrason  qui  mesure  une  distance.  L'information  est  traitée  par  la  carte  Arduino  et  
permet  au  robot  lorsqu’il  rencontre  un  obstacle  frontal  de  s’arrêter  quelques  instants  puis  reculer.  Ensuite  il  
pivote  à  droite  ou  à  gauche  avant  de  redémarrer  jusqu’à  l’obstacle  suivant.  
Il  est  bien  entendu  possible  de  changer  la  programmation  afin  de  lui  attribuer  d’autres  comportements.  
 
6.2  –  Eléments  du  robot  
 

•   Le  chassis  
2  plaques  en  acrylique  de  3mm  découpées  au  
laser  
 
•   2  roues  complètes  +  1  roue  à  bille  
 
•   Pièces  de  jonction  
+  1  ensemble  de  quincaillerie,  vis  et  écrous  
 
•   1  capteur  ultrason  de  distance  avec  son  support  
 
•   1  contrôleur  (carte  Arduino)  
 
•   2  moteurs  DC  6V  double  axe    
 
•   1  ensemble  de  fil  de  câblage    
+  1  support  de  6  piles  AA
 
Le  Robot  est  donc  constitué  d’un  capteur  (capteur  de  distance),  d’un  contrôleur  (carte  Arduino)  et  de  deux  
actionneurs  (moteurs).  
 
Un   moteur   électrique   permet   de   convertir   l’énergie   électrique   (par   ses   composants   qui   transforment   la  
puissance  d’un  champ  magnétique)  en  énergie  mécanique.  
Caractéristiques  :  -­‐  Plus  le  voltage  est  élevé  et  plus  le  moteur  tourne  vite  
         -­‐  Le  champ  magnétique  a  2  pôles,  si  on  inverse  ces  pôles  le  moteur  tournera  en  sens  inverse  
 
Pour   tester   les   moteurs   il   suffit   de   relier   les   fils   à   chaque   extrémité   d’une   pile,   en   inversant   les   fils   le   moteur  
tournera  en  sens  inverse.  
c    Si  on  envoie  le  courant  sur  un  des  fils  le  moteur  tourne  dans  un  sens  et  si  on  l’envoie  sur  l’autre  fil  il  tourne  
en  sens  inverse.  
 

8  
 

75
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 9/14

 
 
6.3  –  Montage  du  châssis  
Cf.  fiche  de  montage  
 
6.4  –  Câblages  sur  la  carte  Arduino  
 

 
 
Connexions   Contrôleur  moteur   Carte  Arduino   Remarques  
Câble  marron   GND  =  Masse   Pin  GND   Correspond  à  la  masse  du  contrôleur  moteur  
Câble  rouge   VCC  =  Alimentation  5V   Pin  VIN   Alimentation  5V  du  contrôleur  moteur  
Câble  orange   Moteur  droit  BIB   Pin  10   Pour  faire  tourner  le  moteur  droit  c  en  avant  
Câble  jaune   Moteur  droit  BIA   Pin  9                                                                                                                              c  en  arrière  
Câble  vert   Moteur  gauche  AIB   Pin  6   Pour  faire  tourner  le  moteur  gauche  c  en  avant  
Câble  bleu   Moteur  gauche  AIA   Pin  5                                                                                                                                    c  en  arrière  
 
6.5  –  Programmation  
La  programmation  de  «  ROSA  »  s’apparente  à  la  programmation  précédemment  effectuée  avec  le  capteur  de  
distance  et  la  LED  (La  LED  est  remplacée  par  des  moteurs  !)  
En    fonction  de  l’information  reçue  par  le  capteur  on  enverra  des  instructions  aux  moteurs.    
 
Déclarations  
 

1   //  définitions  et  déclarations     Déclarations  


2   #include  <NewPing.h>   Déclaration  de  la  library  NewPing.h  du  capteur  
3   Reprendre  les  déclarations    

On  reprend  l’ensemble  des  déclarations  nécessaires  au  capteur  


4   utilisées  pour  le  capteur    
5     Déclarations  liées  aux  moteurs  
6   #define  vitesse_MG    150         vitesse  du  moteur  gauche  (0  à  255)  
7   #define  vitesse_MD    150         vitesse  du  moteur  droit  (0  à  255)  
8     Moteur  A  (moteur  Gauche)  
9   int  AIA  =  5;   Broche  A  connectée  à  la  Pin  5  
10   int  AIB  =  6;   Broche  B  connectée  à  la  Pin  6  
11     Moteur  B  (moteur  Droit)  
12   int  BIA  =  9;   Broche  A  connectée  à  la  Pin  9  
13   int  BIB  =  10;   Broche  B  connectée  à  la  Pin  10  
14    
9  
 

76
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 10/14

 
 
Initialisations  Void  setup()  
 

15   //  the  setup  function   Initialisations  nécessaires  pour  les  moteurs  


16   pinMode(AIA,  OUTPUT);   On  initialise  la  Pin  5  en  Sortie  
17   pinMode(AIB,  OUTPUT);   On  initialise  la  Pin  6  en  Sortie  
18   pinMode(BIA,  OUTPUT);   On  initialise  la  Pin  9  en  Sortie  
19   pinMode(BIB,  OUTPUT);   On  initialise  la  Pin  10  en  Sortie  
20   stopRobot();   On  stop  le  robot  avec  la  fonction  stopRobot()  (Cf.  Rosa  Fonctions)  
21   delay(300);   On  attend  300  millisecondes  avant  de  démarrer  le  loop().  
 
Programme  principal  loop()  
 

Cahier  des  charges  


   

Programme  en  C++   Description  


du  fonctionnement  du  Robot  
{   Début  du  programme  
 

 
Le  Robot  ROSA  avance  tant  qu’il   int  distance  =    mesureDistance();           Distance  de  l’objet,  on  met  sa  valeur  
ne  rencontre  pas  d’obstacle.   delay(attenteCapteur);   dans  variable  distance.  
         if  (PasObstacle  ==  true)        TEST  :  Présence  d’un  obstacle  ?  
Si  le  capteur  de  distance  détecte          {        début  
un  obstacle  à  X  cm  (1)  :          avanceRobot();        Si  pas  d’obstacle  on  avance  
-­‐  Le  robot  stoppe          }        fin  
-­‐  Il  fait  une  pause  de  0.3  sec          else        Sinon  
-­‐  Le  robot  recule  pendant  0.2  sec          {        début  
-­‐  Le  robot  tourne  à  droite          stopRobot();        On  arrête  le  robot  
pendant  0.2  sec.          delay(300);        On  attend  0.3  sec  
         reculeRobot();        Le  robot  recule  
Puis  il  redémarre…          delay(200);        On  attend  0.2  sec  (Pendant  0.2  sec)  
         tourneDroite();        Le  robot  tourne  à  droite  
(1)  X  est  défini  dans  les  déclarations            delay(200);        On  attend  0.2  sec  (Pendant  0.2  sec)  
const  int  distanceObstacle  =  X;          }        fin    
}   Fin  du  programme  c    début  
 
Fonction  spécifique  :  Création  des  fonctions  qui  agissent  sur  les  moteurs  
 

1   void  avanceRobot()      
2   {   Pour  créer  les  fonctions  spécifiques  du  robot  il  suffit  de  déterminer  pour  
3      analogWrite(AIA,  vitesse_MG);   chaque  action  à  quelle  broche  on  doit  envoyer  du  courant.  
4      analogWrite(AIB,  LOW);    
5      analogWrite(BIA,  vitesse_MD);   void  avanceRobot()    
6      analogWrite(BIB,  LOW);   -­‐  on  envoie  du  courant  sur  les  broches  A  des  deux  moteurs  
7   }  
 

void  reculeRobot()    
8   void  stopRobot()     -­‐  on  envoie  du  courant  sur  les  broches  B  des  deux  moteurs  
9   {    

10      analogWrite(AIA,  LOW);   void  stopRobot()    


11      analogWrite(AIB,  LOW);   -­‐  on  n’envoie  plus  de  courant  
 

12      analogWrite(BIA,  LOW);   void  tourneDroite()    


13      analogWrite(BIB,  LOW);   -­‐  on  envoie  du  courant  sur  les  broches  A  du  moteur  Gauche  
14   }    

void  tourneGauche()    
15   void  tourneDroite()    
-­‐  on  envoie  du  courant  sur  les  broches  A  du  moteur  Droit  
16   {    

17      analogWrite(AIA,  vitesse_MG);   void  robotSurPlaceGauche()    


18      analogWrite(AIB,  LOW);   -­‐  on  envoie  du  courant  sur  les  broches  B  du  moteur  Gauche  
19      analogWrite(BIA,  LOW);   -­‐  on  envoie  du  courant  sur  les  broches  A  du  moteur  Droit  
 

20      analogWrite(BIB,  LOW);   void  robotSurPlaceDroite()    


21   }   -­‐  on  envoie  du  courant  sur  les  broches  A  du  moteur  Gauche  
22   …   -­‐  on  envoie  du  courant  sur  les  broches  B  du  moteur  Droit  
   
10  
 

77
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 11/14

 
 
Code  (Arduino)  «  du  Robot  ROSA  »  
 

/*  Programmation  :  Si  le  robot  rencontre  un  obstacle  il  s’arrête,  recule  puis  tourne  à  droite  et  repart  en  avant  */  
#include  <NewPing.h>  
 
//  définitions  et  déclarations  des  variables  
//  déclarations  pour  le  capteur  
#define  trigPin      12  
#define  echoPin      11                  
NewPing  distanceCM  (trigPin,  echoPin);      
int  maximumDistance  =  50;      
int  minimumDistance  =  10;          
boolean  PasObstacle  =  true;        
const  int  distanceObstacle  =  20;  
int  attenteCapteur  =  100;        
//  déclaration  pour  les  moteurs  
#define  vitesse_MG    150                                                    //  vitesse  du  moteur  gauche    
#define  vitesse_MD    150                                                    //  vitesse  du  moteur  droit    
//  Les  moteurs  ne  tournant  pas  exactement  à  la  même  vitesse,  on  peut  jouer  sur  les  valeurs  (Maximum  255  =  5V)  
int  AIA  =  5;                                                                                                      //  Broche  A  du  moteur  gauche  connecté  à  la  Pin  5  de  l'Arduino  
int  AIB  =  6;                                                                                                      //  Broche  B  du  moteur  gauche  connecté  à  la  Pin  6  de  l'Arduino  
int  BIA  =  9;                                                                                                      //  Broche  A  du  moteur  droit  connecté  à  la  Pin  9  de  l'Arduino  
int  BIB  =  10;                                                                                                  //  Broche  B  du  moteur  droit  connecté  à  la  Pin  10  de  l'Arduino  
 
//  the  setup  function  
void  setup()  
{  
pinMode(AIA,  OUTPUT);     //  On  initialise  la  pin  5  en  sortie  (OUTPUT)  
pinMode(AIB,  OUTPUT);     //  On  initialise  la  pin  6  en  sortie  (OUTPUT)  
pinMode(BIA,  OUTPUT);     //  On  initialise  la  pin  9  en  sortie  (OUTPUT)  
pinMode(BIB,  OUTPUT);     //  On  initialise  la  pin  10  en  sortie  (OUTPUT)  
stopRobot();                                                                      //  On  lance  la  fonction  stopRobot()  qui  stoppe  le  robot  
delay(300);         //  On  attend  0.3  sec  
}  
 
//  the  loop  function  
void  loop()  
{                                                                                                                    //  DEBUT  
int  distance  =    mesureDistance();   //  on  stock  dans  la  variable  distance  la  valeur  du  capteur  en  cm                          
delay(attenteCapteur);                                   //  attente  en  ms  entre  chaque  mesure  du  capteur  
if  (PasObstacle  ==  true)                           //  S’il  n’y  a  pas  d’obstacle                                
{  
avanceRobot();                                                   //  On  lance  la  fonction  avanceRobot()  
}  
else                                                                 //  Sinon,  un  obstacle  est  détecté  
               {  
               stopRobot();                                                                                  //  On  lance  la  fonction  stopRobot()  
               delay(300);         //  On  attend  0.3  sec  
               reculeRobot();                                                                          //  On  lance  la  fonction  reculeRobot()  
               delay(200);         //  On  attend  0.2  sec  
               tourneDroite();                                                                        //  On  lance  la  fonction  tourneDroite()  
               delay(200);         //  On  attend  0.2  sec  
             }  
}                                                                                                                    //  FIN  on  retourne  au  DEBUT  
 
/*  Le  Loop  peut  être  modifié  facilement  avec  les  enfants  en  utilisant  toutes  les  fonctions  prédéfinies  :  avanceRobot()  
reculeRobot()  tourneDroite()  tourneGauche()  robotSurPlaceGauche()  robotSurPlaceDroite()  stopRobot()  */  

11  
 

78
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 12/14

 
 
//  the  personal  fonction    //  Fonctions  de  mouvements  des  moteurs  
void  avanceRobot()    {                                                                //  Fonction  :  Le  robot  avance  
   analogWrite(AIA,  vitesse_MG);  
   analogWrite(AIB,  LOW);  
   analogWrite(BIA,  vitesse_MD);  
   analogWrite(BIB,  LOW);  
}  
void  reculeRobot()    {                                                                  //  Fonction  :  Le  robot  recule  
   analogWrite(AIA,  LOW);  
   analogWrite(AIB,  vitesse_MG);  
   analogWrite(BIA,  LOW);  
   analogWrite(BIB,  vitesse_MD);  
}  
void  tourneDroite()    {                                                                //  Fonction  :  Le  robot  tourne  à  droite  
   analogWrite(AIA,  vitesse_MG);  
   analogWrite(AIB,  LOW);  
   analogWrite(BIA,  LOW);  
   analogWrite(BIB,  LOW);  
}  
void  tourneGauche()    {                                                                //  Fonction  :  Le  robot  tourne  à  gauche  
   analogWrite(AIA,  LOW);  
   analogWrite(AIB,  LOW);  
   analogWrite(BIA,  vitesse_MD);  
   analogWrite(BIB,  LOW);  
}  
void  robotSurPlaceGauche()    {                                      //  Fonction  :  Le  robot  fait  la  toupie  à  gauche  
   analogWrite(AIA,  LOW);  
   analogWrite(AIB,  vitesse_MG);  
   analogWrite(BIA,  vitesse_MD);  
   analogWrite(BIB,  LOW);  
}  
void  robotSurPlaceDroite()    {                                    //  Fonction  :  Le  robot  fait  la  toupie  à  droite    
   analogWrite(AIA,  vitesse_MG);  
   analogWrite(AIB,  LOW);  
   analogWrite(BIA,  LOW);  
   analogWrite(BIB,  vitesse_MD);  
}  
void  stopRobot()    {                                                                          //  Fonction  :  Le  robot  s’arrête  
   digitalWrite(AIA,  LOW);  
   digitalWrite(AIB,  LOW);  
   digitalWrite(BIA,  LOW);  
   digitalWrite(BIB,  LOW);  
}  
//  Fonction  du  capteur  
unsigned  int  mesureDistance()   {   //  Déclaration  de  la  variable  mesureDistance  
int    cm  =  distanceCM.ping_cm();         //  déclaration  de  la  variable  locale  (cm)  à  qui  on  assigne  la  distance  
if  (cm  >  distanceObstacle  ||  cm    <=  minimumDistance)     //  on  définit  la  plage  de  détection  du  capteur  
{  
PasObstacle  =  true;     //  on  renvoie  true  si  pas  d'obstacle  dans  la  plage  définie  dans  le  test  
}  
else  
{  
PasObstacle  =  false;      //  sinon  on  renvoie  false  (si  il  y  a  un  obstacle  dans  la  plage  définie)  
}  
return  cm;                                                                                           //  on  retourne  la  distance  de  l’obstacle  à  la  fonction    
}  
12  
 

79
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 13/14

 
 
7  -­‐  Récapitulatif  

1.   Déclaration  d'une  variable  :  on  vient  avec  cette  ligne  stocker  la  valeur  à  droite  du  signe  égal  (=)  dans  la  
variable  à  gauche  du  signe  égal.  
int  maximumDistance  =  50;      
Dans  notre  cas,  cela  signifie  que  la  variable  appelée  maximumDistance  viendra  prendre  la  valeur  50.  Le  
mot  clé  int  en  début  de  phrase  signifie  que  la  variable  sera  un  nombre  entier.  
 
2.   Les  blocs  d'instructions  :  setup  regroupe  toutes  les  instructions  qui  seront  exécutées  au  démarrage  du  
programme.  La  fonction  setup  n'est  exécutée  qu'une  seule  fois,  après  chaque  mise  sous  tension  ou  
reset  (réinitialisation)  de  la  carte  Arduino.    
loop  (boucle  en  anglais)  contient  les  instructions  que  l'on  souhaite  voir  exécutées  encore  et  encore  
tant  que  l'Arduino  est  branché.  
void  setup()  {  }  
void  loop()  {  }  
 
3.   Les  fonctions  :  sont  des  instructions  qui  permettent  d'exécuter  une  ou  plusieurs  actions.  Les  fonctions  
sont  définies  avec  :  
Un  nom  :  ce  qu'on  devra  taper  pour  appeler  la  fonction.  
Une  ou  des  entrées  :  ce  sont  des  variables  passées  à  la  fonction  appelées  paramètres  ou  arguments.  
Ces  arguments  sont  placés  entre  parenthèses.  
Une  sortie  :  le  résultat  de  la  fonction  qui  peut  être  stocké  dans  une  variable.  
 
Prenons  l'exemple  de  la  fonction  suivante  :  
analogWrite(AIB,  LOW);  
 
Dans  ce  cas,  le  nom  de  la  fonction  est  analogWrite.  Nous  passons  deux  paramètres  à  la  fonction  :  AIB  
et  LOW.  La  fonction  analogWrite  n'a  pas  de  sortie.  Avec  cette  fonction,  nous  éteignons  la  broche  
située  sur  la  broche  passée  avec  le  premier  paramètre  (qui  peut  être  un  nombre  ou  une  variable).  
Lorsque  le  second  argument  est  placé  à  LOW,  on  vient  d’arrêter  le  moteur.  Tandis  qu'on  mettra  en  
marche  le  moteur  si  le  second  argument  utilise  un  nombre  entier  supérieur  à  0.  Ce  nombre  est  
compris  entre  0  et  255.    Faisons  l'analogie  avec  l'électricité  :  
0          correspond  à  0  volt.  
255  correspond  à  5  volts.  
Plus  la  tension  est  élevée  plus  le  moteur  tournera  vite.  
 
4.   Autres  fonctions    
pinMode  configure  la  broche  spécifiée  dans  le  premier  paramètre  pour  qu'elle  se  comporte  soit  en  
entrée  (INPUT),  soit  en  sortie  (OUTPUT)  passée  avec  le  second  paramètre  :  
 
pinMode(AIA,  OUTPUT);  
 
delay  correspond  au  temps  d’exécution  d’une  fonction.  La  durée  est  mesurée  en  millisecondes:  
 
avanceRobot()  
delay(200);                        Le  robot  avancera  pendant  200ms  
 
 
Pour  aller  plus  loin  :  Compléments  sur  la  programmation  Arduino  par  Eskimon  
 
 
   

13  
 

80
SÉANCE 3

VOUS AVEZ DIT ARDUINO ! UNO ANNEXE 14 14/14

 
 
8  –  Glossaire  

Actionneurs  
Les   actionneurs   sont   des   composants   matériels,   qui   une   fois   correctement   connectés   à   la   carte   Arduino,  
permettent  d'agir  sur  le  monde  extérieur.  Ils  convertissent  une  valeur  électrique  en  action  physique.  
Arduino  
Arduino  est  une  plate-­‐forme  libre  de  création  d'objets  électroniques  composée  d'un  appareil  d'entrée-­‐sortie  
configurable  (microcontrôleur)  et  d'un  environnement  de  programmation.  
Bibliothèque  
Une  bibliothèque  est  un  ensemble  de  fonctions  regroupées  et  mises  à  disposition  des  utilisateurs  d'Arduino.  
Capteurs  
Les  capteurs  sont  des  composants  matériels,  qui  une  fois  correctement  connecté  à  la  carte  Arduino,  peuvent  
fournir  des  informations  sur  le  monde  extérieur.    
Circuit  imprimé  
Un  circuit  imprimé  est  un  support,  en  général  une  plaque,  permettant  de  relier  électriquement  un  ensemble  de  
composants  électroniques  entre  eux,  dans  le  but  de  réaliser  un  circuit  électronique.  
Fonction  
Une   fonction   effectue   un   traitement   en   fonction   des   infos   qu’on   lui   donne   (les   arguments).   L’instruction  
«  return  »  sert  à  renvoyer  le  résultat  des  traitements  effectués  par  la  fonction  à  ce  qui  a  appelé  la  dite  fonction    
IDE  (Integrated  Development  Environment)  
Environnement   de   développement   intégré   (EDI)   est   un   programme   regroupant   un   ensemble   d'outils   pour   le  
développement  de  logiciels.  Un  EDI  regroupe  un  éditeur  de  texte,  un  compilateur,  des  outils  automatiques  de  
fabrication,  et  souvent  un  débogueur.  
Interface  de  programmation  
Une   interface   de   programmation   applicative,   souvent   désignée   par   le   terme   API   (Application   Programming  
Interface)  e st  une  «  façade  »,  surcouche  clairement  délimitée  afin  de  simplifier  la  programmation  en  cachant  les  
détails   de   la   mise   en   œuvre.   Plusieurs   interfaces   existent   pour   programmer   une   carte   Arduino   :   Ardublock,  
Scratch,  ou  encore  Blockly.  
Langage  de  programmation  
Un  langage  de  programmation  est  une  notation  conventionnelle  destinée  à  formuler  des  algorithmes  et  produire  
des  programmes  informatiques  qui  les  appliquent.  Le  langage  des  cartes  Arduino  est  le  C/C++.    
LED  
Une  LED  ou  DEL  (diode  électroluminescente  en  français),  ou  est  un  composant  capable  d’émettre  de  la  lumière  
lorsqu’il  est  parcouru  par  un  courant  électrique.  Les  LEDs  laissent  passer  le  courant  que  dans  un  seul  sens,  on  
parle  de  polarité  des  deux  pattes,  une  positive  (+,  anode)  et  une  négative  (-­‐,cathode).  
Moniteur  sériel  
Le   moniteur   sériel   est   un   élément   de   l'environnement   de   programmation   Arduino.   Il   permet   de   recevoir   et  
d’envoyer  des  messages  en  communication  sérielle  à  partir  de  l'ordinateur.  
Pin  
Il   s'agit   des   ports   de   l'Arduino.   Ce   sont   les   broches   qui   permettent   de   connecter   des   fils   à   la   carte.   Elles   seront  
déclarées  en  entrée  (INPUT)  d'information  ou  en  sortie  (OUTPUT).  (Cf.  Tx  -­‐  Rx)  
Platine  d'essai  
Une  platine  d'essai  est  un  support,  le  plus  souvent  en  plastique,  qui  comporte  des  petits  trous  dans  lesquels  on  
peut  positionner  des  composants  ainsi  que  des  fils  qui  permettent  de  réaliser  un  circuit  électrique.  
Platine  de  prototypage  
Une  platine  de  prototypage  est  une  plaque  en  époxyde  ou  en  bakélite  (plastique  synthétique)  qui  comporte  des  
trous  et  des  lignes  de  cuivres  permettant  d'y  souder  des  composants  pour  réaliser  un  circuit  électronique.  
Servomoteur  
Moteur  qui  peut  recevoir  des  informations  de  positionnement  et  les  atteindre  de  manière  autonome.    
Shield  
Carte   comprenant   un   circuit   complexe   qui   se   connecte   directement   à   l'Arduino   et   qui   assure   une   fonction  
spécifique  (communication  internet,  lecture  de  mp3,  etc…).  
Variable  
Une  variable  est  un  espace  mémoire  caractérisé  par  un  nom  dans  lequel  on  range  des  informations  :  textes,  
nombres,…  et  que  l’on  pourra  utiliser  à  tout  moment  dans  le  programme.    

14  
 

81
SÉANCE 3

RODOT IDIOT ANNEXE 15 1/3

Jouer à "Robot-idiot" pour s'initier aux algorithmes


Qu’est ce qu’un algorithme ? Et pourquoi ne pas répondre à cette question en jouant ?

Jeu
« robot-idiot »

Acteurs
Adulte et enfants

Résumé
Le « robot-idiot » doit sortir d’un petit labyrinthe que l’on aura construit dans le séjour en
déplaçant quelques tables ou chaises, ou en dessinant à la craie sur le sol de la cour. On
se met dans la « peau » d’un robot pour voir ce qu’il peut ou pas faire.

Comprendre l'informatique en jouant à faire le robot


https://youtu.be/9AtmJ9mTaB0

La fiche d’activité

Disponible ici.
https://pixees.fr/wp-content/uploads/2015/09/Activit%C3%A9-d%C3%A9branch%C3%A9e_Le-jeu-du-robot-
idiot.doc

L’activité dans sa première partie est adaptée au plus petit (dès le début du primaire),
de même que la version proposée en vidéo, la seconde partie « La rupture et si on
connaissait pas la sortie ?!? » est prévue pour aller plus loin quand l’enfant est en cycle 3
(à partir du cours moyen).

Références
Un document complet pour le parent ou l’animateur (http://images.math.cnrs.fr/Dis-ma-
man-ou-papa-c-est-quoi-un.html)
une vidéo récréative sur le sujet (https://files.inria.fr/mecsci/grains-videos3.0/videos/18-al-
gorithmes.mp4)
et un tutoriel vidéo « Comprendre l’informatique en jouant à faire le robot » par Marie
Duflot.

Objectif
Initier les enfants à la notion d’algorithme en les faisant agir et en se dirigeant selon un
« programme » préparé au préalable. Donner un sens à la notion « d’algorithme » à
travers un savoir-faire concret. Mais aussi proposer un savoir-être pertinent par rapport à
l’intelligence mécanique (la machine calcule très vite et de manière exacte … mais est
bête comme nos pieds !).

82
SÉANCE 3

ROBOT IDIOT ANNEXE 15 2/3

Notions scientifiques
Algorithme (https://pixees.fr/?p=435),
Variable (http://fr.wikipedia.org/wiki/Variable_%28math%C3%A9matiques%29),
Bug

Comprendre la différence entre mon intelligence et celle de la machine en jouant


à « robot-idiot »
https://youtu.be/inXtIOKgeZI

Initiation au jeu
Préparer la pièce, au préalable faire un parcours simple sans trop d’obstacle puis selon
la compréhension des enfants, élever le niveau.

Celui qui incarne le rôle du robot n’a pas le droit de comprendre le langage humain,
mais juste un langage très limité pour effectuer une action décomposée en étapes élé-
mentaires.

Actions
L’enfant qui imitera le robot ne pourra que :

•Avancer d’un pas


•Tourner à gauche d’un quart de tour
•Tourner à droite d’un quart de tour

Comment sortir d’un labyrinthe ?

On fabriquera des petites cartes à jouer en découpant un vieux carton en petits carrés
avec les mots « avancer », « gauche », « droite ». Et on lui donnera une séquence de ces
cartes qui sera son « algorithme ».
Il devra exécuter cet algorithme sans « réfléchir » (gare au mur – et à la rigolade – s’il y a
un bug !). Ensuite on aura sûrement envie de ne pas répéter « avance d’un pas, avance
d’un pas, avance d’un pas » mais « avance de trois pas ». Donc l’instruction aura une
valeur variable qui permettra d’avancer plus efficacement. Avec un crayon à papier et
une gomme, on pourra mémoriser la valeur et l’effacer ensuite.

Le jeu pourra se compliquer s’il y a une porte (concrétisée par un objet quelconque)
qui peut-être fermée ou ouverte, sans qu’on le sache à l’avance. Il faudra alors introduire une
condition dans notre algorithme : « si la porte est fermée alors [fais le tour] »… mais bien entendu
il faudra expliquer en détail ce que veut dire « fais le tour » ! Pour le robot, il y aura alors deux pa-
quets de cartes à choisir selon la condition.

83
SÉANCE 3

ROBOT IDIOT ANNEXE 15 3 /3

Ce qui arrivera
en cas de bug !

Aller plus loin


Tester deux langages différents.

Un langage formel se distingue d’une langue naturelle par sa spécialisation, son carac-
tère artificiel, le caractère limité de son lexique et la simplicité des règles qui régissent sa
grammaire. Un exemple simple est le langage formé de quatre mots : « nord », « sud »,
« est » et « ouest » et d’une construction, la séquence, qui permet de former des suites
de tels mots. Ce langage permet d’indiquer un chemin à suivre sur une grille carrée.

Par exemple l’expression « nord, nord, nord, est, est, est, sud, sud, sud, ouest, ouest,
ouest » indique, par exemple, de se déplacer de trois carreaux vers le nord, puis de trois
carreaux vers l’est, puis de trois carreaux vers le sud et enfin de trois carreaux vers l’ouest,
dessinant ainsi un carré sur le sol.
Ce même mouvement peut être exprimé dans le langage : « avancer, avancer, avan-
cer, tourner-à-droite, avancer, avancer, avancer, tourner-à-droite, avancer, avancer,
avancer, tourner-à-droite, avancer, avancer, avancer, tourner-à-droite » qui ne com-
prend que trois mots : « avancer », « tourner-à-droite » et « tourner à gauche », composés
par une opération de séquence.

On pourra alors étudier ces deux langages et les comparer.

•Apprendre à traduire un itinéraire d’un langage dans un autre.


•Étudier les avantages et inconvénients de chaque langage. On peut, par exemple,
introduire une petite erreur exprès dans la séquence d’instructions, comme un « tourner
à droite d’un quart de tour » à la place d’un « tout droit ». Avec le langage « boussole »
on voit que l’erreur aura pour conséquence un décalage dans le déplacement et
que la boussole nous remettra dans le bon sens rapidement (sans pour autant réparer
l’erreur). Avec le langage « avance/tourne » on voit que cette erreur va nous conduire
vraiment très loin (toute une partie du chemin va tourner et nous conduire très loin de
l’objectif sur la grille). Mais attention : gardons à l’esprit que dans les deux cas, il s’agit
bien d’un bug… loin ou pas, on ne va pas atteindre l’objectif  ! Si il s’agit de sortir du
labyrinthe mais que juste à côté de la porte il y a un piège… alors on ne veut vraiment
pas se tromper. Même pas un tout petit peu !
•Rechercher des propriétés: par exemple une expression formée dans le premier des
langages présentés ci-avant dans le second –, la mise en évidence de la redondance
d’un langage – par exemple, « tourner-à-gauche » pourrait être remplacé par une
séquence de trois « tourner-à-droite ».

Retrouvez cette annexe sur :


https://pixees.fr/dis-maman-ou-papa-cest-quoi-un-algorithme-dans-ce-monde-numerique-%E2%80%A8/

84
SÉANCE 3

LES LOIS SIMPLES DE L'ÉLECTRICITÉ ANNEXE 16

Arnaud Reugnoat
La Maison du Libre
https://wiki.mdl29.net/doku.php?id=projets:robotarduino

Lois simples d'électricité

Les deux notions fondamentales sont le courant et la tension, elles peuvent être facilement comprises en
prenant l'analogie d'un circuit électronique avec un cours d'eau.

La tension

La tension est une différence de potentiel entre deux points du circuit, ce qui n'est pas très parlant. En
prenant l'exemple d'une écluse sur un cours d'eau, une tension peut-être comparée à la différence de
niveau entre l'amont de l'écluse et l'aval de l'écluse.

Ici la différence de niveau est de 7 mètres. Dans un circuit électronique,


l'unité utilisée est le Volt (V), et sa valeur peut être positive ou négative. La
tension est donc la pression de l'eau.

Le courant

Le courant est la quantité d'électrons qui parcourt le circuit électronique. Il est en général comparé au débit
d'un cours d'eau, lui mesuré en m³/s. Le courant est le diamètre du tuyau d'eau qui permet ce débit. Le
courant d'un circuit utilise l'unité Ampère (A). L’intensité du courant se note avec la lettre I.

Résistance

La résistance est ce qui s'oppose au débit de l'eau ou qui permet de le réguler, c'est le robinet ou les gorges
d'une rivière, les rochers. La résistance est le composant électronique de base dont la principale
caractéristique est d'opposer une plus ou moins grande résistance (mesurée en ohms) à la circulation du
courant électrique. Son unité est donc le Ohm (Ω) et se note R. Exemple de résistance :

Loi d'ohm

La loi d'Ohm permet de lier par une relation simple l'intensité, la


résistance et la tension.

Avec la carte Arduino, il vous faudra protéger vos LED avec une
résistance d'une valeur comprise entre 200Ω et
1kΩ.

85
SÉANCE 4

LA PROGRAMMATION EXPLIQUÉE AUX ENFANTS ANNEXE 17 1/5

LA PROGRAMMATION EXPLIQUEE AUX ENFANTS / ADOLESCENTS

I) Est-ce qu’un ordinateur est intelligent ?

[Poser la question : Qui croit qu’il est plus intelligent qu’un ordinateur et faire un vote à main levée en demandant
à chacun d’expliquer sa position.

Puis demander à un des participants d’exécuter une série d’instructions :

 S’asseoir, se lever plusieurs fois d’affilée


 Avancer d’un pas, puis d’un autre pas, et ainsi de suite jusqu’à arriver devant le mur et continuer de
demander au participant d’avancer d’un pas

Puis demander aux autres enfants, si exécuter ces tâches requièrent de l’intelligence.

Explication :
Un ordinateur calcule très vite, il peut répéter une action plusieurs millions de fois sans se lasser, mais il n’est pas
intelligent.
La différence entre un humain et un ordinateur est que face à une situation nouvelle, l’être humain peut
s’adapter : il essayera de trouver des similitudes entre son expérience et cette nouvelle situation, expérimentera,
fera des suppositions, bref il peut improviser.
Alors qu’un ordinateur lui est incapable d’agir en dehors de ce pourquoi il a été programmé. C’est d’ailleurs un des
enjeux du développement des intelligences artificielles.

II) Vous avez dit programmation ?

Un ordinateur, on vient de le voir, ne fait qu’exécuter les instructions qu’on lui a données.
Derrière chaque programme de l’ordinateur, une personne lui a dit quoi faire et comment le faire.
Et cette personne qui lui a dit quoi faire, c’est un programmeur.

Que ça soit pour créer un jeu vidéo, ou un site internet ou même une application de téléphone : il y a toujours un
ou plusieurs développeurs qui ont expliqué aux ordinateurs, téléphones, tablettes quoi faire.

III) Qu’est-ce que le langage informatique ?

[Poser la question : qui sait quelle langue parle l’ordinateur ?]

Alors le souci quand on veut expliquer quoi faire à un ordinateur, c’est qu’il parle une langue qui s’appelle le
binaire : des 0 et des 1 et rien d’autre !

Le binaire, l’ordinateur le comprend très bien mais pour les humains, c’est compliqué à parler.

86
SÉANCE 4

LA PROGRAMMATION EXPLIQUÉE AUX ENFANTS ANNEXE 17 2/5

[Voici un petit exemple :

J’ai un ami néerlandais qui parle néerlandais mais qui ne parle pas français et moi je parle français mais pas
néerlandais. Comment pouvons-nous faire pour nous comprendre l’un l’autre ?

Peut-être que nous connaissons une langue commune. Effectivement, lui et moi parlons anglais : on va pouvoir
se comprendre ! ]

Avec l’ordinateur c’est pareil, il comprend le binaire, moi pas, on va donc trouver un langage commun : un
langage informatique que lui et moi pourrons comprendre.
Des langages informatiques, il y en a pleins mais ils ont tous la même fonction : donner des instructions.

IV) L’algorithme

Mais même si on peut communiquer avec l’ordinateur, il a sa façon à lui de penser : le binaire.
0 et 1, on peut les assimiler à « Oui » et « Non ». Alors pour expliquer à quelqu’un qui ne comprend que les oui et
non, comment faire pour jouer à Super Mario ? Il va falloir structurer ce qu’on lui demande, être clair, précis et
méthodique. Et pour cela, on utilise les algorithmes.

Derrière ce nom un peu effrayant se cache en réalité quelque chose de très commun.

Un algorithme est une succession d’actions (difficile de faire plus bref comme définition).

Et le meilleur exemple d’algorithme : une recette de cuisine !

Prendre des carottes.


Les éplucher.
Les râper.
Les mettre dans un saladier.
Ajouter de la vinaigrette.
Servir.

Voici l’algorithme des carottes râpées.

Alors vous vous doutez bien, que tous les algorithmes ne sont pas aussi simples. En réalité, il existe ce qu’on appelle
des structures de contrôle qui permettent de les complexifier :

Voici les principales :

 Les conditions,
 Les boucles,
 Les variables.

87
SÉANCE 4

LA PROGRAMMATION EXPLIQUÉE AUX ENFANTS ANNEXE 17 3/5

L’algorithme de la cuisson des pâtes


Demandez à votre public d’écrire la recette pour faire des pates

Prendre une casserole

Mettre de l’eau dans la


casserole

Mettre la casserole sur le


feu

Allumer le feu sous la


casserole

Non

Est-ce que
l’eau bout ?

Oui

Mettre les pâtes dans la


casserole

Attendre 8 minutes

Servir

88
SÉANCE 4

LA PROGRAMMATION EXPLIQUÉE AUX ENFANTS ANNEXE 17 4/5

Les conditions :

Très souvent, nos actions dépendent de plusieurs paramètres :

S’il fait beau  Je ne prends pas de pull.

Les conditions permettent à un programme de faire une action en fonction d’une ou plusieurs informations. Les
termes utilisés sont « Si » et « Sinon » (« If » et « Else » en anglais). Les conditions peuvent s’imbriquer les unes
dans les autres.

S’il fait beau et s’il fait chaud  Alors je sors en Tee-shirt.

Dans notre exemple : SI l’eau bout, alors je mets les pâtes.

Les boucles :
En programmation, un des maîtres-mots est optimisation. Alors souvent plutôt que de réécrire des lignes de codes,
on demande à l’ordinateur de répéter une opération en utilisant une boucle.

Une boucle peut se répéter un certain nombre de fois, ou tant qu’une condition n’est pas vérifiée.

Dans notre exemple : tant que l’eau ne bout pas, il se repose en boucle la question (« Est-ce que l’eau bout ? »).

Un autre exemple :
Imaginons que vous n’ayez une casserole ne pouvant faire des pates que pour 2 personnes et que vous êtes 4, il
faudra donc répéter 2 fois, votre recette.

Les variables :
Les variables sont des espaces de mémoire dans l’ordinateur dans lesquels on peut lui demander de garder une
information pour nous (soit sous la forme d’un nombre soit sous la forme de mots).
Dans un jeu vidéo, votre nombre de vie ou votre score sont des variables :

 Vous pouvez commencer avec votre variable « Vie » = 3,


 Quand vous touchez un ennemie, retire 1 à votre variable « Vie »
 Si vous tombé à variable « Vie » = 0, vous avez perdu

Dans le cas de notre exemple : la recette ne fonctionne que pour des pâtes ayant un temps de cuisson de 8
minutes. Pour du riz longue cuisson, le programme ne fonctionne pas.

Ce que nous allons donc faire, c’est qu’au début de notre recette, nous allons créer une variable que nous
appellerons « temps de cuisson » qui va dépendre de ce que l’on veut faire cuire et après avoir versé le riz dans la
casserole, on va « attendre : temps de cuisson ».

89
SÉANCE 4

LA PROGRAMMATION EXPLIQUÉE AUX ENFANTS ANNEXE 17 5/5

Récupérer variable :
Temps de cuisson

Prendre une casserole

Mettre de l’eau dans la


casserole

Mettre la casserole sur le


feu

Allumer le feu sous la


casserole

Non
Est-ce que
l’eau bout ?

Oui

Mettre les pâtes dans la


casserole

Attendre :
Temps de cuisson

Servir

90
SÉANCE 4

ALGORITHME VS ORGANIGRAMME DE PROGRAMMATION ANNEXE 18

Algorithme VS organigramme de programmation

Un ​algorithme​ est une suite finie et non ambiguë d’opérations ou d'instructions permettant de
résoudre un problème ou d'obtenir un résultat ​(​https://fr.wikipedia.org/wiki/Algorithme​).

Un ​organigramme de programmation ​(parfois appelé algorigramme, logigramme ou plus


rarement ordinogramme) est une représentation graphique normalisée de l'enchaînement des
opérations et des décisions effectuées par un ​programme d'ordinateur​.
(​https://fr.wikipedia.org/wiki/Organigramme_de_programmation​ ).

Une​ différence​ significtive entre algorithme et programme (représenté par un organigramme) est
que l’exécution d’un algorithme doit toujours se terminer avec un resultat, alors que celle d’un
programme peut conduire à une boucle infinie (ne jamais s’arrêter). On peut donc utiliser des
organigrammes de programmation pour représenter un algorithme néanmoins un organigramme
ne représente pas forcément un algorithme.

Pour aller plus loin: ​https://openclassrooms.com/courses/introduction-aux-algorigrammes

91
SÉANCE 4

ORGANIGRAMME DE PROGRAMMATION ANNEXE 19

Organigramme de programmation: bon(ne) perdant(e)

92
SÉANCE 4

ORGANIGRAMME DE PROGRAMMATION ANNEXE 20

Organigramme de programmation : La récréation

93
SÉANCE 5

INSTALLATION DE LA BIBLIOTHÈQUE NEW PING ANNEXE 21

Installation de la bibliothèque NewPing

Bien qu'il soit possible de programmer la carte Arduino avec Ardublock, Scratch, ou
encore Blockly nous allons utiliser l'environnement Arduino.

Lancer l'IDE Arduino

Késako une bibliothèque sous Arduino ?

Les bibliothèques (ou librairie) permettent d'appeler des fonctions toutes prêtes par rap-
port à un shield ou un capteur. La bibliothèque NewPing permet d'utiliser facilement le
capteur de distance (le HC-SR04).

Télécharger le fichier
Bibliothèque NewPing https://wiki.mdl29.net/lib/exe/fetch.
php?media=robotsarduino:newping.zip

http://rosa.lph.bzh/installation_librairie.html
Installation d'une
bibliothèque Télécharger le fichier
http://rosa.lph.bzh/videos/installation_librairie.zip

Télécharger le fichier
Code test des moteurs https://wiki.mdl29.net/lib/exe/fetch.
php?media=robotsarduino:test_moteurs.ino.zip

Télécharger le fichier
Code du robot https://wiki.mdl29.net/lib/exe/fetch.
php?media=robotsarduino:robot_ligue_l9110.ino.zip

Retrouvez cette annexe sur :


https://frama.link/programmationRosa

94
SÉANCES 5, 8

CODE ROSA ANNEXE 22 1/6

Le Code de ROSA

1 Déclaration des constantes1 et variables2

#include <NewPing.h> O
 n importe la bibliothèque New Ping. Elle possède une fonction
qui mesure la distance.

On définit les broches du capteur ultrason :


#define trigPin 12 la broche (pin) Trigger est branchée sur la broche 12 de l’Arduino
#define echoPin 11 la broche (pin) Echo est branchée sur la broche 11 de l’Arduino

NewPing distanceCM (trigPin, echoPin); on initialise la fonction DistanceCM

int maximumDistance = 50; distance maximale acceptée (de 0-450 cm)


int minimumDistance = 0; distance minimale acceptée (en cm)

boolean PasObstacle = false; valeur à false (ou 0) si pas d’obstacle détecté


sinon la valeur prend true (ou 1)

const int distanceObstacle = 15; on définit la distance de détection d’un obstacle, ici
15 cm
int attenteCapteur = 100; valeur en ms

Déclaration des variables pour la vitesse de chaque moteur

Les moteurs ne tournant pas exactement à la même vitesse, vous pouvez modifier les
valeurs suivantes.

La valeur maximale acceptée est 255 (sans unité)

Analogie avec l’électricité : 255 correspond à 5 volts

#define vitesse_MG 150 vitesse du moteur gauche


#define vitesse_MD 150 vitesse du moteur droit

1 Une constante est une variable dont la valeur est inchangeable lors de l’exécution d’un programme.
2 Une variable est un un espace de stockage qui associe un nom à une valeur. Les variables peuvent changer de
valeur au cours du temps.

95
SÉANCES 5, 8

CODE ROSA ANNEXE 22 2/6

On déclare les broches 5, 6, 9, 10 en sortie pour piloter les 2 moteurs

Moteur A (moteur Gauche)

int AIA = 5; connecté à la broche 5 de l’Arduino


int AIB = 6; connecté à la broche 6 de l’Arduino

Moteur B (moteur Droit)

int BIA = 9; connecté à la broche 9 de l’Arduino


int BIB = 10; connecté à la broche 10 de l’Arduino

* Vous pouvez inverser les moteurs, en respectant bien le branchement sur la carte
Arduino. Ex. le moteur gauche devient le moteur droit.

2 La fonction SETUP

La fonction setup() est appelée au démarrage du programme. Cette fonction est uti-
lisée pour initialiser les variables, le sens des broches, les librairies utilisées. La fonction
setup n’est exécutée qu’une seule fois, après chaque mise sous tension ou reset (réini-
tialisation) de la carte Arduino.

void setup()
{
Moteur gauche
pinMode(AIA, OUTPUT);
pinMode(AIB, OUTPUT);
Moteur droit
pinMode(BIA, OUTPUT);
pinMode(BIB, OUTPUT);
stopRobot(); le robot est à l’arrêt
delay(300); pendant 300 ms
}

96
SÉANCES 5, 8

CODE ROSA ANNEXE 22 3/6

3 La fonction LOOP
La boucle (loop) = le programme principal. Le code dans cette fonction est exécuté
en boucle. C’est la partie qu’on utilisera avec les enfants.

void loop()
{
int distance = mesureDistance(); On stocke dans la variable distance la valeur du
capteur en cm

delay(attenteCapteur); Attente en ms entre chaque mesure du capteur

S’il n’y a pas d’obstacle,


if (PasObstacle == false)
{
le robot avance.
avanceRobot();
} Sinon, un obstacle est détecté,
else
{
on arrête le robot
stopRobot();
delay(300); pendant 300 ms (cette valeur est modifiable)
reculeRobot(); on recule le robot

pendant 200 ms (on augmente la valeur


delay(200); si on souhaite reculer plus longtemps)
tourneDroite(); le robot tourne à droite
delay(200); pendant 200ms
}
} Fin de la boucle principale

4 Les fonctions du robot préprogrammées


Nous pouvons utiliser les fonctions suivantes avec les enfants et changer le code princi-
pal qui se trouve dans la fonction LOOP :
- avanceRobot()
- reculeRobot()
- tourneDroite()
- tourneGauche()
- robotSurPlaceGauche()
- robotSurPlaceDroite()
- stopRobot()

97
SÉANCES 5, 8

CODE ROSA ANNEXE 22 4/6

Pour appeler une fonction dans la boucle void tourneGauche()


principale (loop) on utilise la syntaxe sui- {
vante :
Moteur A
avanceRobot();
analogWrite(AIA, LOW);
On rajoute un point-virgule en fin de analogWrite(AIB, LOW);
ligne. Moteur B
analogWrite(BIA, vitesse_MD);
analogWrite(BIB, LOW);
5 Écriture du code pour les fonctions
du robot }

void avanceRobot() void robotSurPlaceGauche()


{ {
Moteur A Moteur A
analogWrite(AIA, vitesse_MG); analogWrite(AIA, LOW);
analogWrite(AIB, LOW); analogWrite(AIB, vitesse_MG);
Moteur B Moteur B
analogWrite(BIA, vitesse_MD); analogWrite(BIA, vitesse_MD);
analogWrite(BIB, LOW); analogWrite(BIB, LOW);
} }

void reculeRobot() void robotSurPlaceDroite()


{ {
Moteur A Moteur A
analogWrite(AIA, LOW); analogWrite(AIA, vitesse_MG);
analogWrite(AIB, vitesse_MG); analogWrite(AIB, LOW);
Moteur B Moteur B
analogWrite(BIA, LOW); analogWrite(BIA, LOW);
analogWrite(BIB, vitesse_MD); analogWrite(BIB, vitesse_MD);
} }

void tourneDroite() void stopRobot()


{ {
Moteur A digitalWrite(AIA, LOW);
digitalWrite(AIB, LOW);
analogWrite(AIA, vitesse_MG); digitalWrite(BIA, LOW);
analogWrite(AIB, LOW); digitalWrite(BIB, LOW);
Moteur B }
analogWrite(BIA, LOW);
analogWrite(BIB, LOW);
}

98
SÉANCES 5, 8

CODE ROSA ANNEXE 22 5/6

Fonction qui retourne la valeur en cm du capteur ultrason


unsigned int mesureDistance()
{
déclaration de la variable locale où sera stockée la distance en cm
int cm = distanceCM.ping_cm(); on lit la valeur du capteur ultrason

on définit la plage de détection du capteur


if (cm > distanceObstacle || cm <= minimumDistance)
{
PasObstacle = false; on renvoie false car il n’y a pas d’obstacle
}
else sinon
{
PasObstacle = true; on renvoie true si un obstacle est détecté
}
return cm; on retourne la distance du capteur en cm
}

6 Récapitulatif des instructions :

• Déclaration d’une variable : on vient avec cette ligne stocker la valeur à droite du
signe égal (=) dans la variable à gauche du signe égal.
int maximumDistance = 50;
Dans notre cas, cela signifie que la variable appelée maximumDistance viendra
prendre la valeur 50. Le mot clé int en début de phrase signifie que la variable sera
un nombre entier.

• Les blocs d’instructions : setup regroupe toutes les instructions qui seront exécutées
au démarrage du programme. La fonction setup n’est exécutée qu’une seule fois,
après chaque mise sous tension ou reset (réinitialisation) de la carte Arduino.
loop (boucle en anglais) contient les instructions que l’on souhaite voir exécutées en-
core et encore tant que l’Arduino est branché.
void setup() { }
void loop() { }

• Les fonctions : sont des instructions qui permettent d’exécuter une ou plusieurs ac-
tions. Les fonctions sont définies avec :
Un nom : ce qu’on devra taper pour appeler la fonction.
Une ou des entrées : ce sont des variables passées à la fonction appelées para-
mètres ou arguments. Ces arguments sont placés entre parenthèses.
Une sortie : le résultat de la fonction qui peut être stocké dans une variable.

99
SÉANCES 5, 8

CODE ROSA ANNEXE 22 6/6

Prenons l’exemple de la fonction suivante :


analogWrite(AIB, LOW);

Dans ce cas, le nom de la fonction est analogWrite. Nous passons deux pa-
ramètres à la fonction : AIB et LOW. La fonction analogWrite n’a pas de sortie.
Avec cette fonction, nous éteignons la broche située sur la broche passée
avec le premier paramètre (qui peut être un nombre ou une variable).
Lorsque le second argument est placé à LOW, on vient d’arrêter le moteur.
Tandis qu’on mettra en marche le moteur si le second argument utilise un
nombre entier supérieur à 0. Ce nombre est compris entre 0 et 255. Faisons
l’analogie avec l’électricité :

0 correspond à 0 volt.

255 correspond à 5 volts.


Plus la tension est élevée plus le moteur tournera vite.

•A
 utres fonctions
pinMode configure la broche spécifiée dans le premier paramètre pour qu’elle se
comporte soit en entrée (INPUT), soit en sortie (OUTPUT) passée avec le second para-
mètre :

pinMode(AIA, OUTPUT);

delay correspond au temps d’exécution d’une fonction. La durée est mesurée en


millisecondes:

avanceRobot()
delay(200); Le robot avancera pendant 200ms

Pour aller plus loin : Compléments sur la programmation Arduino par Eskimon :


http://eskimon.fr/category/arduino/partie-2

Arnaud Reungoat Juin 2016


http://mdl29.net License : GNU General Public License

Retrouvez cette annexe sur :


https://frama.link/codeRosa

100
SÉANCE 6

PRÉSENTATION DU PROJET ANNEXE 23

Fiche individuelle
Mon projet prend comme base un robot
(cocher les bonnes cases) humanoïde
mékhano centré
zoo centré
autres, à préciser

Quel est le thème ou scénario ?

Le robot sera capable de


(cocher les bonnes cases) avancer
reculer
tourner à droite
tourner à gauche
détecter un obstacle
tourner sur place
à droite
tourner sur place
à gauche

101
SÉANCE 6

NOTRE PROJET DE ROBOTIQUE ANNEXE 24

Nom de notre projet

Nom de notre studio

Nom des personnes composant


notre studio

Description de notre projet

Notre projet prend comme base un robot humanoïde


(cocher les bonnes cases) mékhano centré
zoo centré
autres, à préciser

Il lui apporte les transformations suivantes


(personnalisation)

Quel est le thème ou scénario ?

Le robot sera capable de avancer


(cocher les bonnes cases) reculer
tourner à droite
tourner à gauche
détecter un obstacle
tourner sur place à droite
tourner sur place à gauche

Les grandes étapes (lister les différentes


choses à faire pour la réalisation
du projet)

Qui a fait quoi ? (répartition du travail Nom Responsable de


entre les différents membres de l’équipe)

102
SÉANCE 6

GABARIT DE LA CARTE ÉLECTRONIQUE UTILISÉE ANNEXE 25

Auteur : Baptiste Gaultier


Gabarit de la carte Arduino

103
SÉANCES 6, 7

MODÈLE BOÎTE DE ROBOT ANNEXE 26

2016
Robot boîte

104
SÉANCES 9, 10

PRÉSENTATION DU PROJET ANNEXE 27

Nom du robot

Présentation du robot et de l’environment :

Quels sont les commandes informatiques


utilisées :

Quel est le but de notre robot :

Comment avons-nous créé ce robot


(forme déjà existante, robot créé
complètement, quelle construction du
décor etc.) ?

105
SÉANCES 9, 10

TUTORIEL PREZI ANNEXE 28

Tutoriel Prezi
Actualisation de ce tutoriel en ligne avec les dernières modifications de l’interface Prezi
le 23 septembre 2014.

Pour pouvoir faire une utilisation pertinente d’un outil, il est indispensable de le connaître, de
s’entraîner, de le pratiquer. Après et seulement après on pourra choisir celui-ci, ou un autre.
La présentation Prezi qui suit permet une prise en main rapide de cet outil de présentation
dynamique.

Retrouver le tutoriel sur :


http://blogs.univ-poitiers.fr/t-roy/2014/04/10/tutoriel-prezi-en-francais/

Retrouvez cette annexe sur :


http://blogs.univ-poitiers.fr/t-roy/2014/04/10/tutoriel-prezi-en-francais/

106
SÉANCES 9, 10

DIDACTICIEL SOZY ANNEXE 29

Créer
Tutoriels
•V
 otre première présentation
(http://sozi.baierouge.fr/pages/tutorial-first-fr.html)
•U
 tiliser les calques
(http://sozi.baierouge.fr/pages/tutorial-layers-fr.html)
• L es effets de transition
(http://sozi.baierouge.fr/pages/tutorial-transitions-fr.html)
•C
 réer un lien vers une vue ou une URL
(http://sozi.baierouge.fr/pages/tutorial-links-fr.html)
• Insérer une présentation Sozi dans une page HTML
(http://sozi.baierouge.fr/pages/tutorial-embedding-fr.html)
•M
 ontrer et cacher des objets
(http://sozi.baierouge.fr/pages/tutorial-showing-hiding-fr.html)
• Insérer de l'audio ou une vidéo
(http://sozi.baierouge.fr/pages/tutorial-media-fr.html)
•C
 onvertir les présentations Sozi en PDF ou en vidéo
(http://sozi.baierouge.fr/pages/tutorial-converting-fr.html)
•A
 méliorer les performances
(http://sozi.baierouge.fr/pages/tutorial-performance-fr.html)

Obtenir de l'aide et signaler un problème


• F oire Aux Questions et résolution des problèmes
(http://sozi.baierouge.fr/pages/faq-fr.html)
•R
 ejoindre le groupe de discussion des utilisateurs de Sozi
(http://groups.google.com/group/sozi-users)
• S ignaler un problème et proposer de nouvelles fonctionnalités
(http://github.com/senshu/Sozi/issues)

Partager vos présentations


Il n'y a actuellement aucune plate-forme de partage des présentations Sozi.
Vous pouvez trouver des examples de présentations et ajouter des liens vers
vos propres présentations sur le site Sozi Community Wiki (http://sozi.wikidot.com/).

Retrouvez cette annexe sur :


http://sozi.baierouge.fr/pages/30-create-fr.html

107
La réalisation de ce parcours éducatif
a été confiée à la Ligue de l’enseignement :

Antonin Cois,
Responsable « D-Clics numériques »

Melpomeni Papadopoulou,
Chargée de projet « Ingénierie pédagogique
pour l’éducation au et par le numérique »

Le parcours a mobilisé des experts locaux et nationaux :

Arnaud Reungoat
Membre fondateur de l’association La Maison du Libre
Animateur Petits Hackers
https://mdl29.net/

Brian Benatier
Coordinateur départementale
Francas de Seine Maritime
www.francas.asso.fr

Eric Chaumet
Médiateur numérique,
Réseau CANOPE
www.reseau-canope.fr

Régis Leloup
Coordonnateur technique et pédagogique
Colombbus
www.colombbus.org

Stéphane Brunel
Président de la Ligue de l’Enseignement de la Gironde
Maitre de conférences - Université de Bordeaux - Laboratoire IMS UMR 5218 CNRS
Enseignant chercheur à l’ESPE de l’Académie de Bordeaux
www.laligue.org

Adrien PAYET
Directeur du CRREP
Centre de Ressources en Robotique Educative
et Professionnelle

Ainsi que les 22 personnes du groupe de travail réunies


les 12,13 et 14 septembre 2016 à Paris.
© Agence 4août - Illustration Lou Rihn

Votre avis est important et nous permet d’améliorer


la qualité de notre parcours éducatif.
Prenez quelques minutes pour nous le laisser sur :
www.frama.link/satisfactionmediassociaux

Les contenus sont en Licence Creative Commons


https://creativecommons.org/choose partagé dans les mêmes conditions
et pas d’autorisation pour une utilisation commerciale

Cette licence permet aux autres de remixer, arranger, et adapter cette œuvre
à des fins non commerciales tant qu’on nous crédite en citant nos noms
et que les nouvelles œuvres sont diffusées selon les mêmes conditions.

Le projet national
D-clicsnumeriques.org est coordonné par

Vous aimerez peut-être aussi