Vous êtes sur la page 1sur 21

Arduino-Easycon-Organigram

Cahier 0
connatre le matriel et le prparer

Tutoriel

Ce premier cahier va vous permettre de comprendre le choix de la carte


arduino, et des cartes shield Easycon 1 et 2, pilotes par le logiciel
Organigram pour automatiser vos maquettes.
On va ensuite initialiser l'interface arduino afin qu'elles soit utilisable,
sinon l'interface ne sera pas reconnue par le logiciel! MAIS cette
prparation n'est faire qu'une seule fois...

Sommaire:

Introduction aux cartes arduino


Cartes shield Easycon1 et Easycon 2
Assemblage des cartes

P.2
P.3
P.4

Prparation: programmation/initialisation de linterface


Installation et enregistrement du logiciel Organigram
Configuration de la mmoire externe
Configuration et gestion d'un afficheur LCD
Configuration de l'horloge temps rel
Alimentation d'une interface arduino
Comprendre le cblage des connecteurs jack
Connecter le potentiomtre
Connecter des moteurs
Utiliser la tlcommande
Connecter un servomoteur

P.5
P.7
P.8
P.9
P.12
P.13
P.14
P.15
P.17
P.18
P.19

PRECAUTIONS

P.21

cahier_0_initialisation.odg
Attribution-NonCommercial-ShareAlike 2.0 France

INTRODUCTION AUX INTERFACES ARDUINO

Qu'est-ce qu'Arduino ?
C'est une plate-forme open-source d'lectronique programme qui est base sur une simple carte
microcontrleur (de la famille AVR), et un logiciel, vritable environnement de dveloppement
intgr, pour crire, compiler et transfrer le programme vers la carte microcontrleur.
Arduino peut tre utilis pour dvelopper des objets interactifs, pouvant recevoir des entres
d'une grande varit d'interrupteurs ou de capteurs, et pouvant contrler une grande varit de
lumires, moteurs ou toutes autres sorties matrielles. Les projets Arduino peuvent tre
autonomes, ou bien ils peuvent communiquer avec des logiciels tournant sur votre ordinateur (tels
que Flash, Processing ou MaxMSP). Les cartes lectroniques peuvent tre fabriques
manuellement ou bien tre achetes pr-assembles ; le logiciel de dveloppement open-source
peut tre tlcharg gratuitement.
Le langage de programmation Arduino est une implmentation de Wiring, une plate-forme de
dveloppement similaire, qui est base sur l'environnement multimdia de programmation
Processing.
Pourquoi Arduino:
pas cher : les cartes Arduino sont relativement peu coteuses comparativement aux
autres plate-formes. La moins chre des versions du module Arduino peut tre assemble la
main, et mme les cartes Arduino pr-assembles cotent moins de 25 uros (microcontrleur
inclus...) !!!
multi-plateforme : le logiciel Arduino, crit en Java, tourne sous les systmes
d'exploitation Windows, Macintosh et Linux. La plupart des systmes microcontrleurs sont
limits Windows.
un environnement de programmation clair et simple : l'environnement de programmation
Arduino (= le logiciel Arduino) est facile utiliser pour les dbutants, tout en tant assez flexible
pour que les utilisateurs avancs puisse en tirer profit galement.
logiciel Open Source et extensible : le logiciel Arduino et le langage Arduino sont publis
sous licence open source, disponible pour tre complt par des programmateurs expriments.
matriel Open source et extensible : les cartes Arduino sont bases sur les
microcontrleurs Atmel ATMEGA8, ATMEGA168, ATMEGA 328, etc... Les schmas des modules
sont publis sous une licence Creative Commons, et les concepteurs de circuits expriments
peuvent raliser leur propre version des cartes Arduino, en les compltant et en les amliorant.
Mme les utilisateurs relativement inexpriments peuvent fabriquer la version sur plaque d'essai
de la carte Arduino, dans le but de comprendre comment elle fonctionne et pour conomiser de
l'argent.

Mais pour nos besoins en technologie avec nos lves, la


connectique et la programmation restent compliques et cela
ncessiterait d'y passer trop de temps.
2

CARTES DEXTENSION SHIELD


