Samedis bénévoles spécial Arduino Workshop n°2

Transcription

Samedis bénévoles spécial Arduino Workshop n°2
Samedis bénévoles spécial Arduino
Workshop n°2
EVRY, 5 SEPTEMBRE 2015
1/7
SOMMAIRE
1.
Présentation .................................................................................................................................... 3
1.1.
Pourquoi Arduino ? ..................................................................................................................... 3
1.2.
Les workshops ............................................................................................................................. 3
1.3.
Pré-requis : retour sur le 1er workshop spécial Arduino ............................................................. 3
2.
Se perfectionner avec l’Arduino ...................................................................................................... 4
2.1.
Le programme de la deuxième session ....................................................................................... 4
2.2.
Les séquences de la 2ème session ................................................................................................. 4
2.3.
Le matériel nécessaire (pour les deux sessions) ......................................................................... 5
2/7
1. Présentation
1.1. Pourquoi Arduino ?
Apparue au milieu des années 2000, la plate-forme Arduino a été largement adoptée dans les milieux artistiques, la
robotique de loisirs et la domotique. Matériel « Open Source », c'est-à-dire libre d’utilisation et de reproduction, elle
fonctionne à partir de microcontrôleurs de la société Atmel et peut être programmée à l’aide d’un environnement de
développement logiciel (IDE ou Integrated Development Environnement) en licence libre lui-aussi.
En 2015, ce circuit est très largement répandu et il existe de nombreux ouvrages en français et en anglais
accompagnant sa mise en œuvre ainsi qu’une communauté de développeurs très active qui partage des bibliothèques
de code qui en augmentent les possibilités.
Une première application est celle du contrôle et de la commande de robots autonomes ou filoguidés dans le cadre des
Trophées de la robotique. Mais la relative facilité de mise en œuvre et d’apprentissage de cette technologie permettent
des applications très diverses, en particulier pour la mesure de grandeurs physiques (éclairement, température,
distance…) et la régulation (alimentation solaire, charge d’un accumulateur ou d’un supercondensateur).
Enfin, le prix de ce circuit (quelques dizaines d’euros) et la gratuité de son environnement permettent de le mettre à la
portée des particuliers et des clubs de loisirs ou établissements scolaires.
La mise en œuvre de cette technologie suppose cependant une connaissance des bases de l’algorithmique et de la
programmation, étant précisé que des outils visuels d’aide au développement basés sur une logique proche de celle du
logiciel Scratch du MIT devraient prochainement arriver à maturité et se diffuser.
1.2. Les workshops
Ces deux workshops ont pour but de donner les bases nécessaires à l’utilisation du circuit Arduino pour piloter un robot
1
et réaliser les actions de jeu des Trophées de la robotique organisés par Planète Sciences.
Ils s’adressent à un public désirant se former à la programmation et évoluer vers des logiques de commandes de robot
de plus en plus poussées, comme pour le pilotage d’un robot autonome, par exemple.
Il permettent également d’ouvrir les possibilités d’applications à de nombreux champs ou disciplines : défis solaires,
fusées, mesures physiques, œuvres d’art, environnement…
Articulé en 2 sessions d’une journée découpées en séquences, il permettent une mise à niveau et l’acquisition d’un
bagage de base sur les possibilités de l'arduino, directement utilisable pour réaliser un robot en vue des Trophées et
d’apporter dans un deuxième temps un complément sur des points délicats ou des opportunités de réalisation avec ce
circuit.
1.3. Pré-requis : retour sur le 1er workshop spécial
Arduino
Organisée en quatre séquences alternant des présentations et des manipulations sur une plaque d’expérimentation et
avec un ordinateur, ce premier workshop visait l’apprentissage de la programmation et du contrôle des moteurs, des
capteurs et des actionneurs.
A l’issue de ce workshop, les participants devaient connaître et si possible maîtriser :
- le principe et l'intérêt d'utiliser l'Arduino en robotique (versus solutions basées sur des circuits et des transistors),
l'installation des drivers et de l'environnement de développement ;
- le strict nécessaire permettant de programmer l’Arduino pour le pilotage d’un robot : contrôle des moteurs, de la
1
http://www.planete-sciences.org/robot/?section=pages&pageid=84
3/7
direction du robot avec un joystick ou deux potentiomètres, commande de servomoteurs classiques et de
servomoteurs à rotation continue, programme anti-rebond des boutons pour fiabiliser le fonctionnement du robot.,
qui seront assemblées dans un programme final permettant de contrôler le robot ;
- Appliquer le programme réalisé en matinée à des composants physiques : servomoteurs et moteurs ;
- Connaître les conditions de bon fonctionnement de l'arduino et d'un robot piloté par lui : séparation des alimentations,
filtrage de l'alimentation des moteurs et des servomoteurs, protection par fusible, mise à la masse, transposition du
circuit de la plaque d'expérimentation sur un circuit imprimé
2. Se perfectionner avec l’Arduino
2.1. Le programme de la deuxième session
Dans le prolongement de la première, cette 2ème session apporte des compléments sur des points délicats ou des
opportunités de réalisation avec Arduino.
Elle vise à renforcer les compétences en programmation et à ouvrir des pistes sur l’utilisation d’une variété de capteurs
et de périphériques d’entrée et à sécuriser la mise en œuvre de l’Arduino comme composant d’un robot.
Symétriquement, elle aborde de façon concrète la commande de différents actionneurs avec la réalisation pratique d’un
afficheur par LEDs.
Enfin, elle amène les participants au cœur de la robotique en étudiant puis en mettant en pratique un asservissement
simple en pilotant la rotation d’un servomoteur selon la mesure réalisée par un capteur et traitée par un programme de
l’Arduino.
2.2. Les séquences de la 2ème session
Séquence
Durée
Objectif
Pré-requis, déroulement et résultat
ère
Séquence 1
Programmer comme
un pro
1h
Erreurs fréquentes et
débogage,
règles
pratiques et conseils
pour mettre au point un
programme rapidement,
gestion des librairies,
réutilisation
et
assemblage du code
Pré-requis : Avoir suivi la 1
session ou disposer de
connaissances en programmation
Déroulement : un diaporama est présenté et un
programme est élaboré puis modifié en direct par
l’animateur avec un exemple de la démarche de
correction de bugs
Résultat : une approche consolidée de la programmation
de l’Arduino et la maîtrise des bibliothèques de code qui
permettent de gérer certains capteurs et actionneurs
Pré-requis : un ordinateur et une carte Arduino installée
et paramétrée, un capteur de distance, une
photorésistance, une plaque d’expérimentation
Déroulement : Les capteurs physiques sont présentés
avec leur correspondance dans un programme. Au choix,
les manipulations pourraient concerner :
Séquence 2
Capteurs et
périphériques
d'entrée
2h
Maîtriser la gestion des
capteurs
et
le
paramétrage
et/ou
l’étalonnage de l’Arduino