Shield Easycon 1
La carte EASYCON1 permet de connecter facilement 20 entres-sorties linterface Arduino
Mega. Les embases jacks stro 2,5mm servent la connectique avec les cordons et les cartes
I/O prsentes. Extensible selon vos besoins, grce ces connecteurs stackables, et l'adjonction
d'une carte EASYCON2 (18 entres supplmentaires).
Deux kits optionnels de composants permettront d'tendre les capacits du shield en lui ajoutant :
- une commande de deux moteurs courant continu (contrle de la vitesse et de la direction).
- une ou deux "banks" de mmoire EEPROM externe pour le stockage des projets autonomes.
Carte souder soi-mme
Kit commande de 2 moteurs

OU

Kit mmoire

Carte monte
Vous pouvez choisir de
l'acheter monte, ou
monter (prix diffrents...)

A souder sur la carte

Shield Easycon 2
La carte, ou shield, EASYCON2 permet de connecter facilement 18 entres-sorties linterface
Arduino Mega. Les embases jacks stro 2.5mm servent la connectique avec les cordons et les
cartes I/O prsentes. Extensible selon vos besoins, grce ces connecteurs stackables, et
l'adjonction d'une carte EASYCON1 (20 entres supplmentaires).
Deux kits optionnels de composants permettront d'tendre les capacits du shield en lui ajoutant :
- une horloge temps rel sauvegarde par pile qui donne accs la gestion horaire.
- une ou deux "banks" de mmoire EEPROM externes pour le stockage des projets autonomes.

En kit ou mont

+
A souder soimme

ASSEMBLAGE DES CARTES


Easycon1

+
Interface Arduino
Mega
Programme avec
l'interprteur de
commande

Easycon2

Shield pour Arduino


Mega :
Easycon1 +
Easycon2

On assemble les
trois cartes:
INTERFACE

Mais vous pouvez bien sr n'utiliser que linterface arduino, ou bien la carte
arduino avec seulement la carte Easycon1 ou la carte Easycon 2.

Les cartes additionnelles pour linterface arduino sont nommes


shield (pas encore de traduction franaise), les cartes
easycon respectent le brochage de ces shields et vous
permettent donc den empiler autant que voulues pour tendre
les possibilits de votre interface.

PROGRAMMATION / INITIALISATION DE LINTERFACE


Pr-requis:
avoir tlcharg et dzipp le logiciel Arduino
la platine est reconnue par windows grce au pilote (voir dossier Arduino-1.0.1\drivers\) et un
priphrique Port COM est rajout avec le nom Arduino MEGA 2560

1) Lancez lenvironnement de programmation Arduino en cliquant sur le fichierarduino.exe

2) Cliquez sur Fichier puis Ouvrir puis


slectionnez SHELL_MEGA24.INO que vous aurez
tlcharg et dzipp depuis:
http://www.techno-zone-51.fr/attachment.php?id_att
achment=21

3) Cliquez sur Outils puis Type de carte puis slectionnez la carte dont vous disposez.

4) Cliquez sur Outils puis Port Srie puis slectionnez le port COM sur lequel est connecte
votre carte (si plusieurs port COM vous sont proposs, il faudra les tester un un jusqu trouver
lequel fonctionne ou vrifier dans le Gestionnaire de priphriques).

Cliquer sur licne


pour tlverser le programme dans la carte. Le programme est tout dabord
compil puis il est transfr dans la carte. Normalement le message Done uploading indique
que tout sest bien pass. En cas de message derreur, retentez lupload en ayant pris soin de
choisir un autre port COM...

VOTRE CARTE EST


MAINTENANT PRETE POUR
RECEVOIR LES SHIELD
EASYCON

INSTALLATION ET ENREGISTREMENT DU LOGICIEL


ORGANIGRAM
1) Pour le tlcharger, cliquer sur le lien ci-dessous
http://www.techno-zone-51.fr/logiciels/20-organigram.html
ORGANIGRAM permet de commander vos cartes arduino en dessinant un organigramme.
Particulirement adapt pour automatiser facilement des maquettes pdagogiques, le logiciel est
ouvert et permet de choisir soi mme la syntaxe prsente dans l'organigramme.
Pr-requis pour faire fonctionner ORGANIGRAM :
- une carte Arduino Uno ou Arduino Mega initialise (voir pages 5 & 6)
2) Un fichier setup Organigram s'est charg: double-cliquer dessus et suivre les instructions pour
installer le logiciel.
3) Quand le logiciel est install, un dossier Organigram est cr dans C:\Program Files\.

4) Lancer le logiciel et cliquer sur Option puis Enregistrement (si vous avez achet le logiciel):

5) Slectionner le type de licence

6) Saisir les donnes reues lors de votre


commande.

7) Cliquer sur Enregistrer le produit.

CONFIGURATION DE LEXTENSION DE MEMOIRE EXTERNE


Les cartes dinterface EASYCON1 et EASYCON2 peuvent tre
quipes dun kit de mmoires externes afin daugmenter les
capacits de stockage de vos organigrammes en mode autonome
(sans PC). Les organigrammes stocks dans ces slots de mmoire
pourront donc sexcuter sans laide de lordinateur et en parallle
(voir page 3).
1) En mode expert: cliquer sur Options, puis Configuration Slots
mmoire/LCD/Horloge temps rel.

1
2) Cliquer sur Configuration Mmoire.
3) Pour chacune des BANK mmoire,
slectionner le composant que vous avez
install. Dans lexemple ci-contre, une mmoire
24C256 a t installe sur lemplacement
BANK0 et une 24C256 sur lemplacement
BANK1 de la carte EASYCON1. Les
emplacements vides sont laisss sur NONE.
4) Cliquez ensuite sur les boutons Formater la
Bank X en face des composants mmoire
installs afin de vider proprement et de formater
ces mmoires nouvellement installes.
5) Puis cliquez sur Valider les modifications et
quitter.
6) Vous pouvez aussi utiliser le slot mmoire
interne de la carte Arduino. (Slot0) et le
formater.

2
6

3
4
5

CONFIGURATION DUN AFFICHEUR LCD SUR BUS I2C


Organigram permet de grer tout afficheur LCD Alphanumrique interface I2C.

ATTENTION ! COUPER LALIMENTATION DE LA CARTE


ARDUINO AVANT DE BRANCHER VOTRE AFFICHEUR LCD

Le fil rouge se place sur


le 5V du connecteur I2C

1) En mode expert: cliquer sur Options, puis Configuration Slots mmoire/LCD/Horloge


temps rel.
2) Cliquer sur Gestion de l'afficheur LCD.

3
4
3) Cocher la case Un cran LCD est connect sur le port I2C puis renseigner les champs
suivants :
Adresse I2C de lafficheur : ladresse I2C du composant (par dfaut 39)
Nombre de lignes : indiquez le nombre de lignes (1, 2 ou 4)
Nombre de caractres par ligne : indiquez le nombre de caractres par ligne (16 ou 20)
4) Cliquez sur le bouton Modifier la configuration de lcran LCD pour mettre jour la carte
Arduino. Dsormais celle-ci gre lcran LCD.

5) Les actions par


dfaut de l'cran LCD:

Mais on peut en crer d'autres. Voici un tableau pour comprendre les codes actions:

Voici un exemple: on crit la date sur la


ligne 0 et la temprature sur la ligne 1

10

6) Cliquer sur Ajouter une


action

7) Cliquer sur le libell et le modifier:

7
8) N'oublier pas d'activer les actions pour qu'elles apparaissent ou non lors de l'dition des
organigrammes:

Exemple de ce que peut donner


l'organigramme pour afficher la date
et la temprature:

11

CONFIGURATION DE LHORLOGE TEMPS REEL


Organigram gre lhorloge temps rel base de
DS1307 qui est disponible en option sur la carte
EASYCON2 (voir page 3). Cette option donne
la possibilit de faire de la gestion horaire
dans vos organigrammes.

1) En mode expert: cliquer sur Options, puis Configuration Slots mmoire/LCD/Horloge


temps rel.
2) Cliquer sur Gestion de l'horloge temps rel.

2
1
3