Démonstration puis application par chaque
participant de la mesure d’une distance et de la
détection d’obstacle par des capteurs ultrasons et
infrarouge ;

Mesure d’une intensité lumineuse ;

Réglages des paramètres de l'arduino (point mort
d'un servomoteur à rotation continue, vitesse des
moteurs) par un potentiomètre.
Résultat : chaque participant disposera de procédures
permettant de gérer différents capteurs et qui pourront
4/7
être intégrés dans un programme de commande de
l’Arduino
Une pause casse-croûte car on devrait avoir atteint la mi-journée
Pré-requis : un ordinateur et une carte Arduino installée
et paramétrée, un servomoteur classique, un afficheur à
LED 4 digits, un circuit de commande de l’afficheur, 1
résistance de 10K, une plaque d’expérimentation
Séquence 3
Actionneurs et
afficheurs
2h
Maîtriser la commande
de servomoteurs et
gérer un afficheur à
LED
Déroulement : un rappel sur la commande de
servomoteurs en faisant varier l’angle d’un servomoteur
classique et en lisant la valeur de la position obtenue.
La gestion des afficheurs par un montage autour de
l’Arduino qui pilote un afficheur 4 digits à 7 LED. Indication
de la manière d’étendre le montage à une matrice de
LED. Affichage de chiffres et de lettres sur l’afficheur
Résultat : chaque participant disposera de procédures
permettant de gérer différents actionneurs et qui pourront
être intégrés dans un programme de commande de
l’Arduino
Séquence 4
Asservissement
1h
Mettre en pratique ce
qui a été acquis lors
des
3
premières
séquences
en
assemblant
leur
résultat
Pré-requis : les connaissances théoriques et pratiques
acquises au cours de la journée
Déroulement : commande de l'angle d'un servomoteur à
partir d'une distance mesurée en intégrant le montage du
matin (mesure) et celui de l'après-midi (affichage) par un
programme Arduino, tests et mise au point.
La distance mesurée est affichée ainsi que l’angle. Le
servomoteur se déplace d’une valeur égale à cet angle
pour permettre, par exemple, d’atteindre une cible par un
tir parabolique (action de jeu Préhistobots, Trophées
2014)
Résultat : une connaissance approfondie de la mise en
œuvre de l’Arduino dans un contexte réel
2.3. Le matériel nécessaire (pour les deux sessions)
Les matériels nécessaires pour la 2ème session sont indiqués en gras :
- un module Arduino (type uno, mega ou due, sachant
que le UNO est suffisant pour ces ateliers)
- un circuit de commande de moteurs à 2 voies de type L298N
(max 2A)
- 2 moteurs à courant continu standards (pas de moteur pas à
pas ni brushless) 3 à 6V, 2A maxi
- 1 servomoteur à rotation continue
- 1 servomoteurs classique
- 1 plaque d'expérimentation (moyen modèle)
- 1 sachet de connecteurs pour plaque d'expérimentation
- 1 afficheur 7 LEDs, 5 segments
- 1 circuit MAX-7219 pour le pilotage de l'afficheur
- 10 résistances de 200Ω,
- 5 résistances de 1KΩ
- 5 résistances de 10KΩ
- 1 condensateurs de 1000µF
- 2 condensateurs de 10nF
- 1 capteur ultra-sons de type SRF05
- 1 capteur infrarouge (module émetteur-récepteur)
de type Sharp GP2Y0A21
- 1 photorésistance
- 3 LED rouge, 3 jaunes, 3 bleues, 3 vertes, 3
blanches
- 1 connecteur pile 9v
- 1 bouton joystick type playstation et son support
- 3 boutons poussoirs (à fermeture)
- 1 petit interrupteur 1A maxi
5/7