3) Il vous suffit de cocher la case Une horloge DS1307 est connecte au bus I2C .
4) cliquer sur le bouton Mettre jour lhorloge Temps Rel pour que lhorloge prsente dans le
DS1307 soit mise lheure ( partir de lheure systme de votre ordinateur) et dmarre.
Cette mise lheure nest effectuer que la premire fois ou si la drive de lhorloge devient trop
importante. Assurez vous que lhorloge systme (date et heure) de votre ordinateur soit correcte
avant de cliquez sur le bouton Mettre jour lhorloge temps rel.

12

ALIMENTATION DUNE INTERFACE ARDUINO


La carte Arduino Mega 2560 peut-tre alimente soit via la connexion USB (qui fournit 5V jusqu'
500mA), soit l'aide d'une alimentation externe. La source d'alimentation est slectionne
automatiquement par la carte.
L'alimentation externe (non-USB) peut tre soit un adaptateur secteur (pouvant fournir
typiquement de 3V 12V sous 500mA) ou des piles (ou des accus). L'adaptateur secteur peut
tre connect en branchant une prise 2,1mm positif au centre dans le connecteur de la carte.

La carte peut fonctionner avec une alimentation externe de 6 20 volts. Cependant, si la carte est
alimente avec moins de 7V, la broche 5V pourrait fournir moins de 5V et la carte pourrait tre
instable. Si on utilise plus de 12V, le rgulateur de tension de la carte pourrait chauffer et
endommager la carte. Aussi, la plage idale recommande pour alimenter la carte est entre 7V et
12V.

OU

Trs utile pour rendre autonome la carte ( robot)!


Malgr le connecteur pour pile 9V, il vaut mieux
connecter un bloc de piles de 1,5V (6 8) pouvant
fournir une puissance plus importante
(de 2000 3000 mAh).

13

CABLAGE CONNECTEUR JACK

A : Tresse: 3
B : Rouge: 2
C : Blanc: 1
Pour tre sr, il faut vrifier avec un ohmtre.

Pour le voltmtre qui va servir analyser le signal

Corps : noir
Pointe : rouge
Ici, on choisit de
changer les
couleurs pour que
les lves aient
les codes couleur
habituels: noir et
rouge.
Soit on ressort le fer
souder, soit on achte
des adaptateurs car les
ddoubleurs pour jack
2,5 nexistent pas...

14

CONNECTER LE POTENTIOMETRE
Cette carte d'entre-sortie se connecte rapidement sur une
entre analogique:
- JA0 JA9 sur le shield Easycon 1
- J49 J51 sur le shield Easycon 2
Ce capteur analogique va utiliser une variable S relative la
position du potentiomtre.
Un cas particulier d'utilisation pour ce potentiomtre: faire varier l'intensit lumineuse d'une LED.
Dans ce cas, il faudra connecter la Carte LED sur une sortie de puissance de J6 J11 sur le
shield Easycon 1
Carte LED

Carte
Potentiomtre

Par dfaut, les actions disponibles d'une Carte LED sont:


- Allumer la LED verte
- teindre la LED verte

Il va donc falloir ajouter


une action qui va prendre
en compte la variable S du
potentiomtre relative sa
position.

15

1) Cliquer sur Ajouter une


action.

2) Cliquer sur le libell et le modifier en rajoutant le code action M11#S (le 11 reprsente le numro
de la broche).

3) N'oubliez pas d'activer l'action pour qu'elle apparaisse lors de l'dition des organigrammes.

Exemple
de
ce
que
peut
donner
l'organigramme pour faire varier l'intensit
lumineuse d'une LED commande par un
potentiomtre.

16

CONNECTER LES MOTEURS


Pour pouvoir commander simplement deux moteurs, vous pouvez
acheter et ajouter le kit de commande de deux moteurs CC pour
EASYCON1 (voir page 3 du cahier 0).
Ensuite vous pouvez simplement brancher en direct les moteurs sur le
bornier du connecteur X1
eu
nect
Con

r X1

MOT A

MOT B

On peut slectionner diffrentes sources pour lalimentation des deux moteurs laide du Header
2x2 broches rfrenc JP1 et de deux straps amovibles selon le tableau ci-dessous :

On peut ensuite connecter jusqu' 6 autres moteurs supplmentaires en utilisant des cartes
Commande de deux moteurs cc:

Cordons jack

17

LA TELECOMMANDE

L'dition d'un organigramme contenant une tlcommande ncessite d'avoir une certaine logique.
Voici ci-dessous un exemple d'organigramme:

On commence par vrifier quaucune touche na t appuye.


Si aucune touche de la tlcommande na t appuye, on reboucle vers le dbut du programme
(on peut galement insrer ici dautres actions raliser en boucle).
Si une touche de la tlcommande a t appuye, on teste sil sagit de la touche marche/arrt
ou de la touche mode ou dune autre. Dans tous les cas, il faut imprativement vider le
tampon de la tlcommande avant de revenir sur la boucle principale car un test ne vide pas le
tampon. Si lon oublie de vider le tampon de la tlcommande, le premier test Aucune touche de
la tlcommande nest appuye sera toujours ngatif crant une boucle infinie.

18

CARTES SORTIE SERVO-MOTEUR

La carte actionneur "sortie Servo-Moteur alimentation


spare" permet d'ajouter une sortie pour Servo Moteur
de modlisme. Cette carte d'entre-sortie se connecte
rapidement sur une sortie servo de la carte EASYCON1.
L'alimentation du servo-moteur doit tre fournie par une
alimentation spare de 5V rgule et stabilise (6V
maximum sous peine de destruction des servo-moteurs
standards).
La carte actionneur "sortie Servo-Moteur" permet
d'ajouter une sortie pour Servo Moteur de modlisme.
L'alimentation du servo-moteur tant directement
prise du 5V de la carte EASYCON1, il est conseill
de ne connecter que deux servo-moteurs.

Chaque servo-moteur standard


consomme environ
500mA. Pour commander 4 servo-moteurs standards, il
vous faudra donc une alimentation de 5V 2A.

Lorsque vous connectez


une carte servo-moteur sur
l'easycon, il y a 4 actions
par dfaut:
Rotation du servomoteur en fonction
d'un potentiomtre.

Rotation du servo-moteur
en fonction d'angle prcis.

Il est possible bien sr d'ajouter d'autres actions dont les angles sont diffrents.

19

1) Cliquer sur Ajouter une action

2) Cliquer sur le libell et le modifier en rajoutant le code action Sbbaaa (bb reprsente le numro
de la broche et aaa reprsente l'angle en degrs).

3) N'oubliez pas d'activer l'action pour qu'elle apparaisse lors de l'dition des organigrammes.

3
Cas particulier des servomoteurs rotation continue

L'angle que vous allez prciser dans vos actions va permettre de fixer la vitesse du
servomoteur (avec 0 tant la pleine vitesse dans un sens, 180 tant la pleine vitesse dans
l'autre sens, et une valeur proche de 90 entranant l'arrt).

20

PRECAUTIONS
1) Attention au branchement et dbranchement chaud des cordons jacks.
Ne jamais manipuler des cordons jacks (les brancher ou dbrancher des cartes) lorsque la carte
est alimente (par USB ou alimentation externe). Cela va occasionner des courts circuits! Si
vous voulez retirer ou ajouter des cordonsavec des cartes:
- dbrancher l'alimentation lectrique de votre interface
- dconnecter USB avec votre ordinateur
- brancher ou dbrancher votre cordon jack.
- connecter l'USB
- brancher l'alimentation lectrique
- sur le logiciel Organigram, il faut vous reconnecter la maquette en cliquant sur la roue
dente

2) Lors de la mise en fonctionnement de la carte Arduino, les broches de celle-ci sont


automatiquement mises 1, d'o la mise en route des moteurs qui y sont connects jusqu ce
que le programme SHELL_MEGA dmarre rellement. En effet il y a un temps de latence
d'environ 1s d au dmarrage/initialisation de la carte arduino.
Durant tout ce temps, les broches restent 1 ! Ce n'est que lorsque SHELL_MEGA dmarre
qu'elles sont initialises 0 (les moteurs s'arrtent).
Pour pallier ce problme, il faut ajouter un interrupteur chaque moteur.
Avant chaque mise en fonctionnement de la carte arduino, il faut couper les moteurs.

Un interrupteur
permet de couper
rapidement le
moteur:

cahier_0_initialisation.odg
Attribution-NonCommercial-ShareAlike 2.0 France

21