D' RD IN
Erik Bartmann 2eedition
Vl
CJ)
0L..
>-
w
lJ)
..-I
0
N
@
....
L:
Ol
·;:
~ EYROLLES
u
22 montages a realiser avec Arduino
Avec son pet it m icrocontr61eur hautement pe r forman t et Electronicien de format ion, Erik
fac il ement programmable, la plate - forme lib re Arduino Bartmann est aujourd'hu i deve-
a revol utionne le mouvemen t Do It Yourself. Se couplant loppeur pour le principal fournisseur
aiseme n t avec d'au tres composants (ecrans LC D. cap- europeen d'infrastructures info r-
teu r s. moteurs...). elle est devenue aujo u rd'hu i un element matiques. Passionne d'electronique
depuis toujours, ii est l'auteur de
indispensable dans de nombreux d ispositifs electroniques .
p lusieurs ouvrages sur Arduino,
Sa simplicite d 'utilisatio n, l'et endue de ses applicatio ns et
Processing et le Raspberry Pi, parus
son prix mod ique ont conqu is u n large public d'amateurs
aux editions O'Rei lly.
et de professionnels : passionnes d'electronique, designers,
ingenieurs, musiciens ...
Vl
Q) Sur www.serialmakers.com
0.....
>- Telec ha rgez le code source des sketches Ard u i no
w
Lf) presentes dans cet ouvrage.
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0.. www.editions-eyrolles.com
0
u
www.serialmakers.com
LE GRAND LIVR E
D'ARDUINO
Vl
(])
0
'-
w
>-
U)
..-!
0
N
@
......
.J::.
Ol
·;:
>-
a.
0
u
CHEZ LE MEME EDITEUR
C. B osQu :E, 0. NooR et L. RICARD. - FabLabs, etc. Les nouveaux lieux de fabrication numerique.
N°13938, 2015, 216 pages.
Vl
Q)
....
0
>-
w
Lf)
<M
0
N
@
~
.c
OI
·c
>-
Cl.
0
u
Erik Bartmann
LE GRAND LIVRE
D'ARDUINO
Deuxieme edition
Vl
CJ)
0L..
>-
w
lJ)
..-I
0
N
@
~
·;:
EYROLLES
>-
a.
0
u
EDITIONS EYROLLES
61, bd Saint-Germain
75240 Paris Cedex 05
www.editions-eyrolles.com
Authorized French translation of the German edition of Die elektronische Welt mil Arduino entdecken, 2.Aujlage by
Erik Bartmann, ISBN 978-3-95561-115-6 © 2014 by O' Reilly Verlag GmbH & Co. KG. This translation is published
and sold by permission of O'Reilly Media, Inc., which owns or controls all rights to publish and sell the same.
Traduction autorisee de l'ouvrage en langue allemande intitule Die elektronische Welt mil Arduino entdecken,
2.Auflage d 'Erik Bartmann (ISBN: 978-3-95561-115-6)
Vl
Q)
....
0
>-
w
Lf)
<M
0
N
@
~
En application de la Joi du 11 mars 1957, ii est interdit de, reproduire integralement ou pattiellement le present ouvrage,
~ sur quelque support que ce soit, sans l'autorisation de l'Editeur ou du Centre Fran9ais d'exploitation du droit de copie ,
·~20, rue des Grands Augustins, 75006 Paris .
~ ©Groupe Eyrolles, 2015, ISBN: 978-2-212-14117-7
u
Avant-propos
u
>-
a.
0
0
Nouveautes de la deuxieme
edition
Depuis la sortie de la premiere edition de mon livre sur Arduino, les
choses ont quelque peu evolue : de nouvelles cartes Arduino sont
apparues sur le marche, ouvrant de nouvelles voies creatives. J'en
presenterai quelques-unes au chapitre 2 en detaillant leurs avantages
et inconvenients.
II n'est pas facile pour Arduino de s'affirmer alors que vient d'arriver
l'ordinateur monocarte Raspberry Pi . Beaucoup d'entre nous se sont
deja laisse seduire par Jes promesses de ce nano-ordinateur qui, avec
son systeme d'exploitation Linux et son connecteur GPIO, offre des
possibilites infi nies. Pourtant, je ne pense pas qu' il puisse detroner la
carte Arduino, qui possecte deux atouts majeurs : d'une part, elle est
specifiquement destinee a la realisation de montages electroniques et,
d'autre part, elle est tres facile aprogrammer au moyen du langage Cl
C++. D'ailleurs, dans le domaine du prototypage - le montage rapide
de circuits interactifs -, Arduino a toujours une longueur d' avance.
Yous avez une idee, vous attrapez votre carte Arduino et vous
commencez a programmer et a connecter des composants.
Toutefois, il n'est pas etonnant que de nombreux fans d' Arduino se
sentent menaces par le Raspberry Pi qui fait figure d'etranger ou
d'intrus. Mais ii me semble qu' il se base sur une tout autre approche.
II est davantage destine aux debutants en informatique qui souhaitent
s'initier adifferents langages et decouvrir les principes fondamentaux
de la programmation. 11 convient parfaitement pour un premier
contact avec un mini-ordinateur qui, au fond, n'a rien a envier a un
veritable ordinateur : comme ses aines, ii est dote de ports pour un
clavier, une souris, un ecran, une connexion reseau ou des peri-
pheriques USB, de memoire et d'un processeur.
Arduino, au contraire, a ete con9u pour offrir aux bricoleurs un outil
leur permettant de parvenir rapidement a un resultat exploitable.
L 'interactivite est et demeure au premier plan. La carte Arduino est
imbattable dans le domaine de la collecte de donnees de capteurs
devant etre traitees quasiment en temps reel pour declencher certaines
VJ
Q) (re)actions, comme le pilotage d'actionneurs (moteurs, servomoteurs).
0L..
>- Aujourd'hui, on a tendance a adopter des positions tres tranchees.
UJ
lf) Tout est soit bon, soit mauvais, noir ou blanc. L 'esprit de competition
..-!
0 domine. Pourtant, pourquoi Jes deux environnements ne pourraient-
N
ils pas coexister ? Grace au Raspberry Pi, Arduino pourrait etendre le
@
......
..c
en
·;:
>-
a.
0
Avant-propos
u
champ de ses possibilites creatives en repoussant encore les limites au
point que tout, ou presque, serait envisageable. Cela dit, nous nous
interesserons essentiellement a Arduino dans ce livre, sinon ii aurait
fallu lui donner un autre titre.
Ah, j ' allais oublier un detail. II existe une nouvelle carte Arduino
dotee d'un processeur additionnel sur lequel tourne une distribution
Linux. II s'agit de I' Arduino Yun. Comme vous pouvez le constater,
Jes developpeurs d' Arduino ne se reposent pas sur leurs lauriers et ils
ont senti le vent tourner ! Cette nouvelle carte allie la technologie
Arduino existante au systeme d'exploitation Linux : Jes deux univers
peuvent communiquer pour echanger des donnees ou des informa-
tions. Je parlerai aussi de cette nouvelle carte dans ce livre.
Cette deuxieme edition s'est egalement etoffee d'un nouveau chapitre
sur le logiciel de prototypage Fritzing, et de trois nouveaux montages
exploitant le Raspberry Pi et la carte Yun.
Structure de l'ouvrage
Yous allez certainement vite remarquer que le style ernploye dans cet
ouvrage differe un peu de ce qu'on peut lire habituellement. En effet,
j' ai opte pour un ton f amilier et complice. Au fil des pages, je vous ai
donne )e role d'un Candide qui pose ~a et fa des questions, qui YOUS
sembleront pertinentes dans certains cas, et stupides dans d'autres -
mais c'est totalement voulu. En raison de la clarte et de la simplicite de
certains sujets, on se refuse parfois a poser des questions de peur d'etre
ridicule. Dans ce livre, vous ne connaltrez pas ce sentiment puisque,
par chance, quelqu'un d'autre posera ces questions a votre place!
Par ailleurs, j 'ai prefere ne pas vous confronter des le debut de
l'ouvrage aux principes de l'electronique et de la programmation
Arduino, car cela aurait donne au livre une approche trop scolaire que
je souhaitais precisement eviter. Aussi, Jes thematiques seront abor-
dees en temps voulu et integrees dans des exemples. Yous ne dispo-
serez ainsi que du strict necessaire au moment precis de
l'apprentissage. En outre, les principales instructions sont regroupees
a la fin du Jivre dans Un referentieJ que YOUS pourrez consulter a tout
ui moment si besoin.
Q)
u
>-
a.
0 @
proprement dit. Je clos enfi n le chapitre par un recapitulatif des
domaines abordes, ce qui permertra de renforcer encore un peu plus
les connaissances acquises.
La plupart des langages de programmation etant d' origine ameri-
caine, toutes les instructions seront en anglais. Naturellement, j'expli-
querai tous les tenn es qui le meritent.
Yoici comment sont presentes la plupart des 22 montages proposes
dans I' ouvrage. Vous y trouverez, dans l' ordre :
• les composants necessaires ;
• le code du programme ;
• la revue de code ()'analyse du code);
• le schema electrique ;
• la conception des circuits ;
• les problemes couramment rencontres (et que faire si cela ne
marche pas du premier coup ?) ;
• un recapitulatif de ce que nous avons appris;
• un exercice complementaire pour approfondir la thematique.
Certaines experiences soot accompagnees de releves d'oscilloscope
OU d'enregistrements d'analyseur logique visant a mieux faire
comprendre le parcours du signal.
@ Attention !
Lorsque vous rencontrerez cet encadre, lisez-le attentivement afin de g arant ir
le succes de votre montage.
Pour certains montages, je proposerai des solutions Quick & Dirty qui
Vl
Q) pourront surprendre a premiere vue. Mais elles seront suivies d'une
0..... variante arneUoree qui devrait vous faire dire : « Tiens, s;a marche
w
>- aussi comrne s;a et meme pas mal du tout ! Cette solution est encore
Lf)
.-I meil leure. »Si c'est le cas, alors j'aurai atteint le but que je m'etais
0
N fixe. Sinon, ce n'est pas grave : tousles chemins menent a Rome .. .
@
.4-J
.J::.
01
·;:
>-
0..
0
Avant-propos
u
Code source de l'ouvrage
Le code des sketches Arduino presentes dans cet ouvrage est dispo-
nible a l' adresse http://www.serialmakers.com/livres/le-grand-livre-
arduino. Vous y trouverez egalement des complements et des liens
utiles.
Prerequis
Le seul prerequis personnel est d'aimer le bricolage et les expe-
riences. Nul besoin d'etre un freak de l'electronique ou un expert en
informatique pour comprendre et reproduire les montages de ce livre.
Nous commencerons en douceur afin que chacun puisse suivre. Ne
vous mettez pas de pression, le premier objectif de cet ouvrage est de
vous distraire !
Composants necessaires
Notre carte Arduino est certes bien sympathique, et nous apprecions
que tout y soit si bien pense et si petit. Mais ii faudra quand meme
passer a l'etape suivante et connaitre tout ce qu'il est possible d'y
raccorder. Si vous n'avez pas l' habitude de manipuler des compo-
sants electroniques (resistances, condensateurs, transistors,
diodes ... ), pas d'inquietude. Chacun fera l'objet d'une description
detaillee, afin que vous sachiez comment ii reagit individuellement et
au sein du circuit. Pour chaque montage, j ' indiquerai en outre la liste
des composants necessaires. Naturellement, l' element-de de tout
circuit sera toujours la carte Arduino, mais je ne la mentionnerai pas
forcement de maniere explicite. A ceux qui se demandent combien
coute une carte Arduino et s'ils pourront conserver Jeur train de vie
apres un tel achat, je repondrai : « Yes, you can ! » Elle est tres bon
marche, aux alentours de 25 euros.
Dans tous les exemples, j ' utilise la carte Arduino Uno, la plus popu-
laire. Je presenterai aussi la carte Arduino Yun qui utilise Linux, mais
qui coute tout de meme la bagatelle de 60 €environ .
ui
Q) Dans tout ce livre, j' ai veille a n' utiliser aucun composant rare,
0L.. sophistique ou couteux. D'ailleurs, vous qui ne jetez surement rien,
>-
UJ vous avez peut-etre encore a la cave ou au grenier des appareils elec-
lf)
..-! troniques usages (scanner, imprimante, lecteur de DVD, magneto-
0
N scope, radio, etc.) que vous pourrez demonter pour recuperer divers
@
......
..c
en
·;:
u
>-
a.
0
0
composants. Mais attention, assurez-vous gue Jes appareils soient
toujours debranches avant de les ouvrir : faute de quoi, vous risque-
riez de nous quitter avant la fin de l'ouvrage !
Toutes les experiences sont realisees avec une tension d'alimentation
de 5 OU 12 V.
~ Figure 1
La carte Arduino Uno
~ Figure2
La carte Arduino Yun
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0.. Avant-propos
0
u
Recommandations
Arduino etant une carte permettant de realiser toutes sortes d' expe-
riences en y branchant des composants et des cables d'uoe part, et
l'erreur etant hurnaine d'autre part, je reclame ici toure votre atten-
tion.
La carte est directement reliee a l'ordinateur via l'interface USB.
Autrement dit, une faute d'ioattention cornme un court-circuit sur la
carte peut dans le pfre des cas nu.ire a votre machine, notamment au
port USB, et endommager la carte mere. Pour eviter cela, branchez un
concentrateur USB entre l' ordinateur et la carte Arduino. A vec quatre
ports, il coute souveot moins de 10 €.
Par ailleurs, la carte Arduino presente beaucoup de contacts sur sa
face inferieure ; ce sont des points de soudure par Jesquels Jes compo-
sants sont fixes et relies entre eux. Ils sont evidemment cooducteurs
et particulierement sujets a des interconnexions indesirables. Dans le
pire des cas, la loi de Murphy s'applique et vous creez un court-
circuit. Je sais de quoi je parle, car j' ai deja « fusille » plusieurs cartes
de cette maniere. Aussi, tirez parti des fautes des autres pour fafre
mieux ! Meme si bien sO.r, vous avez aussi le droit a J'erreur, qui est
une etape obligee dans le deroulement d'un apprentissage reussi.
t
Prise USB connectee
Vl
Q)
a l' ordinateur
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
u
~ Figure4
La carte Arduino Uno vue
de dessous
.. . .. ...
0..... Pour finir, je vous presente votre guide, qui se prenomme Ardus. Il
w
>- Sera present a VOS cotes tout au Jong de Ce Jivre et posera Jes questions
Lf)
.-I
que personne n'ose poser.
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
8 1------------------------------- Avant-propos
u
Cool mec ! J'ai hate de voir ~a. On va s'en occuper, nous, du bebe ...
euh ... de la carte Arduino, pas vrai ?
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Avant-propos
- - - - - - -0
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Table des matieres
VJ
Q)
Chapitre 9 : Les bases de la programmation . . . . . . . . . . . . . . . . . . . . . . . . . . 185
0L.. Qu'est-ce qu' un programme ou sketch ? ................................... . 185
>-
UJ Que s1.gm.f.1e tra1tement
. des donnees
, ?.. .. . ...... . .. . .. . ... . .. . .. . ... . .. . .. . . 187
lf)
.--!
Structure d'un sketch Arduino ... . .. . ...... . .. .. ..... .. . . ... . .. . .. .. . . ... . 204
0 Combien de temps dure un sketch sur la carte ? .. .. . . .. .. .. . .. .. . . ... . .. . .. . . 206
N
@
......
..c.
en
·;:
>-
a. 8 , . _ _ - - - - - - - - - - - - - - - - - - - - - - - - Table des matieres
0
u
Chapitre 1O : Programmation de la carte Arduino ..................... 211
Les ports numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1
Les ports analogiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
L'interface serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
0L..
>- Montage 1o : Des detecteurs de lumiere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
UJ
lf) Comment fonctionne un detecteur de lumiere ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
..-!
0 Composants necessaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
N
@ Code du sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
.....
..c.
en
·;:
>-
a.
0
u
Table des matieres 0
Revue de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1
Schema.............................................................. 372
Realisation du circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Nous devenons comm unicatifs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Arduino l'emetteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Processing le recepteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Problemes courants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1
Qu'avez-vous appris? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Exercice complementaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
VJ
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
.....
..c
en
·;:
>-
a.
0
Table des matieres -------------------------8
u
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Partie I
Les bases
Ill
Q)
0
L..
>-
UJ
lJ)
...-t
0
N
©
......
L
Ol
·;::
>-
a.
0
u
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Chapitre
Qu'est-ce qu'un
microcontroleur ? 1
Si Yous n'y tenez plus et que Yous voulez deja brancher votre Arduino
et proceder a la premiere experimentation, Yous pouyez sauter alle-
grement ce chapitre, qui decrit les principes du microcontroleur, et y
revenir peut-etre plus tard.
Un microcontr6leur est un circuit integre (ou IC, Integrated Circuit),
qui rassemble sur une puce plusieurs elements complexes dans un
espace reduit. Au temps des pionniers de I' electronique, on soudait un
grand nombre de composants encombrants, tels que les transistors, les
resistances ou les condensateurs, sur des cartes plus ou moins
grandes. Aujourd' hui, tout peut loger dans un petit boi'tier en plas-
tique noir muni d'un certain nombre de broches. Ces dernieres sont
les connexions du circuit integre au moyen desquelles s'effectue
la communication. La figure 1-1 montre un microcontroleur
ATmega328, qu'on trouve sur la carte Arduino.
~ Figure 1-1
Microcontroleur ATmega328
(source: Atmel)
Vl
Q)
0..... AYee ses dimensions reduites, ii dispose pourtant d'une grande puis-
w
>-
sance de calcul. En fait, ii suffit de le souder sur une carte et de le
Lf)
.-I mettre sous tension pour pouvoir l'utiliser. Certes, il manque encore
0
N quelques composants (par exemple, des stabilisateurs de tension, des
@
.4-J
.J::.
01
·;:
>-
0..
0
u
connexions pour la programmation, et d'autres sur lesquels nous
reviendrons plus tard), mais ii est cependant sous cette forme deja
(presque) pret a l'emploi.
A quoi sert-il ?
Maintenant, YOUS YOUS demandez peut-etre a quoi Sert un microcon-
troleur et ce qu'on peut faire avec. A cela, je peux repondre que Jes
possibilites sont innombrables et dependent uniquement de votre
creativite.
Les microcontroleurs jouent un role preponderant dans Jes domaines
suivants - cette liste est loin d'etre exhaustive et sert surtout a se faire
une idee des diverses possibilites d' utilisation.
• Fonctions de surveillance dans des environnements critiques, par
exemple dans des cages thoraciques (temperature, humidite,
freq uence cardiaque, pression sanguine du premature ... ).
• Commande de chauffage : controle de la temperature externe ou
interne pour le chauffage optimal de locaux.
• Stimulateurs cardiaques : surveillance de la frequence cardiaque
et, le cas echeant, stimulation du creur.
• Appareils menagers : par exemple, commande par programme
enregistre dans des lave-linge ou lave-vaisselle modernes.
• Electronique de loisirs : lecteurs MP3, telephones portables,
appareils photo ...
• Robotique : par exemple, commande de robots industriels pour
le montage de pieces automobiles.
Cette liste peut ainsi se poursuivre a l'infini, mais nous pouvons
d'ores et deja remarquer une chose: les microcontroleurs per~oivent
des infl uences exterieures par le biais de capteurs, Jes traitent en
interne a l' aide d'un programme, puis envoient des ordres de
commande correspondants vers J'exterieur. Us font done preuve
d' une certaine intelligence, qui depend bien evidemment du
programme mis en reuvre. Un microcontroleur peut assurer des fonc-
tions de mesure, de commande et de regulation.
ui
Q)
Regardons maintenant de plus pres le fonctionnement d'une boucle
0L..
>- de regulation. Elle se compose d'un processus en boucle fermee
UJ
lf)
comportant une perturbation. Un capteur transmet cette derniere au
.-f
0
microcontroleur qui reagit alors en fonction de son programme .
N
@
......
..c
en
·;:
u
>-
a.
0
8 Partie I : Les bases
Imaginez le scenario suivant. Yous vous trouvez au sein du systeme
de controle de chauffage qtti regule la temperature de votre local de
travail. Le capteur dit au microcontroleur: « Dis done, ii fa ir plutot
chaud dans le local de travail ! » Le microcontroleur reagit alors en
regulant la temperature. Le chauffage apporte done moi ns d'energie
sous forme de chaleur dans le local. Le capteur le remarque et dit au
microcontroleur : « La temperature est maintena nt celle souhaitee,
soit 20 °C. » De !'air froid provenant de l'exterieur rentre petit a petit.
Le capteur donne l'alerte et dit au nticrocontroleur : « II comme nce a
fai re froid ici et mon bonhomme va tomber malade, ii faut faire
quelque c hose ! » Le microcontroleur augmente la temperature e n
conseque nce. Yous voyez, c'est un jeu de ping-pong: ici , en l'occur-
re nce, une boucle de regulation qui reagit a des influe nces perturba-
trices e xterieures liees a des variations de temperature.
Stop. j 'ai deja une questjon ! Yous nous avez djt tout a l ' heure que le
microconlroleur etait deja prel a l 'emploi. Mills ou se Lrouve son
programme et ou stocke-t-il ses donnees? Yous avez surement oubl ie
de parter des modules de slockage qui doivent encore eLre raccordes.
Bonne question, mais vous ne savez pas encore tout sur notre
microcontroleur ! Pri s comme tel - et c'est ce que nous fa isons - ,
c'est un ordinateur complet sur un espace reduit au maxi mum, avec
done les eleme nts suivants :
• unite centrale (CPU) ;
• me moire de travail ;
• me moire de donnees ;
• horloge interne ;
• ports d'entree et de sortie.
Un microcontroleur se di vise grossierement en trois parties :
VI
<lJ
• unite centrale (CPU) ;
0
'-
>- • memoires (ROM et RAM) ;
LU
LI)
,..-!
• ports d'entree et de sortie.
0
N
©
.....
£.
01
·;::
u
>-
a..
0
Chapitre l : Qu'est-ce qu'un microcontroleur ? -------------------0
L'horloge inteme, ou l'oscillateur qui pem1et de piloter l'unjte centrale, a
ere laissee de cote pour le moment. Les elements qui composent un
microcontroleur sont comparables aux peripheriques d'un ordinateur. La
difference reside dans le fait que les trois parties citees precedemment
sont integrees au microcontroleur. Elles se trouvent toutes dans le meme
boitier, ce qui est plus simple et plus compact.
Jetons maintenant un coup d'ceil au schema fonctionnel de notre
microcontrOleur.
Bus de donnees
Horloge inteme
Unite centrale
(CPU)
Osc1llateur
t
Bus de donnees
Contr61eur
Ports d'entree
d'interruptions
et de sortie (110)
(IRQ)
0.....
w
>- Le bus de donnees
Lf)
.-I
Le bus de donnees sert a transporter Jes donnees d'un bloc a un autre.
0
N Par exemple, le CPU demande des donnees provenant de la rnemoire,
@ qui sont prises en charge par le bus et immediatement mises a disposi-
......
.J::.
01
·;:
u
>-
0..
0 (01 - - - - - - - Partie I : Les bases
tion pour traitement. Lorsque le resultat du calcul est disponible, ii est
a nouveau transfere sur le bus et transmis a un port de sortie qui, par
exemple, pilote un moteur de robot pour atteindre un but precis. Cette
structure de bus est une autoroute de donnees utilisable en commun
par tous ceux qui sont desservis.
~ Figure 1-3
Sur I'autoroute des donnees:
« Prochain arret, memoire ! »
u
>-
0..
0 Chapitre 1 : Qu'est-ce qu'un microcontroleur? -----------------0
type EEPROM , et ses donnees peuvent etre ecrasees au besoin par
l'insertion d'une nouvelle version. On dit alors que le BIOS est
« reflasM ». Le contraire se produit dans les memoires de donnees
dites SRAM. Ces dispositifs sont voJatHs et Jes donnees rnemorisees
sont perdues des qu'il ya coupure d'alimentatioo. Mais rien de grave
puisque ces dernieres ne soot necessaires que Jorsque le programme
est execute. Quand le microcontroleur est sans courant, il n'a rien
besoin de calculer. Mais la memoire SRAM a sur la memoire flash un
avantage tres important : elle offre un acces plus rapide.
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 (01 - - - - - - - Partie I : Les bases
En prjncjpe, Jes ports d'entrees-sorties sont soit numeriques, soit
analogiques - nous verrons plus loin ce qui les differencie.
Le controleur d'interruption
Un microcontroleur est equipe d'un controleur dit d'interruption.
Qu'est-ce que c'est et a quoi sert-il? Imaginez le scenario suivant.
Yous allez vous coucher le soir et vous voulez vous lever le lendemain a
6 h 00 pour avoir le temps de vous !aver, de prendre votre petit dejeuner
et d'arriver a l'heure avotre travail. Mais comment faire? Deux possibi-
lites s' offrent avous, qui donnent des resultats differents.
• Cas n° 1. Yous reglez votre reveil sur 6 h 00 avant d'aller vous
coucher. Yous pouvez ainsi dormir tranquille, sans la crainte
d'oublier de vous reveiller le lendemain. Le reveil se declenche a
l'heure souhaitee, et vous arrivez frais et dispo sur votre lieu de
travail.
• Cas n ° 2. Yous allez vous coucher et, comme vous n'avez pas de
reveil, vous vous relevez toutes les 30 minutes pour verifier
l'heure qu'il est pour ne pas rater le moment de vous lever. A
6 h 00 du matin, vous etes creve et incapable de travailler car
vous avez passe votre nuit a vous reveiJler.
Je pense que pour tout le monde le choix est vite fait: le cas n° 1 est
preferable et plus econome en ressources.
Transposons maintenant cet exemple a notre microcontroleur. Un
commutateur surveillant l' etat d' une vanne est raccorde au port
d'entree numerique. Notre microcontrOleur pourrait ainsi etre
programme pour interroger I' etat du commutateur a intervalles brefs
et reguliers. Cette interrogation cyclique appelee polling (OU interro-
gation) est, dans ce cas, plutot inefficace car !'unite centrale est solli-
citee pour rien. Une surveillance par interruption s'avere ici bien plus
avantageuse. L'unite centrale suit le cours normal de son programme
et ne reagit que si une interruption se produit. Le travail de fond
s'interrompt un court instant et bascule dans une routine d'interrup-
tion (ISR, ou Interrupt Service Routine). Celle-ci contient des instruc-
tions qui indjquent l' action a effectuer. Apres cela, on revient au
Vl
Q) travail de fond et a l'endroit precis OU !' interruption s'est produite,
0..... comme si rien ne s' etait passe.
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
u
>-
0..
0 Chapitre 1 : Qu'est-ce qu'un microcontroleur? -----------------0
Arduino est-ii un microcontroleur ?
Ce chapitre est consacre aux principes generaux d'un microcontro-
leur. Vous en connaissez maintenant !es principaux composants
(unite centrale, memoires, ports) et vous savez a quoi ils servent.
Mais vous etes desonnais en droit de vous poser la question suivante :
« Arduino est-il un microcontroleur a proprement parler '? » La
reponse est oui, sans aucun doute ! ll possecte bien tous Jes cornpo-
sants dont nous avons parle er !es reunit en son sein . Mais il cohabite
aussi avec d'autres composants sur une carte compacte, dont nous
all ons parler dans le prochain chapitre.
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0.. Partie I : Les bases
0
u
Chapitre
La famille Arduino
2
Arduino Leonardo
La carte Arduino Leonardo est consideree comme le successeur
officiel de I' Arduino Uno. Elle est equipee du microcontroleur
ATmega 32U4 qui communique aussi via !'interface USB, de sorte
qu'un processeur suppJementaire est inutile. La carte peut etre
programmee en tant qu' hote USB pour lequel differentes classes de
clavier et souris soot disponibles. D' ailleurs, la carte Arduino
Leonardo peut aussi etre programmee en tant que HID (Human Inter-
face Device). En plus du port materiel UART, auquel le microcon-
troleur a acces depuis la classe Seriall, un port COM virtuel (VCP :
Virtual COM-Port) est accessible via USB et peut etre sollicite par le
biais de Serial.
VJ
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 2 : La famille Arduino ----------------------0
Figure 2-2 .,.
La carte Arduino Leonardo
w
>- Lacarte Arduino Mega 2560
Microcontroleur ATmega 2560
Lf)
.-I Frequence d'horloge 16MHz
0
N Tension de service sv
@ Tension d'entree (recommandee) 7-12 v
.4-J
.J::.
01 Tension d'entree (limites) 6-20V
·;:
>-
0..
0
Chapitre 2 : La famille Arduino -----------------------0
u
Tableau 2-3 (suite} .,..
Ports numeriques 54 entrees et sorties (15 sorties commutables en MLI)
La carte Arduino Mega 2560
Ports analogiques 16 entrees analogiques
Courant maxi. par broche d'E/S (c.c.} 40mA
Courant maxi. par broche 3,3 V 50mA
Memoire 256 Ko Flash, 8Ko SRAM, 4Ko EEPROM
Chargeur d'amor~age 8 Ko (en memoire Flash}
Interface USB
Dimensions 10,16 cm x 5,3 cm
Prix (approximatif} 47€
Arduino Esplora
ui
Q)
L' Arduino Esplora est une carte sur laquelle est basee I' Arduino
0L..
>- Leonardo. Si vous l'examinez de plus pres, vous constaterez qu'elle
UJ
lf)
est dote d'un certain nombre de capteurs, qui ne soot pas presents sur
.-f
0
la carte Arduino Uno ni sur d'autres cartes.
N
@
......
..c
en
·;:
u
>-
a.
0
0
~ Figure2-4
La carte Arduino Esplora
u
>-
0..
0
Chapitre 2 : La famille Arduino ----------------------0
Tableau 2-4 (suite} .,..
Memoire 32 Ko Flash, 2,5 Ko SRAM, 1 Ko EEPROM
La carte Arduino Esplora
Chargeur d'amor~age 4 Ko (en memoire Flash}
Interface USS
Dimensions 16,51cmx6 cm
Prix (approximatiO 50€
Boarduino V2.0
Si vous envisagez d'acheter une carte Boarduino, sachez que vous
devez avoir un fer a souder sous la main, car elle est livree en pieces
detachees a assembler soi-meme, a savoir :
• un microcontr6leur ;
• un support de circuit a28 broches ;
• une carte;
• des connecteurs.
J' avais annonce que je ne presenterai que des modeles Arduino origi-
naux, mais je vais tout de meme faire une exception. Comme la
plupart des clones, celui-ci est compatible avec Arduino. II a ete
ui conr; u pour etre monte sur une plaque d'essais sans soudure. Yous
trouverez des notes d'assemblage detaillees a la page http://learn.
Q)
0L..
>- adafruit. com/boarduino-kits!usb-boarduino-assembly.
UJ
lf)
.-f
0
N
@
......
..c
en
·;:
u
>-
a.
0
0 ~--------------------------- Partie I : Les bases
'
----
.. ...
. ... ..
..............
--
_ -
-'
'
~,
.~
.. '
.' ~
,_
--~--
... ~ Figure 2-S
Le kit Boarduino
u
>-
0..
0
Chapitre 2 : La famille Arduino ----------------------0
Arduino Nano
La carte Arduino Nano possede des connecteurs au dos qui permet-
tent de l'enficher facilement sur une plaque d'essais, ce qui evite
d'avoir recours a des cavaliers flexibles, comme pour l' Arduino Uno.
Ne vous laissez pas abuser par les dimensions de cette minicarte dont
les performances n' ont (presque) rien a envier aI' Arduino Uno.
Figure2-6 .,..
La carte Arduino Nano
Arduino LilyPad
La plateforme Arduino LilyPad est destinee aux plus creatifs d'entre
nous qui veulent coudre des circuits electroniques sur leurs vete-
ments, par exemple. Les raccordements electriques ne se font pas par
cables, mais par des fils conducteurs. D 'apres le fabricant, le cornpo-
sant est lavable. Toutefois, je vous deconseille de le passer en
machine. Lavez-le delicatement a la main avec un detergent doux.
Autre precaution : pensez bien a debrancher l'alimentation electrique
avant le nettoyage !
~ Figure2-7
La carte Arduino LilyPad
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 2 : La famille Arduino ----------------------0
Yoici un resume des specifications de la carte Arduino LilyPad :
Tableau 2-7 .,. Categorie Valeur
La carte Arduino LilyPad
Microcontroleur ATmega 168 Vou 328 V
Frequence d'horloge 8MHz
Tension de service 2,7-5,5 v
Tension d'entree (recommandfe) 2,7-5,5 v
Ports numeriques 14 entrees et sorties (6 sorties commutables en MLI)
Ports analogiques 6 entrees analogiques
Courant maxi. par broche d'E/5 {c.c.) 40mA
Memoire 16 Ko Flash, 1 Ko SRAM, 512 octets EEPROM
Chargeur d'amor~age 2 Ko (en memoire Flash)
Dimensions 5 cm de diametre
Prix (approximatif) 20 €
Arduino Due
L' Arduino Due est la premiere carte Arduino equipee d' un processeur
32 bits. La frequence d'horloge de 84 MHz permet de realiser des
ui calculs complexes en un temps record. De plus, Jes programmes Jes
Q)
plus lourds disposent desormais d' une capacite de memoire suffisante,
0L..
>- ce qui evite d'avoir a faire attention au moindre octet, comme sur une
UJ
lf)
Arduino Uno. Comme toutes Jes cartes Arduino anterieures utilisent
.-f
0
une tension d'entree de 5 V, des problemes risquent de se poser si l'on
N
ne sait pas que Jes entrees de la carte Arduino Due soot limitees a une
@
...... tension de 3,3 V. La carte risque d'etre irremediablement detruite.
..c
en
·;:
u
>-
a.
0
0
Au lieu de la resolution 8 bits habituelle (analogWrite(0... 255)), Jes
12 broches numeriques, qui peuvent etre utilisees com.me sorties
MLI, ont desormais une resolution etendue a 12 bits (analog Write
(0.. .4095)), qui peut etre changee par analogWriteResolution(12).
Encore quelques mots sur les protocoles des interfaces. En plus d'FC,
TWl (Two-Wire-Interface) et SP! (Serial- Peripheral-Interface), on
trouve aussi le bus CAN (Controller Area Network) qui est utilise
aussi bien dans l' automatisation de maquettes de chemin de fer que
pour la mise en reseau de systemes divers ou d'organes de commande
dans Jes automobiles. L'interface USB OTG permet aussi de
raccorder une souris, un clavier ou un smartphone.
~ Figure2-8
La carte Arduino Due
~ Tableau 2-8
Categorie Valeur
Lacarte Arduino Due
Microcontroleur ATmega SAM3X8E base sur une architecture ARM Cortex
M3 a32 bits
Frequence d'horloge 84MHz
Tension de service 3,3 V(attention, ce n'est pas du 5 V!)
Tension d'entree (recommandee) 7-12v
Tension d'entree (limite) 6-20V
Ports numeriques 54 entrees et sorties (12 sorties commutables en MLI)
Ports analogiques 12 en trees analogiques
Vl
Courant maxi. par broche 3,3 V(c.c.) 800mA
Q)
Courant maxi. par broche 5 V(c.c.) 800mA
0.....
>- Memoire 512 Ko Flash, 94 Ko SRAM {2 banes: 64 Ko + 32 Ko),
w 512 octets EEPROM
Lf)
.-I Dimensions 10,2 cm x 5,3 cm
0
N Prix (approximatif) 47€
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 2 : La famille Arduino ----------------------0
Exam.inons maintenant les a vantages et les inconvenients de la carte :
• Avantages
- processeur ARM 32 bits;
- nombreuses entrees et sorties pour raccorder des capteurs ou
des actionneurs ;
- broches UART etendues (4 ports de communication serie
materiels) ;
- connexion USB-OTG (On-The-Go);
- deux CNA (convertisseur numerique-analogique) qui peuvent
etres utilises pour generer des signaux audio, par exemple ;
- deux bus TWI (Two Wire Interface);
- peut recevoir des shields Arduino a condition qu'ils fonction-
nent en 3,3 V et qu'ils soient conformes avec le brochage de
I' Arduino 1.0 (a verifier absolument).
• Inconvenients
- Tension de fonctionnement de 3,3 V !
- Ne pas utiliser de shields Arduino qui fonctionnent en 5 Y.
Yous trouverez de plus amples informations a la page http://arduino.
cc/de/Main/ArduinoBoardDue.
Arduino Yun
La carte Arduino Yun est la premiere a etre equipee de deux proces-
seurs. Du cote Arduino, ii y a un microcontroleur de type ATmega
32 U4 qui se charge de l' execution des sketches. De l' autre, il y a la
machine Linux. Eh oui, vous avez bien lu: c'est un processeur du
type Atheros AR9331 fonctionnant sous Linino, une distribution
Linux basee sur Open WRT. Les deux couches - comme je me plais a
les appeler - sont interconnectees par un bridge afin d'echanger des
informations OU des donnees. Ce bridge est un logiciel qui peut etre
utilise par Jes deux processeurs.
ui
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c.
en
·;:
0
u
>-
a.
0
~ Fig ure 2-9
La carte Arduino Ytin
Microcontroleur AVR :
Processeur Linux :
~ Tableau 2-10
Vl Categorie Valeur
Q)
Lacarte Arduino Yun
0..... Processeur Atheros AR9331
(processeur Linux)
>- Architecture/frequence d'horloge MIPS @400MHz
w
Lf) Tension de service 3,3V
.-I
0 Ethernet IEEE 802.310/100 Mbit/s
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 2 : La famille Arduino ----------------------0
Tableau 2-10 (suite} .,.. Wi-Fi EEE 802.11 b/g/n
La carte Arduino Yun
USB Type-A 2.0 Host/Device
(processeur Linux)
Lecteur de cartes Pour Micro-SD uniquement
Memoire 64 Mo DDR2 RAM, 16 Mo Flash
ui
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
.....
..c
en
·;:
>-
a.
0
u 0
Chapitre
La carte Arduino
3
~ Figure3·1
La carte amicrocontroleur Arduino
Sur cette image, Yous ne pouyez eYidemment pas Yous rendre compte
Vl
Q)
a quel point Jes dimensions de la carte Arduino sont reduites (environ
7 cm de large et 5 cm de long) ; elle est Yraiment tres maniable, tient
0.....
>- sans probleme dans une main et s'aYere Yraiment compacte.
w
Lf) Au fil des annees, plusieurs cartes Arduino ont ete deYeloppees. J'ai
.-I
0
N
choisi de prendre l'exemple de la Uno, car c'est la plus populaire.
@
.4-J
.J::.
01
·;:
>-
0..
0
u
Les composants les plus divers y sont reconnaissables (voir figure 3-2),
lesquels feront l'objet d'une explication detaillee. Certains penseront
certainement qu'on ne peut pas concevoir quelque chose de serieux
sur une surface auss.i r6duite. Mais grace a la miniaturisation des
composants ces demieres annees, ce qui necessitait auparavant cinq
puces electroniques n'en requiert auj ourd'hui plus qu'une.
Le plus gros element qui saute directement aux yeux est le microcon-
troleur proprernent dit. II est de type ATmega328 .
J'ai choisi la carte Arduino UnoR3 car, meme si d'autres modeles ont
suivi depuis, comme Arduino Due ou Arduino Yun, elle s'est quasiment
hissee au rang de standard. Elle convient tout particulierement aceux qui
veulent faire leurs premiers pas dans le rnonde des microcontroleurs.
Figure3-2 ~ Bouton
Que trouve+on EntJees-sorties numeriques
sur la carte Arduino?
d'alimentation
Conlr61eur
Alimentation En trees
analogiques
Ces elements sont Jes plus importants de la carte Arduino mais, bien
entendu, cela ne veut pas dire que les autres sont a negliger.
Voici Jes principales caracteristiques de la carte Arduino:
• rnicrocontroleur ATrnega328 ;
• tension de service 5 V ;
Vl
Q)
• 14 entrees et sorties numeriques (6 sorties cornmutables en
0..... MLI);
w
>-
Lf)
• 6 entrees analogiques (resolution 10 bits) ;
.-I
0 • 32 Ko de memoire flash (0,5 Ko occupe par le chargeur d'amor-
N
@ ~age ou bootloader) ;
.4-J
.J::.
01
·;:
>-
0..
0
u
• 2KodeSRAM;
• l Ko d'EEPROM ;
• frequence d'horloge 16 MHz;
• interface USB.
~ Figure3-3
Entrees et sorties
de la carte Arduino
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Pas si vite ! Quelque chose ne colle pas. Notre microcontroleur doit
avoir des ports d'entree et de sortie aussi bien analogiques que muneri-
ques. Or, je ne vois sur ce schema que des en trees com me ports analogi-
ques. Ou sont les sorties?
Bien observe, Ardus ! Mais le schema est tout afait correct. La raison
en est la suivante et fera l'objet d'une explication plus detaillee:
notre carte Arduino n'est pas equipee de sorties analogiques separees.
Cela peut paraltre bizarre au premier abord, mais certai nes broches
numeriques sont detournees de leur destination premiere et servent de
sorties analogiques.
Maintenant, vous devez vous demander comment tout cela fonctionne !
Void done un avant-gout de ce qui sera explique dans la section «Que
signifie MU ? » du chapitre 10, page 214, consacree a la modulation de
largeur d' irnpulsion. Il s'agit d'un procede dans lequel le signal presente
des phases a niveau haut et des phases a niveau bas plus OU moins
longues. Si la phase a niveau haut, dans laquelle le courant circule, est
plus longue que celle a niveau bas, une lampe branchee par exemple sur
la broche correspondante eclairera visiblement plus fort que si la phase a
niveau bas etait la plus longue. Plus d'energie sera done apportee en un
temps donne sous forme de courant electrique. A cause de la persistance
retinienne de notre reil, nous ne pouvons differencier des evenements
changeant rapidement que sous certaines conditions, et un certain retard
se produit aussi lorsque la lampe passe de I' etat allume a celui eteint, et
reciproquement. Cela m'a tout l'air d' une tension de sortie qui se
modifie, bizarre non ?
En tout cas, ce mode de gestion des ports presente d'emblee un incon-
venient. Quand vous utilisez une ou plusieurs sorties analogiques,
c'est au detriment de la disponibilite des ports numeriques - il yen a
alors d'autant moi ns a disposition - ma.is cela ne saurait nous gener
outre mesure, car nous n'atteignons pratiquement pas Jes limites de la
carte. De ce fait, nous n' avons pas de restriction sur les montages
experimentaux a tester.
Une question encore, avant que vous ne poursuiviez sur votre lancee :
qu'est-ce que le chargeur d'amon;age (ou bootloader) que vous avez
Vl
Q) mentionne dans l'enumeration des caracteristiques de la carte Arduino?
0.....
w
>- Ah oui Ardus, j'allais oublier ! Un chargeur d'amor9age est un petit
Lf)
.-I
logiciel qui a sa place dans une certaine zone de la memoire flash du
0 microcontroleur et assure le chargement du programme proprement
N
@ dit. Nonnalement, un microcontroleur re9oit son programme de
.4-J
.J::. travail d ' un materiel informatique supplementaire, par exemple un
01
·;:
>-
0..
0
u
programmateur ISP (In System Progamming). Le chargeur d'amor-
~age evite cela, ce qui rend le telechargement du logiciel vraiment
facile. Sitot dans la memoire de travail du controleur, le programme
de travail est execute. Si jamais vous deviez changer, pour une raison
quelconque, votre microcontr6leur ATmega328 sur la carte, le
nouveau circuit ne saurait pas ce qu' il doit faire car le chargeur
d'amor9age n'est pas charge par defaut. Cette procedure peut etre
menee au moyen de differents procedes que je ne peux pas expliquer
ici faute de place. Cependant, vous trouverez sur Internet suffisam-
ment d'i nformations pour vous permettre d'i nstaller le chargeur
d' amor9age approprie au microcontroleur.
L'alimentation electrique
Notre carte Arduino doit etre alimentee en energie pour pouvoir
travailler.
Cette alimentation peut s'effectuer tout d'abord via !' interface USB qui
re lie la carte a l' ordinateur - ce chemin sert aussi al' echange de donnees
entre la carte et l 'ordinateur. En phase de developpement avec votre
Arduino, la connexion USB va servir d' alimentation primaire de la carte.
La seconde possibilite consiste abrancher une batterie ou un bloc secteur
au connecteur, appele prise jack. Yous pouvez, par exemple, employer
cette variante si vous avez construit un engin manreuvrable, commande
par la carte Arduino. Le vehicule doit pouvoir evoluer librement dans
l'espace, sans cable. En effet, l'utilisation d'un cable USB, generalemeot
trop court, lirniterait alors la mobilite de l'engin. L 'emploi d'une batterie
rend le dispositif autonome.
~ Figure H
Alimentation
de la carte Arduino
~ension + donnees/
Vl
Q)
0.....
>-
[ Te nsion
v
>
w
Lf)
.-I
Je vous montre ici les differentes prises. Attention, elles ne peuvent pas
0 etre interverties, car elles ont des formes et des fonctions differentes.
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Prise USB Prise jack
L'interface USB peut fournir uo courant maximal de 500 mA; c' est
en principe suffisant pour realiser la plupart des c.ircuits d'essai de ce
livre. Elle est protegee contre les courts-circuits et les courants forts
grace a un polyfusible. Mais attention, cela ne doit pas vous empecher
de construiJ·e votre circuit avec le plus grand soin.
Rappelez-vous ce que j'ai dit dans J'introduction sur le concentrateur
USB et ne perdez jamais cela de vue (voir page XII).
Le port USB
Vl
Q) Sans le port USB, vous ne seriez pas en mesure d'initialiser une
0..... communication .
w
>-
Lf)
Le travail avec la carte Arduino peut se diviser en deux etapes : le
.-I
0
temps consacre a la mise en ceuvre du montage et celui dedie a la
N
programmation, appele phase de developpement (design time).
@
......
.J::.
01
·;:
>-
0..
0
u
La programmation s'effectue dans un environnement de developpe-
ment que vous allez apprendre aconnaltre tres rapidement. C' est dans
cet environnement que VOUS allez saisir le programme Cree par VOS
soins pour le transmettre au microcontr6leur. Si tout s'est bien passe,
le temps de I' execution (runtime) commence. Vous n'avez pas besoin
de dire explicitement au microcontr6leur : « Mai ntenant mon ami,
vous vous mettez au travail ! » 11 demarre en effet immediatement
apres avoir re~u toutes les instructions de votre part. Vous pouvez en
outre echanger des donnees avec votre ordinateur via le port USB.
Nous verrons plus tard comment cela fonctionne.
void loop() {
digitaHlrite(ledPin, HIGH); //LED au niveau haut (s V)
delay(1000) ; //Attendre une seconde
digitalWrite(l edPin, LOW); //LED au niveau bas (o V)
delay(1000); //Attendre une seconde
}
Installation de l'environnement
de developpement, pilote inclus
J'en ai deja tellement <lit sur l'environnement de developpement qu'il
est temps maintenant de le voir d'un peu plus pres. Je commencerai
par Windows (en traitant I' installation sous Windows 7, mais I' opera-
tion demeure similaire avec une autre version de Windows), puis je
passerai a Mac OS X et terminerai par Linux. Cet ordre n'est evidem-
ment pas lie a la valeur de ces systemes d'exploitation. Attention, si
vous connectez votre carte Arduino Uno a votre ordinateur sans avoir
prealablement installe l'environnement de developpement, le systeme
d'exploitation recherchera automatiquement le pilote correspondant
et la tentative echouera, accompagnee du message d'erreur suivant.
VJ
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
>-
a.
0 Chapitre 3 : La carte Arduino -----------------------0
u
Figure 3-9 .,.
le pilote Arduino
est introuvable. E) _ Mettre a1our le pilote - Per•pl1erique inconnu
Si vous connais~ le fa bri<ant de votre pttiph~riqu<. vous pouvet visiter son site Web et
cons1,1lter la section Support technique OU Telechargements pour rechercher le pilote pour ce
p&iphbique.
Fermer
- MacOSX Environment
Vl
Q) Installation sous Windows 7
0.....
w
>- Etape I
Lf)
.-I
Pour l' installatjon sous Windows, j'ai choisi !'option Windows
0 Installer qui installe automatiquement les pilotes requis sur l'ordina-
N
@ teur.
.4-J
.J::.
01
·;:
>-
0..
0
u
u1:.q;. wn;: ;;,:,11.e~1m1.j,i.iffili(j ~ Figure 3· 11
Etape 2
Ouvrez le fichier d' installation et suivez les instructions qui s'affi-
chent dans les boJtes de dialogue. Commencez par cliquer sur le
bouton I Agree.
Cancel
Vous voyez alors la lisre des composants qui seronr installes. Cliquez
sur le bouton Next.
~ C""'1< the components you want to iistall and uncht!ck the components
Choix des composants ainstaller
W you don't want to install. Click Next to continUe.
0.....
w
>- Spac" rt!Q..~d: 25'1.9MB
Lf)
.-I
0
< Back II Next >
N
@
......
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Yous pouvez ensuite changer d' emplacement pour le dossier d' instal-
lation. Cliquez sur Install pour valider le chemfo d 'acces propose.
Destination Folder
[I !!tiJ:1.1.1.1"•iilem::ztt:E _ _ _ _ _ __ Browse ••~
<Back Close
Vous ne devez installer q ue les pilotes des editeurs que vous approuvez. Comment d~emiiner si un lo91ciel
de oeriphtrjcme peut &re installe sans riwues?
~ Figure 3-17
0 Arduino Setup: Completed L'installation est terminee.
Etape 3
Lorsque vous raccordez votre carte Arduino Uno a votre ordinateur
via un cable USB, elle doit desormais apparaitre dans le gestionnaire
de peripheriques. La carte Uno n'est pas livree avec un cable USB.
Par consequent, pensez aussi a vous en procurer un, sinon la carte ne
presentera pas grand interet.
~ Figure 3-18
Vl Cable USB pour relier la carte
Arduino al'ordinateur
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
La prise de type B est reliee a la carte, et celle de type A a I' ordina-
teur. Rappelez-vous ce que j'ai mentionne dans l'avant-propos :
l'utilisation d'un concentrateur USB est conseillee.
Allez main tenant dans le gestionnaire de peripheriques de l' ordina-
teur. Pour cela, cliquez droit sur l' icone du Bureau, puis selectionnez
Gestion. Ouvrez le gestionnaire de peripheriques. Dans l' arbores-
cence qui apparait, vous trouverez une entree sous Ports (COM &
LPT).
- -·---
A:i:duino 1 . 0 6
--
-
Cliquez sur le lien Mac OS X et enregistrez le fichkr. Une fois le tele-
chargement termine, le fichier se trouve dans le dossier Tetecharge-
ments.
Vl
Q)
Figure 3-21 ...
0..... Le dossier Telechargements
>- dans le Finder
w
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
--
0..
0
0 1----------------------------- Partie I : Les bases
u
Etape 1
Pour lancer 1' environnement de developpement Arduino, dezippez le
fichier telecharge et sur le fichier Arduino. Un message de securite appa-
ra1l pour vous signaler que le fichier a ete telecharge sur Internet. Cette
question ne reapparrutra plus lorsque vous aurez accepte d'ouvrir le
programme.
~ Figure 3-22
.. Anllli!..........,....... ~
\. ,.,.~_...i .......... Message de securite affiche
~. Wuilu,..- • w- r . - - 1
au dernarrage de I'application
Cliquez sur le bouton Ouvrir. Pour acceder plus rapidement a l' inter-
face, placez le fichier telecharge dans le dossier Programmes.
Etape 2
Connectez votre carte Arduino Uno a votre Mac a l' aide de son cable
USB. Avant de commencer, vous devez encore configurer deux
choses sur Jesquelles je reviendrai dans la suite de ce chapitre :
• via quel port l' Arduino est-elle raccordee au Mac ?
• de quelle carte Ardui no s'agit-il ?
Dans le menu Ou ti ls>Port serie, selectionnez l' entree ldev/tty.
usbmodem14441.
~ Figure 3-23
Selection du port USB
--
"°"~.At<ut
01'ftf'l•~o«:~•M.klr'I
Etape 1
Selectionnez Muon dans le menu Applications>Systeme et cliquez sur
la categorie E:tectronique, a gauche.
..,..__.
""""'
IA~dl<~~\t·
.....
,_........... ___ ..
l.>og>gtdo-
~<I<-
_""'"'-
......"9•!1<dtP109'-
-·
LlfWll.1~ dt pr09'fll'n"l.M;
~·9'QO!ll"""'~
,....._....._
--
*"~.eit ~
Pi<lp>I_,...... ~,
'~po4.ll''9~-ur-4Wv.v-"""'~~ck~~·
--
S<lffl<•
s~ d'"MfVM •we\
SyM:~
._.....
°" conc,flltt de
lllumtl'll0.tllU.
fckflt.lr&
~ ~·- ~
COI . . . .~......."" pew alff
.... \,ill•dl>--
d"•Jt~ftbtteA Avtl
.ti!cl.iofllutM:~tomlt-\it:lttpoc.protot)~~~~tour-dbrn.t<t<Wltttioo!t~•Jl~d-.C.ln
ti~Mft J:llf. . . clMt'"'"llloi' •rt.lft<t1 COit(~~ ,.~!IC twt•~niM ft'tff!Uff ~r ~ (("~"Onod~ Od
d'~!Mflt\ intor)(ti''li:
C~,,,Cnof~~~..t~)'il'Jlfd<f.~l'IQ llHpwtqi.M"c~~""~'~$Ol('('ltf9'JlfN~f'¥~"~•
..........
""'""'
.fliM'Of19"'W!
,,..,~«tvt.
o~ --'"""""'~l-J
Vl
Q)
. , QK 0 fancel
Etape 3
Tous les packs devant etre installes soot affiches.
~ FigureH7
Les packs sont preselectionnes.
Etape 4
Pour demarrer )'installation du pack, il ne vous reste plus qu'a cUquer
sur le bouton Appliquer Les modifications dans la partie superieure de
la fenetre.
~ Figure 3-28
y> Appliquer les modifications Demarrage de !'installation
[:1ierch~ Appl!ctue~ les
"- _ ...... · mod1ficat1ons =~~=
1
Vl
Etape 5
Q)
Saisie du mot de passe racine To install or r emove software you need to authenticate.
une •pplic• hQn terite d'<!lfe<luec une a<:t<>n qui n"<e>s:le de~ privl!Eiges. Pour effe<;tuei-
cette action. un ubllsateur de la Uste ct-des,sous doit .s'authentifier.
!£ Olivier (okvlerJ ·]
MoldepMs<! : ~-Hi
~---------------~
ti Dt-talls
~-A_n_n_
uler
_~I' S'aathentdier
~~
~c....e~~$>..6friMlo-~c-.\~
Etape 6
Pour pouvoir communiquer avec la carte, I' environnement de deve-
loppement Arduino doit faire partie du groupe Dialout. Cliquez sur le
bouton Add pour J'y autoriser.
Etape 8
Dans le menu Outils>Port serie, selectionnez l'entree /devlttyACMO.
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Figure 3-33 .,. sketch. decua I Arduino l:l.O.S+dfsg2·1
I
- .. y
Programmateur
Graver la sequence d'initialisation
@ Attention !
JI arrive parfois que la commande Port serie soit grisee, ce qui vous empeche
d'affecter un nouveau port. Reinitialisez Linux - manceuvre cependant rare-
ment necessaire - et vous pourrez ensuite selectionner le port serie adapte.
L'environnement de
developpement d'Arduino
Qu'est-ce qu'un environnernent de cteveloppement et que peut-on
fai re avec? Eh bien, ii permet, au developpeur ou a !'expert Arduino
que vous allez bientot etre, de transposer ses idees de programmation
sur des objets materiels (hardware), avec cornme composant prin-
cipal la carte Arduino, a laquelle peuvent etre raccordes les elements
electroniques OU electriques les plus divers. Ce sont Ia des choses
simples, mais hard par leur structure, d'ou le terme hardware
employe.
Vl
Q) Seulement, a quoi sert ce materiel si on ne Jui dit pas ce qu'il doit
0..... faire ? TI y a en effet quelque chose qui manque, et ce quelque chose,
w
>- c'est le logiciel (software), le monde des donoees et des
Lf)
.-I
programmes - ou des sketches dans le cas d' Arduino. Le logiciel est
0
N
@
.4-J
J::
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
soft, autrement dit immateriel, a moins de l'imprimer sur papier. I1
permet au materiel d'interpreter et d'executer des instructions.
Le hard et le soft forment une entite indissociable, ils ne sont rien l'un
sans l 'autre.
Vl
Q)
0.....
w
>- En l' observant de plus pres, vous pourrez remarquer differentes
Lf)
.-I
zones, dans lesquelles ii se passera peut-etre quelque chose plus
0 tard . .. Nous allons Jes passer toutes en revue, en partant du haut de la
N
@ fenetre vers le bas.
......
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
La barre de titre
La barre de titre, qui se situe tout en haut de la fenetre, comprend
deux informations :
• le nom du sketch (ici, sketch_sep22a). II est attribue automatique-
ment et commence toujours par sketch . Viennent ensuite Le mois,
le jour et une lettre prise dans I' ordre, entre a et z, dans le cas ou
d'autres sketches seraient crees ce jour-la. Notre sketch a ete
cree le 19 decembre, dans sa premiere version ;
• le numero de version de l'IDE Arduino (ici, la version 1.0.6),
qui augmentera au fil du temps des que des erreurs auront ete
eliminees ou de nouvelles fonctions ajoutees.
La barre de menus
Dans la barre de menus, vous trouverez les differents menus grace
auxquels vous pourrez appeler certaines fonctions de l'IDE.
La barre d 'icones
La barre d'icones se situe sous celle des menus.
sketch_dec19a
L'editeur
Vl
Q) C'est le creur de l'lDE. La zone d'editiou, qui est pour le moment
0..... encore completement vierge, est le lieu central ou vous pouvez etaler
w
>- vos idees. Yous y saisissez le code source, ainsi que les instructions
Lf)
.-I
qui conduiront le rnicrocontroleur afaire ce que vous voulez.
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
0 1----------------------------- Partie I : Les bases
u
La ligne d'information
La ligne d'information Yous renseigne sur certaines actions entre-
prises par l'IDE. Tout est en anglais naturellement.
Par exemple, si Yous ayez enregistre aYec succes un sketch sur le
disque dur, c'est ici que Yous en etes inforrne. En outre, si, par
exemple, le compilateur a detecte une erreur de saisie dans le sketch
!ors de la transcription, Yous etes prevenu par un message. D' autres
details sur les erreurs detectees s'affichent dans la fenetre de messa-
gerie (voir la capture precedente).
La f enetre de messagerie
L 'IDE vous fournit, dans la fenetre de messagerie, tout un tas
d'informations :
• sur le transfert d'un sketch sur la carte Arduino (succes ou echec);
• sur Jes activites de traduction du compilateur (succes ou echec);
• sur le moniteur serie (succes ou port COM non trouYe).
Vl
Q) 3 Ardu1no Uno on COM3
0.....
w
>- soH une zone (i ci, hgnes 1 a4) :
Lf)
.-I
0 1·4 Arduino Uno o n COM3
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Adroite, vous pouvez voir en plus le nom de votre carte Arduino et le
port COM utilise par votre interface serie.
• Pour transmettre le sketch compile avec succes sur la carte Arduino dans le microcon-
troleur.
Pendant Iedit telechargement du sketch, voici ce qui se produit - sur la carte se trou-
Vl vent des petites diodes lumineuses qui vous tiennent au courant de certaines activites.
Q)
0.....
w
>-
Lf)
.-I
0
N
@
- LEDL: relieea la broche 13. Elle s'allume brievement quand la transmission com-
.4-J
.J::. mence.
01
·;:
>-
0..
0
0 1----------------------------- Partie I : Les bases
u
~ Tableau 3-2 (suite}
lcone Fonction
Fonctions des icones de la barre
- LED TX : ligne emettrice de !'interface serie de la carte. Elle clignote pendant la trans-
d'icones
mission.
- LED RX: ligne receptrice de !'interface serie de la carte. Elle clignote pendant la trans-
mission.
La ligne emettrice (TX) est materiellement reliee ala broche numerique 1, et la ligne
receptrice(RX) ala broche numerique 0.
Le moniteur serie peut etre ouvert avec cette icone. Une boite de dialogue ressemblant
aun terminal s'ouvre.
~ COM3 le IS 13 I
I~
.
t -
~ Autoscrol
-- ._CarrfaQe cc ti.wn • 1 9600 baud T
Dans le champ de saisie superieur, vous pouvez entrer des command es qui seront envoyees a
la carte quand Yous appuierez sur la touche Send. La zone centrale de la fenetre est consacree
aux donnees envoyees par la carte via !'interface serie. Certaines valeurs auxquelles Yous
YOUS interessez peuvent y etre affichees. Dans la partie infffieure, YOUS pouvez, grace aune
liste deroulanteadroite, rf91er la Yitesse de transmission (baud) qui doit correspondre ala
valeur que Yous avez employee pour programmer le sketch. Si ces valeurs ne correspondent
pas, aucune communication n'est possible.
~editeur en detail
L'editeur, dans lequel Yous saisjssez Yotre code source, Yous assistera
a maintes reprises dans la programmation. La figure 3-35 vous
Vl presente le contenu de la fenetre: ii s'agit d'un code source qu'il est
Q)
VOJ.d loop ()
{
Seria1 . prineln ("Bonjour iaon ami Arduino") ;
Quelles soot les caracteristiques qui Yous sautent tout de suite aux
yeux ? En Yoici un petit resume.
l. L' IDE est capable de faire ressorti.r certa1ns mots en couleurs
dans l'editeur. Lesquels?
2. Les caracteres soot plus ou moins gras selon les mots.
3. Certains elements ressortent plus particulierement. Il s'agit ici de
l 'accolade finale.
4. La representation du code source obeit a une certaine bierarchi-
sarion Yisuelle. Certaines zones soot plus decalees ~t droite que
d'autres. Bien eYidemment, ce n'est pas pour rien, ni seulement
pour faire beau: tout a une raison d'etre.
Point 1
Certains mots, appeles egalement mots-cles, apparaissent en
couleurs. Il s' agit de noms reserves qui ont ete, par exemple, attribues
a des instructions. Notre environnement de deYeloppement OU le
compilateur dispose d'un certain Yocabulaire que nous pouYons
utiliser pour programmer notre sketch. Quand on saisit un mot (ou un
mot-cle) qu'il connai't, l'IDE reagit e n le faisant aussitot ressortir en
couleurs.
Dans le cas present, les mots-cles apparaissent toujours en orange. Ainsi,
Yous conserverez une meilleure Yue d'ensemble et vous pourrez visua-
liser immediaternent si une instruction a ete mal orthographiee. En effet,
si tel est le cas, elle n' apparaitra pas dans la couleur appropriee.
Point2
L'IDE represente en gras certains mots reconnus en tant que mots-des. 11
Vl
Q)
s' agit ici, par exernple, des mots setup et loop, qui soot appeles ajouer un
0..... role fondamental dans un sketch. Ce soot des noms de fonctions. Pour le
>- moment, peu importe ce que c' est exactement et ce qu' ils Yeulent dire,
w
Lf) disons simplement qu'ils soot en gras pour mieux attirer !'attention.
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
0 1----------------------------- Partie I : Les bases
u
Point 3
Les instructions sont toujours presentees par blocs dans I' environne-
ment de programmation IDE. Cela signifie que les instructions affi-
cMes l'une en dessous de l'autre font partie d'un bloc d'execution ,
signale par une paire d'accolades: I' accolade initiale marque le debut
du bloc, et !' accolade finale la fin. Ces deux accolades sont
indissociables: si l'une des deux vient a manquer, il s'ensuit obliga-
toirement une erreur car la structure du bloc n'est pas complete.
Si vous placez le curseur den-iere une accolade, l'autre accolade de la
paire se retrouve automatiquement encadree. Sur la figure 3-35, on le
remarque pour la fonction setup : j'ai place le curseur derriere I' accolade
initiale et l' accolade fmale correspondante s' est al ors dotee d' un cadre.
Ceci est egalement valable pour les parentheses. Nous reviendrons bien
entendu plus tard sur la difference entre accolades et parentheses.
Point 4
Dans un bloc d'execution, le code source est generalement decale a
droite par rapport au bloc ou libelle du bloc proprement dit. Ainsi, la
vue d'ensemble est bien meilleure et la recherche d'erreurs en est
facilitee. Cette distinction visuelle permet par ailleurs de m.ieux diffe-
rencier les blocs quand il y en a plusieurs.
Bien entendu, rien ne vous empeche d'ecrire l'integralite du code source
sur une seule ligne. Meme si le compilateur ne detecterait aucune erreur
de syntaxe, la vue d'ensemble serait neanmoins catastrophique. De
meme, vous pourriez aligner toutes Jes lignes de code a gauche, mais le
style de programmation ne serait alors pas terrible. Notez qu'il existe une
option pour indenter automatiquement le code, via Tools>Auto format.
Type de carte
Port sene ~ ~ COM3
COM69
Proganvnateur
Graver la seQUellC:e d'inftialsabon
Le port COM3, sur lequel ma carte est branchee, a ete detecte. Avez-
vous cornpris ?
Non, c'est le contraire ! Vous avez du ma! a VOUS exprimer. D'un cote,
vous parlez d' une interface serie et d'un port COM, et de l'autre, VOUS
reliez la carte a l'ordinaleur via une prise USB. Ce sonl pourtanl deux
choses completement d ifferentes, non ?
.. __ ,_
....
Etape 1
Une verification du code du sketch est faite par l'environnement de
developpement, afin de garantir que la syntaxe CIC++ est correcte.
Etape 2
Le code est ensujte envoye au compilateur (avr-gcc), qlli le transc1it en un
Vl
Q) langage lisible par le microcontroleur: c'est le langage machine.
0.....
w
>- Etape 3
Lf)
.-I Le code compile fusionne avec certaines bibliotheques Arduino qui
0
N apportent Jes fonctionnal ites de base, ce qui aboutit a la creation d'un
@
.4-J
.J::.
01
·;:
>-
0..
0
0 1----------------------------- Partie I : Les bases
u
fichier au format Intel HEX. Jl s'agit d'un fichier texte qui contient
des informations binaires pour le microcontroleur. Voici un court
extrait du premier sketch, dont vous avez deja eu un avant-gout.
Etape 4
Le chargeur d'amoryage (bootloader) transmet le fichier Intel HEX,
via USB, a la memoire flash du microcontroleur. Ledit processus de
telechargement - done la transmission sur la carte - est assure par le
programme avrdude, qui fait pattie integrante de l'installation
Arduino. Yous le trouverez sous ardu ino\har dware\t ool s\avr\bin.
D' autres informations sur les parametres a entrer lors de I' appel sont
disponibles sur Internet.
Vl
Q) Vous avez dit interfaces ?
0.....
>- Le terme interface est deja revenu si souvent dans le livre qu ' ii est
w
Lf)
temps a present d'en donner une definition claire et valable. Une
.-I
0
interface permet de faire communiquer un systeme ferme avec le
N monde exteneur. Voyons ace sujet la figure suivante.
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Figure 3-40 .,. Monde interieur Monde exterieur
Les interfaces sont des dispositifs de · ---------------- ----------------·
liaison entre deux mondes voisins.
Arduino
(bo1te nqir<)
~ Figure 3-41
Evolution d'un signal numerique
(signal rectangulaire)
Des valeurs de tension peuvent etre attribuees a ces deux etats logi-
ques. Dans le cas present, ii s'agit de la logique +5 V pour les signaux
numeriques. Qu'est-ce que cela signifie? Dans la technique nume-
rique, des niveaux de tension sont affectes aux etats binaires. En prin-
cipe, la valeur de tension 0 V correspond a la valeur LOW (niveau
bas) binaire et la valeur de tension +5 V a la valeur HIGH (niveau
haut) binaire. Etant donne qu 'il peut y avoir de legers ecarts dus aux
differentes tolerances des composants, ii est necessaire de definir une
plage de tolerance pour les etats logiques. Si nous ne mesurions que
+4,5 V au lieu de +5 V, ce serait un niveau LOW au sens strict du
terme. C' est pour cette raison que des plages de tolerance ont ete
creees avec les valeurs suivantes.
5V
NiveauHIGH(niveau haut)
DJ lodlno,
2V
0,8V
0.....
>- Les signaux analogiques ont, quant a eux, une tout autre caracteris-
w tique. Avec le temps, ils evoluent de fa9on continue entre deux
Lf)
.-I
0
valeurs extremes (un maximum et un minimum) .
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Figure 3-43 ... max
Evolution d'un signal analogique
(signal sinusofdal)
ov
min
Nos exemples porteront sur ces deux types de signaux.
Entrees numeriques
Les entrees numeriques de la carte sont alimenrees par des capteurs a
caracteristique numerique.
Le capteur numerique le plus simple est l'interrupteur. 11 peut etre soit
ouvert et, dans ce cas, il ne delivre aucun signal (niveau LOW ou
niveau bas), soit ferme et il delivre un signal (niveau HIGH ou niveau
haut). 11 en va de meme pour un transistor employe en commutation
electronique, qui fournit un signal de type numerique.
Entrees analogiques
Les entrees analogiques de la carte peuvent etre alimentees par des
capteurs qui ont des caracteristiques aussi bien analogiques que
numeriques.
Prenons le cas d'un capteur de temperature, dont la resistance varie
en fonction de la temperature ambiante. Ce capteur delivre a l'entree
une certaine tension, dont la valeur peut permettre de calculer la
temperature reelle. Chaque valeur de tension sera traduite en valeur
de temperature et pourra eventuellement etre affichee OU servfr a
Vl
Q) commander un ventilateur pour assurer un meilleur refroidissement.
0.....
w
>-
Lf)
.-I
La sortie (OUTPUT)
0
N Ce qui rentre doit sortir d'une maniere ou d' une autre; c'est dans la
@ nature des choses. 11 est done logique que la carte Arduino soit
pourvue d'un certain nombre de sorties, a l'aide desquelles des
.4-J
.J::.
01
·;:
>-
0..
0
0 1---------------------------- Partie I : Les bases
u
commandes ou affichages sont executes. En entree, on parle de
capteur et, en sortie, d'actionneur comme un moteur ou un relais.
Sorties numeriques
Yous pouvez, par exemple, utiliser les sorties numenques pour
raccorder des indicateurs de signaux optiques qui refletent des etats
internes. II s'agit en general de diodes electroluminescentes (ou LED,
Light Emitting Diode), qui soot connectees aux broches en question a
travers une resistance appropriee. Bien entendu, une sortie numerique
peut aussi commander un transistor, qui pourra piloter une charge
plus importante que ce que le port Arduino serait a meme de faire.
Sorties analogiques
Sur votre carte Arduino, les sorties analogiques ne sont pas une mi nce
affaire. II n'existe pas de port dedie, autrement dit configure pour cet
usage. Certains ports numeriques prennent quasiment la fonction en
charge et simulent un signal analogique genere par la modulation de
largeur d' impulsion (MLI). Yous en saurez plus au moment de
programmer une sortie analogique.
Ordre et obeissance
Sans logiciel, votre magnifique materiel informatique ne servirait a
rien. Seul un logicieJ intelligent Jui donnera vie et Jui permettra
d' accomplir les taches pour lesquelles ii a ete convu. Ces dernieres
doivent cependant etre confiees a votre microcontroleur Arduino.
L'instruction n'est pas reconnue et elle est ecrite en noir, ce qui doit
YOUS mettre la puce a l'oreille. Par ailleurs, la structure de !' instruc-
tion pinMode merite que l'on si attarde. A sa suite, vous pouvez voir
des parentheses. Ce sont des arguments qui sont transmis !ors de
l'execution de l' instruction, a la maniere d'un sac dans lequel vous
enveloppez des objets pour les emporter.
u
>-
a.
0
0
comprenoe quand meme le sens de YOtre phrase. A vec un ordinateur,
c'est different: il ne veut rien savoir. Soit vous Yous exprimez claire-
ment et utilisez le mode d'ecriture exact, soit il refuse categorique-
ment !' instruction et se met en greYe. Comment peut-il savoir ce que
vous voulez dire ? On ne saurait lui preter cette intelligence . .. Si une
instruction est mal ecrite ou si les minuscules et majuscules n' ont pas
ete respectees, une erreur se produi t au niYeau du compilateur. Par
chance, on sait dans la plupart des cas de quoi il s'agit. On a en effet
des indications sur l 'endroit et la cause de cette erreur.
Les erreurs soot de trois types :
• erreurs de syntaxe ;
• erreurs logiques ;
• erreurs chronologiques.
L'erreur de syntaxe
Par chance, le compilateur detecte les erreurs de syntaxe. Elles sont
par ailleurs faciles a localiser.
Regardons maintenant le message d'erreur suiYant.
L'erreur logique
Les erreurs logiques sont plus problematiques car plus insidieuses.
Elles ne donnent pas lieu a un message d'erreur puisque tout est en
ordre du cote des instructions. Pourtant, quelque chose ne va pas : le
sketch programme ne se deroule pas comme vous I' aviez imagine.
Le compilateur n'est ici pas en cause. II peut s'agir, par exemple,
Vl
Q)
d'une formule ou d'une Yaleur errnnee que Yous aYez saisie quelque
0..... part, ou d'un port necessairement de sortie dont Yous aYez fait une
w
>- entree. Les sources d'erreurs sont nombreuses et variees.
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
Chapitre 3 : La carte Arduino -----------------------0
u
Nous Yerrons comment detecter ces erreurs quand nous aborderons le
n
theme du deYerminage. s'agit en l'occurreoce d'une methode qui
sert a trouYer des erreurs dans le programme.
L'erreur chrono/ogique
Une erreur chronologique est un probJeme qui affecte d' abord la
duree d'execution du sketch. Tout est en ordre au niYeau de la
syntaxe et du compilateur, mais une bombe cachee attend son heure
pour exploser. Tout peut tres bien aller un temps et Yous pensez alors
que c'est bon, et un beau jour, plus rieo ...
Voici un exemple tire du monde Windows. Imaginez que Yous ayez
stocke votre collection de musique MP3 sur un clisque externe D: . Un
programme de musique y accede regulierement et execute les
morceaux stockes. Tout marche a merYeille quand soudain, pour une
raison quelconque, le disque ne repond plus, soit parce qu'il est en
panne, soit que le cable USB est debranche. Le programme essaie
toujours d'acceder aux fichiers de musique, car le programmeur,
negligent, n'a pas cru bon de doter l'appel au lecteur d'un traitement
des erreurs. L'acces demande n'aboutit pas et le programme est irre-
mediablement muet. Cela semble tire par les cheveux, mais plus d'un
programme reagit en s' interrompant simplement au lieu d'emettre un
message d'erreur. Ces interruptions intempestiYes ont de quoi irriter.
Vl
Q) @ Pour aller plus loin
0..... Pour completer ce chapitre, vous pouvez effectuer une recherche sur Internet
w
>- sur les mots-cles :
Lf)
.-I Arduino;
0
N Freeduino;
@
.4-J
Arduino Projects.
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
Chapitre
Les bases
de l'electronique 4
Pour utiliser une carte Arduino, il est preferable d'avoir quelques
connaissances en electronique. Ce chapitre en rappelle les principales
notions:
• les grands principes de l'electronique;
• les notions de courant, tension et resistance ;
• la loi d'Ohm ;
• le circuit ferme ;
• les composants passifs et actifs ;
• les principaux composants electriques et electroniques ;
• le circuit integre.
Mais si vous connaissez deja les bases de l'electronique, vous pouvez
passer au chapitre suivant.
Le flux d'electrons
Les electrons soot d'infimes particules elementaires qui circulent a
vitesse elevee dans un conducteur. Voici quelques-unes de ces
proprietes caracteristiques :
• charge negative (-1,602176 x 10-19 C);
• pratiquement sans masse (9,109382 x 10-31 kg) ;
• stable (duree de vie superieure a 1024 ans).
Je n'ai pas hesite a filmer pour YOUS, a }'aide d' une camera ultraperfec-
tionnee, un conducteur traverse par un courant pour que vous puiss.iez
visualiser ces minuscules particules (voir figure 4-l ). Elles vont toutes
dans le meme sens et sont responsables de la circulation du courant.
Figure4-1 .,..
Electrons parcourant
un conducteur en cuivre
Figure4-2 .,..
Parcours atravers un conducteur en
cuivre sur une duree d'1 seconde
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
Sur cette vue de la migration des electrons a travers un conducteur en
cuivre, j 'ai marque un trorn;on que les electrons parcourent en
I seconde. On peut retenir qu'une charge d'un coulomb a ete trans-
portee lorsqu'il ya eu le passage d'un courant d'un ampere pendant
1 seconde.
J'ai deja utilise tellement de fois le mot courant que je me dois main -
tenant d'en dire plus sur cette grandeur physique.
Le courant
Comme vous avez pu le voir dans la derniere formule, la charge et le
courant sont relies entre eux. On peut assimiler le courant a la circula-
tion d'une charge electrique. Plus la charge circulant par unite de
temps est importante, plus le courant electrique I est eleve.
I= Q
t
~ Figure4-3
. .
..;~ , . . ~ ~:.,.. ...!~'·-~
. .-·
~
~· · .,.. '.:·.' ~
-
.
... . .. ~
Faible flux d'electrons: un petit
\'-
......
"'
.
......,,._. "'··
'J:. ,. .....- ~
'-A, ·~ ... •
·
'
·
' ~ ··~··
j ~- ..·· .
.. · ~.
I
..
: '}
:.
..
' ·~
.~
" ··,·· • '
~
. · ' '.~ ·. ·\
'• 1!""'
i
~
-
.
....
~ nombred'electrons generent peu
de courant electrique.
~ Figure4-4
Flux d'electrons el eve : un grand
nombred'electrons generent
un courant electrique important.
Vl
Q)
0.....
w
>-
Lf)
L'intensite de courant I est mesuree en amperes (A); l'ampere cons-
.-I
0
titue une tres forte intensite pour des microcontr6leurs. La charge
N
maximale d'une sortie numerique de votre carte Arduino est de
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
l'ordre de 40 mA (ou 40 mmiamperes). Un milliampere represente un
millieme d'ampere (1000mA=1 A).
La tension
Si l'on jette un reil aux dessins precedents schematisant des e.lectrons
parcourant un conducteur, ii y a quelque chose que nous ne prenons
pas en consideration: pourquoi se deplacent-ils? Notre monde est
ainsi fait : chaque action a sa raison ou sa finalite correspondante ;
nos gestes sont toujours commandes ou motives par quelque chose. 11
en va de meme pour Jes electrons : ils vont tous dans le meme sens et
vers le meme but. Une force motrice doit par consequent agir. La
comparaison de ce phenomene avec de l'eau qui s'ecoule est tres
parlante. C' est cette analogie que j' ai utilisee dans ce chapitre.
Figure4-5 ~
Les electrons se deplacent
en raison d'une difference
de potentiel.
1§2
L'absence de liaison entre les deux poteotiels empeche toute egalisa-
tion des charges et aucun courant ne circule.
~ Figure4-7
Une compensation de la difference
de charge se produit.
C'est seulement quand une liaison est etab lie que Jes porteurs de
charge peuvent se deplacer et qu'un courant peut circuler.
Le courant circule tant que la charge n' est pas equilibree, autrement dit
jusqu'a ce que Jes deux poles aient autant de porteurs de charge l'un que
!' autre. Si to us Jes electrons etaient passes du cote droit, il y aurait eu de
nouveau un desequilibre, et l 'operation se serait repetee dans l' autre sens.
Par ailleurs, une separation de charge ne peut etre retablie que par un
apport d'energie apres une egalisation de charge. Or, ce n'est pas le cas,
et c'est done aussi pour cette raison qu'une pile normale est vide apres
une egalisation de charge.
J' ai sou vent entendu dire qu' ii existe differentes formes de courant. II y
a le courant continu et le courant alternatif. Pourrais-je en savoir plus Ia-
dessus?
Vl
Q) Bien sfir ! Votre carte Arduino fonctionne avec du courant continu,
0..... caracterise par une intensite et une direction qui ne varient pas au fil
w
>- du temps. En electronique, ce type de courant est symbolise par les
Lf)
.-I
lettres DC (Direct Current) ou, en F.raoce, par CC (cou.rant continu).
0
N
La figure 4-8 montre ]'evolution d'une tension continue au cours du
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
temps. Le courant alternatif est, quant a Jui, note AC (Alternating
Current) ou CA (courant alternatif) .
Figure4-8 .-
Evolution d'une tension continue
u I I
+
au cours du temps
0
t
L' axe horizontal des abscisses (X) represente le temps t et I' axe
vertical des ordonnees (Y) indique la tension U. On voit que la valeur
de tension ne varie pas au cours du temps. Analysons maintenant
l' evolution de la tension alternative, representee ici par une sinusoi"de.
Figure4-9 .-
Evolution d'une tension alternative
u
+ --
au cours du temps
0L..
>- dans la plupart des cas, une relation de proportionnalite entre la
UJ
lf)
tension et le courant.
.-f
0
N
@
......
..c
en
·;:
u
>-
a.
0
0
La notion de resistance
Les electrons circulant dans un conductew- peuvent avoir plus ou moins
de mal a arriver au bout. Sur leur chemin, ils rencontrent en effet des
resistances tres differentes Jes unes des autres. On peut etablfr une classi-
fication des materiaux en fonction de leur conductibilite :
• isolants (tres haute resistance). Par exemple: la ceramique ;
• mauvais conducteurs (haute resistance). Par exemple: le verre;
• bons conducteurs (foible resistance). Par exemple: le cuivre;
• tres bons conducteurs (supraconductivite a de tres basses tempe-
ratures OU la resistance electrique tend vers 0) ;
• semi-conducteurs (la resistance peut etre commandee). Par
exemple : silicium ou germanium.
II existe ainsi deux grandeurs electriques, inversement proportion-
nelles : la resistance R - dont la valeur est exprimee en ohms (Q) ;
elle se dedui t ~l partir du code couleur peint directement sur son
corps - et la conductance G.
Plus la resistance est elevee, plus la conductance est foible, et inversement.
La relation qui lie une resistance aune conductance est donnee par :
1
R = -
G
~ Figure 4-10
Vl
Q)
Resistance freinant le flux
0..... d'electrons
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Le frottement plus intense des electrons, par exemple sur la paroi
externe ou bien entre eux, degage une energie sous forrne de chaleur
que la resistance transmet a I' exterieur.
II existe plusieurs types de resistances (par exemple, a couche de
carbone OU a couche metallique). Dans la plupart des circuits electro-
niques, elles sont utilisees pour limiter l 'intensite des courants.
La loi d'Ohm
La loi d'Ohm dec1it le rapport entre la tension U aux bornes d'une
resistance R et le courant l qui la traverse. Voici la relation qui la
definit :
u
R= -
I
Tout juste Ardus ! Nous allons nous livrer a un petit exercice avec les
valeurs suivantes.
• La tension Ude la pile est de 9 V.
• La resistance R a une valeur de l 000 Q (l 000 Q = 1 kQ =
l kilo-ohm).
Question : quelle est la valeur du courant l qui traverse Ja resistance et
bien entendu la pile ?
Si on tire I de la formule :
u
R= -
I
Vl
Q)
0.... on obrient:
w
>-
Lf)
.-I I =-
u
0 R
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
En remplas;ant Jes differentes grandeurs par Jeur valeur numerique, on
obtient le resultat suivant :
_ U _ 9V
I - R - l OOO Q = 0,009 A = 9 mA
Bien dit Ardus ! C'est vrai et c'est pour celte raison que les appareils
de mesure regles sur la mesure de l'intensite du courant ont une resis-
tance interne tres foible. Le resultat de la mesure n' est alors pratique-
rnent pas influence.
Dans Jes circuits representes, j'ai utilise le symbole de la pile pour
indiquer la source de tension . Cependant, ii en existe d'autres
variantes selon Jes schemas (voir figure 4-13).
Figure 4-13 ~
Vl
Divers symbol es de sources
de tension --1...
Q)
0.....
>-
T 0--- J_
w
Lf)
.-I Le symbole de gauche represente une pile ; celui du centre est aussi
0
N bien utilise pour des piles que pour d'autres alimentations en courant
@ continu ; sur celui de droite, le pole negatif a ete remplace par le
......
.J::. symbole de masse. Ce dernier est surtour employe dans les schemas
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
complexes, pour eviter d'avoir a representer le fil de la borne nega-
tive sur l' ensemble du circuit.
Nous revienclrons plus Join dans ce chapitre sur Jes circuits electroniques
de base, dont je souhaite encore preciser certains details. Je pense qu'il
est mainteoant temps de vous debrouiller un peu tout seul. Ne craignez
rien, la solution de l'enigme vous sera donnee d'ici la fin de ce chapitre !
@ Attention !
En elect ronique, ii existe deux conventions de sens du courant, qui sont oppo-
sees. Vous devez par consequent savoir en quoi reside la difference.
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Principaux composants
electroniques
Le composant electronique le plus simple est la resistance, mais il en
existe beaucoup d'autres. Dans ce chapitre, nous nous limiterons aux
composants de base, qui peuvent etre ranges en deux categories : les
composants passifs et les composants actifs.
Composants actifs
Les composants actifs ont de l'intluence sur un signal. lls peuvent agir,
par exemple, sur son amplitude en l'augmentant. En void quelques-uns:
• les transistors ;
• les thyristors ;
• les photocoupleurs.
La resistance fixe
La resistance fixe, appelee plus simplement resistance, est un compo-
sant dont la valeur est constante (meme si elle demeure sensible aux
variations de temperature).
Un code couleur a ete defini pour connaitre la valeur d'une resistance: en
effet, elles sont trop petites pour recevoir un marquage explicite et elles
ont par ailleurs des tailles differentes. Sachez que la taille d'une resis-
ui tance est fonction de la puissance maximale qu' elle peut dissiper.
Q)
0L..
>-
UJ
lf)
.--!
0
N
@
......
..c
en
·;:
u
>-
a.
0
0
~ Figure 4-14
Plusieurstypes de resistances
~ Figure4·15
. - - - - - - - 1er anneau: marron = 1
Determination delavaleur
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Tableau 4-1 .,.
1" anneau 2• anneau 3' anneau 4' anneau
Code couleur pour les resistances Couleur (1" chiffre) (2' chiffre) (multiplicateur) (tolerance)
I Marron 101 = 10 ± 1%
I Rouge 2 2 102 = 100 ± 2%
JOrange 3 3 103 = 1000
Jaune 4 4 10'1 = 10000
I Vert 5 5 105 = 100000 ± 0,5%
I Bleu 6 6 106 = 1000000 ± 0,25%
I Violet 7 7 7
10 =10000000 ± 0,1%
Gris 8 8 108 = 100000000 ± 0,05%
9
0 Blanc 9 9 10 = 1000 000 000
J Or io-1 = 0,1 ± 5%
I Argent 10"2 = 0,01 ± 10%
La resistance variable
Outre les resistances fixes, il existe toute une gamme de resistances
variables. Par exemple, pour regler le volume de votre radio, vous
avez besoin d'une resistance dont la valeur varie en fonction de
I' angle de rotation de I' axe de commande.
VJ
Q)
0L..
>-
UJ Dans la position 1, la resistance entre les points A et C est inferieure a
lf)
.--!
celle entre les points C et B. Dans la position 2 en revanche, le
0
N
curseur se trouve plus loin vers la droite ; la valeur de resistance entre
@ les points A et Ca augmente et celle entre les points C et B a diminue.
......
..c
en
·;:
u
>-
a.
0 Chapitre 4 : Les bases de l'electronique -------------------0
La resistance ajustable
La resistance ajustable sert de resistance a reglage definitif. La
plupart du temps, elle est soudee directement sur une carte pour etre
ajustee al'aide d' un petit tournevis d'horloger pour calibrer le circuit.
Generalement, la vaJeur de la resistance n'est plus jamais rnodifiee
par la suite.
Les resistances ajustabJes peuvent avoir differentes formes. Faute de
place, il m'est impossible ici de toutes vous les presenter en detail.
Figure4·18 ...
Symbole de la resistance ajustable
Le potentiometre
Le potentiometre est une resistance reglable qui permet d'aj uster, par
exemple, le volume d'une radio ou bien l' intensite d'un dispositif
lumineux. Son curseur mobile peut etre deplace au moyen d'un axe
sortant du boitier. ll est done tres facile de regler manuellement la
valeur de la resistance.
Figure4·19 .,.
Symbole du potentiometre
La photoresistance
La pbotoresistance est egalement appelee LDR (Light Depending
Resistor). La valeur de la resistance de ce composanr evolue en fonc-
tion de I' intensite lumineuse qui lui est appliquee. Plus la lumiere
incidente est forte, plus sa resistance est foible.
Vl
Q) La photoresistance va nous permettre de faire des essais interessants
0..... sur un servomoteur, qui sera cense suivre une source lumineuse et se
w
>- diriger toujours vers le point le plus lumineux.
Lf)
.-I
Figure 4-20 .,.
~OU
0
N
Symboles de la photoresistance
@
...... //
.J::.
01
·;: -c:::=J-
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I: Les bases
u
La courbe caracteristique d' une LDR tradui t son comportement en
fonction de la variation de son eclairement. L'eclairement s 'exprime
en lux (lx).
~ Figure 4-21
Courbe caracteristique d'uneLOR
o ~---~-~--~~
frlairement (lux)
Les domaines d'application d' une LDR sont varies. En voici quel-
ques-uns :
• comme interrupteur crepusculaire pour declencher une source
lumineuse supplementaire a la nuit tombante telle que des rever-
beres OU un eclairage interieur de vehicule ;
• pour mesurer l' intensite lumineuse avant de prendre des photos;
• conune capteur dans des barrieres lumineuses pour, par exemple, des
poites d' ascenseur ou des contr6les d' acces ades zones de securite.
La plage de resistance de la LDR depend du materiau employe et
presente approximativement une resistance dans l'obscurite comprise
entre 1 et 10 MQ. Une intensite d'eclairement de 1 000 lux (Ix)
environ engendre une resistance comprise entre 75 et 300 Q .
La resistance thermosensible
ou thermistance
La valeur de la resistance thermosensible varie en fonction de la
temperature. Il existe deux types de thermistances :
• NTC (Negative Temperature Coefficient OU resistance a coeffi-
cient de temperature negatit) ;
• PTC (Positive Temperature Coefficient OU resistance a coeffi-
cient de temperature positit).
VJ
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 4 : Les bases de l'electronique -------------------0
NTC
La resistance d'une thennistance NTC diminue (et la conductivite
augmente) lorsque la temperature augmente.
Sa forme ressemble a Celle d'un condensateur ceramique, Ce qui peut
parfois donner lieu a des confusions. Une inscription, par exemple
4K7, laisse pourtant presumer de la valeur de resistance, et I' appella-
tion «Thermistor NTC 4K7 » pennet de !'identifier formellement.
o ~~---~----~---
20°c Temperarure ('CJ
On remarque qu' il s'agit bel et bien d'une courbe et non d'une droite
comme pour la LDR. La principale caracteristique de cette resistance
est sa valeur de reference, R20 , qui est annoncee a une temperature
ambiante de 20 °C. Sur la courbe, j 'ai opte pour une valeur fictive de
lOkQ.
PTC
La resistance de la thermistance PTC varie inversement a celle d'une
thermistance NTC. L a conductance d'une PTC diminue (et la resis-
tance augmente) en fonction de la temperature.
Figure4·24 Ill> ~f
Symbole de la PTC
(thermistance PTO
IJJ
Q)
La courbe caracteristique d'une PTC est !'inverse de celle de la NTC,
0..... avec quelques particularites supplementaires. En effet, elle peut
Jj- posseder un minimum dans la region des temperatures basses et un
Lf) maximum dans celle des temperatures elevees .
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
~ Figure 4-25
Courbe caracteristique d'une PTC
Temperature {°C)
~ Tableau 4-3
Type Temperature Resistance Courant
Comportement des NTC et PTC
NTC i ! i adifferentes temperatures
l i i
PTC i i i
i i i
Le condensateur
Le condensateur est un composant forme de deux plaques conduc-
trices paralleles, separees par un dielectrique. Si, par exemple, une
tension continue est appliquee entre Jes deux plaques, il se cree entre
elles un champ electrique.
~ Figure 4-26
Champ electrique (represente
par des fleches} entre les deux
plaques d'un condensateur
Vl
Dans ce cas, le condensateur se comporte comme une pile chargee.
Q)
0.....
>- @ Attention!
w Un condensateur charge ne doit jamais etre court-circuite et doit toujours etre
Lf)
.-I decharge au rnoyen d'une resistance appropriee.
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
La quantite de charge que le condensateur peut emmagasiner depend
de deux facteurs :
• sa capacite totale C, qui est mesuree en farads (P) ;
• la tension d'alimentation U qui Jui est appliquee.
Nous pouvons retenir que la quantite de charge Q d'un condensateur
est d'autant plus grande que la capacite ou la tension e st elevee. La
formule suivante relie Jes trois grandeurs :
Q=C· U
Exemple de calcul : soit un condensateur avec une capacite C de
3,3 µF, auquel on applique une alimentation de 9 V . Quelle est la
charge totale Q ?
Q = C · U = 3,3 µF · 9 V = 2,97 · 10·5 C
La capache d' un condensateur est en regle generale bien inferieure a
un farad. Sa valeur se sirue plutot dans Jes plages suivantes :
• µF ( 1Q·6 ) - microfarad ;
• nF ( 10·9) - nano farad ;
• pF Cl0·12) - picofarad.
Il existe differents types de condensateurs ; en voici quelques-uns.
Condensateurs polarises
• Condensateurs electroly6ques
Sont representes ci-contre un condensateur electrolytique (a gauche)
et un condensateur ceramique (a droite). Comme vous pouvez le voir,
la difference de taille est enorme.
Les condensateurs non polarises peuvent servir aussi bien dans des
circuits de courant continu que dans des circuits de courant alternatif,
Vl
Q) aJors que les condensateurs polarises comme le condensateur electro-
0..... lytique ne peuvent etre employes que dans des circuits de courant
w
>- continu et sous polarite correcte.
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
Le mode de fonctionnement des condensateurs me para'it clair, mais je
ne vois pas bien ou et aquoi ils peuvent servir.
~ Figure 4-27
-I I- -I ~ Symboles representant
un condensateur normal (a gauche)
et un condensateur polarise
Voyons un peu comment se comporte un condensateur retie ~t une pile electrolytique (a droite)
(voir figure 4-28).
- "'
u
Vl
Q)
0....
w
>-
Lf)
.-I
Dans ce circuit, un condensateur est charge par une pile quand
0
N
l' inverseur est en position l. Quand il est dans la position 2, le
@ condensateur C est court-ci.rcuite par la resistance R et commence ase
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
decharger. On peut ainsi mesurer aussi bien le courant de charge gue
celui de decharge a l' aide des deux amperemetres. Tout ceci n' est
pour vous que pure theorie, aussi ai-je corn;u un circuit oil I' operation
de commutation est automatique et electronique. La source de tension
n'est pas une pile mais un generateur de signaux rectangulaires. La
tension evolue a intervalles reguliers entre deux valeurs Umax et 0 V.
Generateur
de signaux
rectangulaires
Masse
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J Comment interpreter l'oscillogramme? Quand le niveau de tension
d'entree passe de 0 a 5 v (courbe jaune), le condensateur transmet
.J::.
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I: Les bases
u
instantanement cette variation (courbe bleue). Ce dernier est assimile
a un court-circuit pour les variations rapides. Lorsque le niveau de la
tension d'entree est a 5 V pendant une certaine duree, le condensateur
se charge et sa resistance augmente. Yous voyez que la courbe bleue
du bas s'aplatit progressivement et revient presque a 0 V.
Un condensateur charge constitue un circuH ouvert pour le courant
continu . Le condensateur ne laisse pas passer le courant continu.
Quand le signal d'entree passe de 5 Va 0 V, le condensateur transmet
cette variation vers la sortie et commence a se decharger a travers la
resistance. Cette fois, le courant qui circule est dans le sens inverse de
celui de la charge (courbe bleue). Le courant de decharge va dirninuer
jusqu' a pratiquement atteindre la valeur zero. La tension aux homes
de la resistance, representee par la courbe bleue, se rapproche aussi de
0 V. Le cycle ainsi decrit va se repeter.
Bien raisonne ! C'est vrai qu'il ya de quoi s'y perdre. Regardez bien
la construction du circuit. Le signal bleu e n question est la tension
aux bornes de la resistance ; elle varie au rythme du courant qui passe
a travers le condensateur.
La courbe bleue ne represente pas la tension aux bornes du condensa-
teur. Pour s'en assurer, il nous faut modifier legerement le circuit
Permutons simplernent la resistance et le condensateur. On obtient
ainsi le circuit suivant.
~ Figure4-31
Charge et decharge
d'un condensateur aI'aide
d'un generateur de signaux
rectangulaires
c
Generateur
de signaux
rectangulaires
Vl
Q)
0.....
w
>- Masse
Lf)
.-I
0
N On voit que la resistance R fait office de resistance de charge et que la
@ tension est prise aux bornes du condensateur C. L'oscillogramme
......
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
suivant montre bien plus clairement !'operation de charge et de
decharge du condensateur.
La diode
Une diode est un composant corn;u a base de semi-conducteurs (sili-
cium ou germanium). Elle a la propriete de ne laisser passer le
courant que dans un seul sens (sens passant). Dans le sens inverse, le
courant qui circule a travers une diode est pratiquement nul. Ce
comportement electrique fait penser a une soupape de chambre a air :
I' air de la pompe entre, mais aucun air oe ressort.
Figure4-33 .,..
Electrons traversant
Vl
une diode dans le sens passant
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
On voit que les electrons n'ont aucun mal ~1 traverser la diode. Le
clapet interne s' ouvre et les electrons circulent sans probforne. Les
suivants n'auront pas cette chance ...
~ Figure4-34
Electrons tentant de traverser
la diode dans le sens non passant
~ Figure 4-35
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Anode Cathode
Figure 4-36 •
Circuit pour commander une diode
au moyen d'un generateur
f: nt.l
designaux sinuso'idaux DIODE
Generateur
de signaux
sinusoi'daux
Figure 4-37 •
Entree et sortie d'une diode
(avec Multisim)
Vl
Q) Le signal d'entree en jaune forme une belle courbe sinusoi'dale. La
0..... diode au silicium ne laissant cependant passer que des signaux posi-
w
>- tifs > +0,7 V bloque les signaux negatifs. La courbe de sortie (en
Lf)
.-I
bleu) ne represente que l'alternance positive de la sinusoi'de. Lorsque
0
N la tension a l'entree est negative, la tension de sortie est nulle (diode
@ bloquee).
......
.J::.
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
Avant d'en fi nir avec la diode, jetous un coup d'reil sur la caracteris-
tique tension-courant. Cette courbe montre a partir de quelle tension
d'entree le courant se met a traverser la diode, et la diode a etre
conductrice. On ne detecte la presence d'un courant de conduction
qu'a partir de +0,5 V environ, et qui augmente tres rapidement a
partir de +0,7 V.
~ Figure4-38
Courbe caracteristique tension-
courant d'une diode au silicium
avec Multisim
~ Figure4-39
Sens passant et non passant
de diodes dans deux circuits
alampes
+
L1
Vl
~
Q)
0.....
w
>- Circuit de gauche
Lf)
.-1
Le pole positif de la pile est relie a l' anode de la diode D2, qui est
0
N poladsee dans le sens passant et laisse passer le courant. La lampe L2
@ s'allume. La diode Dl est bloquee, car sa cathode est reliee au pole
.4-J
.J::. positif de la pile. La lampe LI reste eteinte.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Circuit de droite
La polarite de la pile est permutee et le pole positif se trouve en bas ;
les rapports de polarite soot inverses. Le pole positif de la pile est
applique a l'anode de la diode Dl et la lampe L1 s'allume. La diode
D2 est bloquee, car le pole positif se trouve connecte a sa cathode. La
lampe L2 reste eteinte.
Yous vous demandez peut-etre maintenant a quoi servent de tels
composants. Les domaines d'application sont multiples. En voici
quelques-uns :
• redressement de courant alternatif ;
• stabilisation de tension ;
• diode de roue libre (protection contre la surtension aux bornes
d' une inductance lors de l'arret, par exemple d' un moteur).
II existe de nombreux types de diodes, par exemple des Zener ou a
effet tunnel. Les enumerer toutes ici et expliquer leurs differences
feraient exploser le nombre de pages de ce livre ! Je vous renvoie par
consequent a la Jitterature electronique specialisee OU a Internet.
Le transistor
Venons-en maintenant a un composant electronique tres interessant
qui a contribue tout d'abord au developpement des circuits integres:
le transistor. II est le premier composant electronique a faire partie de
la categorie des composants actifs. II s'agit d'un dispositif con9u a
partir de semi-conducteurs, qui peut etre utilise aussi bien comme
commutateur electronique que comme amplificateur.
Dans la plupart des cas, le transistor possede trois pattes. 11 en existe
de nombreuses variantes, avec des formes, tailles et couleurs diffe-
rentes.
ui
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0
0
~ Figure 4-40
Oifferents types de transistors
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Figure 4-41 .,.
Electrons traversant un transistor
La figure 4-43 presente J'interieur d'un trans.istor NPN (voir page 98)
relie au pole positif de la source de tension par la connexion B. Une
lettre est attribuee a chaque patte pour pouvoir differencier les
connexions d'un transistor.
• B pour base ;
• C pour collecteur ;
• E pour emetteur.
La figure 4-41 presente comment le flot d' electrons circule entre le
collecteur et I' emetteur. C' est le circuit de travail, qui permet, par
exemple, de commander d'autres dispositifs (lampes, relais et meme
moteurs). On voit aussi le courant passer par la base; c'est le courant
de commande, qui regule par son intensite le courant de travail.
Sachez qu'un courant de commande tres faible peut donner naissance
a un courant de travail relativement eleve. Ce comportement est
appele amplification.
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
0 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
Lampe
2 +
lnterrupteur
+ 24V
Relai.s
3V ~ Figure 4-42
Circuits de travail et de commande
Circuit de travail avec des composants electriques
~ Figure 4-43
Symboles du transistor, sans cerde
en haut et avec cerde en bas
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Un transistor presente trois couches de silicium superposees, les deux
couches exterieures etant toujours identiques. Les differences entre
NPN et PNP resident dans l' agencement de ces couches.
• Sur le transistor NPN, les couches N se trouvent a J'exterieur et
composent le collecteur et J'emetteur, et la couche P du milieu
constitue la base. Le fonctionnement normal d'un tel transistor
est obtenu lorsque le potentiel base-emetteur est de +0,7 V au
minimum. A cette condition, il y aura du courant au niveau du
coJlecteur et de l 'emetteur.
• En revanche, le fonctionnement normal d'un transistor PNP est
obtenu lorsque le potentiel base-emetteur est negatif et a une
valeur maximale de-0,7 V.
Je peux maintenant vous montrer le principe des circuits de
commande et de travail.
1 +
lnterrupteur
+ 24V
3V
u
>-
0..
0
0 Partie I : Les bases
~ Figure4-45
CBE Brochage des transistors BC547C
Le circuit integre
Cette miniaturisation s'est bieo sO.r faite en plusieurs etapes. Tout a
commence avec la decouverte du transistor, qui a pennis aux deve-
loppeurs de loger plusieurs circuits dans des espaces beaucoup plus
r6duits. Dans les premiers temps, des circuits plus ou moins
complexes utilisaient Jes tubes. Ceux-ci etaient bien plus gros qu'un
transistor et reclamaient done plus de puissance. Plus tard, on a place
des quant.ites enormes de transistors sur des circuits imprimes pour
pouvoir concentrer en un lieu une fonction electronique complexe, ce
qui a abouti a la longue a des accumulations de cartes. Par la suite,
quelqu'un a eu l'idee de rnettre plusieurs cornposants discrets, tels
que transistors, resistances et condensateurs, sur une puce au silicium
de quelques millimetres carres. Le circuit integre (ou IC pour Inte-
grated Circuit) etait ne.
• Annees 1960 : environ deux douzaines de transistors par puce
(3 mm 2).
• Annees 1970 : environ deux milliers de transistors par puce
(8 mm2).
• Annees 1980 : quelques centaines de milliers de transistors par
puce (20 mm2).
• Aujourd'hui : plusieurs milliards de transistors par puce.
Le mkrocontroleur ATTiny13 avec ses 8 pattes de raccordement est
un exemple parlant. II s'agit d'un veritable mini-ordinateur avec tout
ce que cela comporte (unite arithmetique, memoires, ports d'entree et
de sortie, etc.). 11 y a quelques decennies, un ordinateur de cette
Vl complexite aurait necessite un nombre incroyable d'eurocartes a base
Q)
de cornposants discrets (dimensions: 160 x 100 mm).
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------0
Figure 4-46 .,.
Le microcontroleur ATTiny13 dans
un boitier DIP de la societe Atmel
@ Attention !
Des !'introduct ion, je vous ai averti du risque encouru par les circuits integres
en cas de charge statique. Par exemple, marcher sur un tapis en polyester
charge votre corps en energie electrostatique qui peut alors se decharger a
tout moment sous la forme d'un eclair. La decharge peut atteindre facilement
a
30 000 volts et avoir raison des transistors les plus solides. Une mise la terre,
en touchant par exernple un tuyau de chauffage non peint ou un contact de
sOrete, est done conseillee.
La LED
Une diode electroluminescente - appelee aussj LED (Light Emitting
Diode) - est un composant semi-conducteur qui emer de la lwniere a
une certaine longueur d'onde en fonction du materiau semi-conduc-
teur employe. Le sens du courant est important car la LED n'emet de
la lumiere que dans le sens passant. La LED n' est pas deterioree en
cas de polarite inversee ; elle reste simplement eteinte. n faut impera-
tivement veiller a ce qu'une LED sojt toujours accompagnee d'une
resistance serie correctement calculee. Faure de quoi, sa luminosite
sera etonnamment intense la premiere fois et ensuite plus rien. Les
diodes electroluminescentes ont des formes et des couleurs variees.
Vl
Q)
0.....
>- Tout comme une diode normale, la diode electroluminescente presente
w
Lf)
deux contacts appeles anode et cathode. Son symbole est similaire, avec
.-I
0 seulement deux fleches en plus indiquant la lumiere emise.
N
@
......
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
~ Figure 4-48
// Symbole de la diode
~
electroluminescente
- - - -- - - - - Anode
Cathode
Pour qu'une LED puisse s'allumer, l' anode doit etre raccordee au
pOJe positif et la cathode au pole negatif. La vue suivante montre un
circuit simple pour commander une LED.
1 2 ~ Figure 4-49
Autres composants
Les elements de circuits mentionnes jusqu' a present font tous partie
de la famille des composants electroniques. Je vais maintenant vous
presenter quelques composants electriques.
~interrupteur
Le courant ne circule que si on a un circuit ferme et que les electrons
peuvent circuler Jibremeut. Pour pouvoir influer sur ce circuit de
l' exterieur, vous devez, par exemple, installer un interrupteur. 11
Vl
Q)
s'agit d'un dispositif qui ouvre ou ferme un contact. Yous trouverez
0..... une multitude de versions d'interrupteurs munis de deux ou de
>- plusieurs contacts.
w
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------8
Figure 4-50 .,.
Divers types d'interrupteurs
Le bouton-poussoir
Le bouton-poussoir est un proche parent de l'interrupteur; il influe
aussi sur la circulation du courant. S' il n'est pas actionne, le circuit
est en principe interrompu. Je dis « en principe », car ii existe aussi
des boutons- poussoir qui sont fermes tant qu' ils ne sont pas actionnes
et qui interrompent le circuit quand il s le sont. On les appelle alors
contacts normalement fermes.
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I: Les bases
u
Le symbole du bouton-poussoir ressemble a celui de l' interrupteur. Il
existe cependant quelques petites differences qui ont leur importance
et qui ne doivent pas etre ignorees.
Le relais
Je vous ai deja parle du relais dans !'introduction sur le transistor. Je
souhaite revenir ici plus precisement sur ce composant. Un relais
n'est en fait rien d'autre qu'un interrupteur ou un inverseur que vous
pouvez actionner a distance. La figure 4-54 montre un travailleur
formant un contact a distance du temps ou ii n'y avait pas encore de
relais.
u
>-
0..
0
Chapitre 4 : Les bases de l'electronique -------------------§
J'ai ouvert ici un relais pour pouvoir observer de plus pres sa struc-
ture inteme. Sur le cote gauche se trouve la bobine, dont le creur est
constitue d'un noyau en fer permettant de mieux canaliser les lignes
de champ magnetique. Si un courant ciJ"cule dans la bobine, la palette
mobile est attiree et pousse les contacts de travail vers la droite, qui
peuvent tout aussi bien etre ouverts que fermes. La vue schematique
suivante montre comment la palette est attiree vers le bas, formant
ainsi un contact.
Si la palette mobile est attiree vers le bas, elle ferme les deux contacts
Kl et K2. Utilise d'une certaine maniere, un relais peut egalement
servir d'amplificateur, si cela s'avere souhaitable. Un courant foible
circulant dans la bobine peut, a condition que les contacts du relais
aient Jes bonnes dimens.ions, commander un courant beaucoup plus
important.
@ Attention !
Ne jamais brancher un relais directement sur une sortie de la carte Arduino. II
passerait a coup sur beaucoup plus de courant que ce que la sortie peut deli-
vrer, endommageant le microcontroleur. Vous verrez plus tard comment un
relais peut etre commande.
Le moteur
Je pense que vous savez ce qu'est un moteur. Bien entendu, nous ne
parlerons pas d'un moteur a combustion, dont le carburant serait par
exemple du gazole, mais d'un moteur electrique. II s'agit ici d'un
assemblage qui transforme l' energie electrique en energie motrice.
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
~ Figure 4-57
Plusieurs types de moteurs
electriques
Vl
Q)
La figure 4-59 represente un conducteur parcouru par des electrons circu-
0.....
lant dans un sens. Les cercles rouges ind.iquent les lignes de champ
w
>-
magnetique generees par le courant. Si nous approchons maintenant une
Lf)
.-I aiguille de boussole du conducteur fixe, elle reagit en se tournant dans le
0
N sens des lignes de champ magnetigue. Lignes de champ magnetigue du
@ fil et aiguille de boussole subissent une interaction de forces. Si nous
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 4 : Les bases de l'electronique -------------------§
utilisons a la place un aimant tixe renfermant un conducteur mobile, la
force induite provoque un mouvement du fil.
Figure 4-60 .,.
Schema tres simplifie d'un moteur
acourant altematif
0.....
>-
w
Lf)
Le moteur pas-a-pas
.-I
0 Un moteur normal tourne jusqu'a ce que le courant qui l'alimente soit
N
coupe, puis ii effectue encore quelques tours emporte par son elan. II
@
.4-J
finit par s' arreter dans une position a coup sur imprevisible. Ce
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
comportement n'est bien sur pas souhaite quand il s'agit d'atteindre
precisement certaines positions bien determinees, les unes a la suite
des autres. Pour cela, il faut employer un type de moteur special : le
moteur pas-a-p<L'>. Peut-etre avez-vous deja vu des automates indus-
triels qui servent a monter des elements de carrosserie pour les souder
ensemble a l'endroit precis ou ils doivent l'etre? La position doit
alors etre rigoureusernent exacte car tout doit ensuite se raccorder.
Ces automates sont actionnes par des moteurs pas-a-pas, tout comme
Jes scanners a plat et les tables tra~antes.
~ Figure4-61
Plusieurs types de moteurs
pas-a-pas
~ Figure 4-62
Symbole du moteur pas-a-pas
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------8
pour simplifier un moteur avec 4 bobines et une commande simple,
dont le positionnement est par consequent approximatif.
Figure 4-63 .-
Representation schematique
d'un moteur pas-a-pas avec
4 bobines ou positions
Figure 4-64 .-
Excitation simultanee
de plusieurs bobines
ui
Q)
0L..
>-
UJ II est maintenant possible de travailler avec des pas de 45° au lieu de
lf)
.-f 90°. Pour que la position adoptee reste stable, la ou les bobines
0
N doivent etre alimentees en courant jusqu'a ce qu'une nouvelle direc-
@
......
..c
en
·;:
u
>-
a.
0
8
tion soit ordonnee. Pour que le moteur tourne dans le sens des
aiguilles d'une montre, les broches des bobines doivent etre bran-
chees dans le bon ordre.
Commern;ons, par exemple, par la bobine B: B/BC/C/CD/D/DA/A/
AB/Bl, etc.
Eh Ja, pas si vile! J'ai regarde de plus pres les motetu-s pas-~t-pas el j'ai
.remarque qu'ils disposent tous de 4 broches, sauf un qui en a 5.
Pourquoi?
Yous avez pris une loupe pour voir s:a? Mais, c'est vrai, Ardus !
Vous avez tout a fair raison. 11 existe deux types de moteurs pas-a-
pas:
• unipolaires (5 ou 6 broches) ;
• bipolaires (4 broches).
Les premiers soot plus faciles a commander, car le courant circule
toujours dans le meme sens dans Jes bobines. C'est pour cette raison
que j 'ai pris comme exemple un moteur unipolaire pas-a-pas.
Le servomoteur
Les modeles redu.its d'avions ou de bateaux disposent de petits servo-
moteurs pour commander des fonctions Jes plus diverses, comme la
vitesse ou le cap. 11 s'agit de petits moteurs a courant continu qui sont
equipes de 3 broches et dont le positionnemeot est commande par uoe
modulation de largeur d'impulsions (MLI). Vous en saurez plus dans
le chapitre 10 sur la programmation de la carte Arduino.
~ Figure 4-65
Deux types de servomoteurs
Vl
Q)
0....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 4 : Les bases de l'electronique -------------------8
Yoici comment peut etre represente un servomoteur (voir
figure 4-66).
Figure 4-66 .-
Symbole du servomoteur
Duree d'impulsion
La duree de !'impulsion doit etre comprise entre 1 ms (butee de
droite) et 2 ms (butee de gauche). Les fig ures ci-apres presentent trois
positions de servomoteur avec Jes signaux de commande periodiques
correspondants.
1111 20ms •I
~
-+I1 msI+-
~ ~-----
I
,, --..... •.
\
I
' '
a·
Avec une duree d'impulsion de 1 ms, le servomoteur est amene sur la
bu tee de droite, qui correspond a un angle de 0°.
ui
Q)
0L..
>-
UJ
lf)
.-f
0
N
@
......
..c
en
·;:
u
>-
a.
0
8
1.. 111
n_ _ _
20ms
Jl n
-+I1,5 ms~
•.
I
, #
+
go·
'
''
• .
I• •I
n___
20ms
Jl
-+I 2 ms ~
., .. -..... ' •
# '
n
'
1so·
Avec une duree d'impulsion de 2 ms, le servomoteur est amene sur la
bu tee de gauche, ce qui correspond a un angle de 180°.
Vous avez maintenant une vague idee de ce qu'est la MLI. La largeur
(ou dun~e d'impulsion) permet de commander un composant electro-
nique comme le servomoteur. La meme methode peut etre utilisee
pour gerer la luminosite, par exemple dans le cas de diodes electrolu-
minescentes.
Les valeurs peuvent certes varier en fonction des servomoteurs, mais le
principe reste le meme. Plus besoin de se triturer la tete pour savoir
comment et avec quelles valeurs commander le servomoteur, car d'autres
developpeurs s'en sont deja charges et nous pouvons utiliser leur savoir.
Il existe des codes sources prets a l' emploi que nous pouvons incorporer
VJ
dans notre montage. Vous verrez bientot comment tout cela fonctionne.
Q)
Le positionnement n'etant ordonne que par un seul signal de commande,
0L..
le servomoteur n'a pas beaucoup de broches.
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 4 : Les bases de l'electronique -------------------@
Figure 4-67 .._ t . - - - - A limcn1a1ion (+5 VJ
Brochage d'un servomoteur
Le buzzer piezoelectrique
Je souhaite conclure ce chapitre sur l'electronique en vous presentant
le buzzer piezoelectrique.
VJ
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 4 : Les bases de l'electronique -------------------@
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Chapitre
Circuits electroniques
simples 5
Au sommaire de ce chapitre :
• les circuits resistifs (montages en serie et en parallele) ;
• le diviseur de tension ;
• les circuits capacitifs (montages en serie et en parallele) ;
• Jes circuits avec transistors.
Puisque vous connaissez main tenant Jes bases de 1' electronique grace
au chapitre precedent, passons a l'etape Jogique suivante qui consiste
a associer plusieurs composants pour en faire un circuit. Pour que les
debuts soient moins difficiles, je vais vous montrer queJques circuits
de base ne necessitant, pour la plupart, que tres peu de composants.
Dans la seconde partie du livre constituee de 19 montages Arduino, la
comple xite augmentera au fil des projets, mais vous pourrez toujours
Jes construire en suivant Jes principes exposes ici. Ce chapitre ne se
veut pas un precis des circuits electroniques de base, mais se focalise
sur la comprehension des projets A1·duino. Yous trouverez le cas
echeant des explications plus detaillees dans Jes montages eux-
memes. Ne vous inquietez pas, vous saurez tout ce qu'il faut savoir le
moment venu.
Le montage en serie
Quand deux resistances ou plus sont montees l'une derriere l' autre,
on parle d'un montage en serie. II est da ns la nature des choses que la
resistance totale augmente a mesure que le nombre de resistances
.individueJies placees l'une derriere l' autre augmente. La res.istance
totale est en !'occurrence egale a la somrne des resistances indivi-
duelles. Supposons maintenant que Jes 3 resistances suivantes soient
montees l' une derriere l' autre :
U1 = ? U2 = ? U3 = ? ~ FigureS-1
Montage en serie de 3resistances
dansun circuit electrique
lK K 1 K
U = 9V
Quelles valeurs sont connues dans ce circuit et lesquelles sont incon-
tmes et doivent etre calculees ?
Commes : U, R J> R2 et R3
Inconnues : l t<Jtale• U" U2 et U3
Sachant que le courant I est partout le meme, vous pouvez utiliser la
formule suivante :
u
ltotale = - - = - - - - -
u
R totale R 1 + R 2 + R 3
I =
9V =2mA
wtale 1K + 2K + 1,SK
u
>-
0..
0 Chapitre 5 : Circuits electroniques simples ------------------8
La chute de tension aux bornes d' un composant est indiquee par une
flecbe et va dans le sens du courant du plus ( +) vers le moins (-).
Le montage en parallele
Un montage en parallele consiste a placer deux ou plusieurs compo-
sants cote a cote. Le courant qui arrive dans un montage de ce type se
scinde alors en plusieurs branches.
1K
1 1 1 1 1
--=-+-=-+-
R lotale R1 R1 1K 2K
Vl
Q)
12 =?
U = 9V
Dans ce circuit, un faible couraot parcourt evidemment aussi I' appa-
reil qui mesure la tension via Jes resistances, mais laissons cela de
cote pour !'instant. Quelles valeurs soot connues dans ce circuit et
lesquelles soot inconnues et doivent etre calculees ?
Conoues : U, R 1 et R2
Inconnues : l torale• U 1 et U2
Une resistance totale de 666,67 Q a deja ete calculee. Celle-ci vous
permet de determiner tres simplement l'intensite du courant total
!rotate avant sa ramification . Je vous redonne la formu le :
l=-
u
R
Ce qui donne :
9 V -13 5 A
Itotale = 666,67 Q - -, m
u
>-
0..
0
Chapitre 5 : Circuits electroniques simples ------------------@
Si vous additjonnez les deux courants partjeJs 1, et / 2, qu'obtenez-
vous a votre avis ? Exact, le courant total.
Le diviseur de tension
Dans beaucoup de cas, on ne souhaite pas utiliser la pleine tension de
service de +5 V pour alimenter djvers composants. Maintenant que
vous savez que des resistances sont utilisees par exemple pour dimi-
nuer des courants, je voudrais vous montrer un circuit qui ressemble
au montage de resistances en serie. Le circuit en question est appele
diviseur de tension non charge.
U1 Ri
vi
Q)
0.....
>-
U2 R2
ui
w
Lf)
.-I
Mass~
0
N
@
......
.J::.
01
·;:
u
>-
0..
0
8 Partie I : Les bases
Sur le c6te gauche, la tension d'alimentation U =+5 V a ete appl i-
quee aux deux resistances R 1 et R2 . Sur le c6te droit se trouve une
mesure de tension U2, aux bornes de la resistance R2 . Une tension est
pour ainsi dire prelevee entre les deux resistances. Une partie de la
tension d'alimentation chute a travers R 1 er l'autre a travers R2 . La
formule suivante peut etre utilisee pour calculer la tension U2 :
Eh la pas s.i vite ! Expliquez-moi seule ment comment vous en etes venu
acette formule? J'ai du ma! acomprendre.
D'accord Ardus, pas de probleme. Je peux rendre cette equation
comprehensible au moyen d'une equation de proportionnalite. Je
confronte les resistances correspondantes a la tension presente a ]ems
homes. La tension U est appliquee aux resistances R1 et R2 et la
tension U2 uniquement a la resistance R2 . L'equation de proportion-
nalite suivante peut done etre posee :
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 5 : Circuits electroniques simples ------------------8
Figure5-4 .,.
Diviseur de tension variable
par potentiometre <ll
!:; ...
·<!.>
u
g
·;;;
2
i.=-- - - - - --u
c
..,
(!)
0 1'1
a..
+ Vo------~ .. Vo-- - - - - - - .
...
.....BJ........,..2- - - - - ---0
u u R1
R2 ......R2 . ... 2
U2
U2~
Rl < R2 Rl > R2
Le montage en serie
Si vous branchez deux condensateurs ou plus en serie et si voulez
determiner la capacite totale, vous pouvez utiliser la formule permet-
tant de calculer la resistance totale dans un montage en parallele.
Vl
Q) 1 = _l +-1 = _ 1_ + _1_
0..... ctotale c I C2 22pF 33 pF
w
>-
Lf)
done C1owle = 13,2 pF
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 5 : Circuits electroniques simples ------------------@
Le montage en parallele
Si deux condensateurs ou plus sont branches en parallele, la formule
du montage en serie pour des resistances peut servir a calculer la
capacite totale.
C1
~ FigureS-6
Transistor NPN servant
de commutateur
Resistance serie
pour LED
Commutateur
8
Transistor NPN
Resistance de base
Vl
Ce montage possede a la fois un circuit de commande (a gauche de la
base) et un circuit de travail (a droite de la base). Voyons a present
Q)
0.....
>- ces deux circuits de plus pres .
w
Lf)
.-1
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 5 : Circuits electroniques simples ------------------@
FigureS-7 .,.
Le courant de corn man de
et le courant de travail ' u...J
circulent ensemble
dans le transistor.
·-:'--'' ""
• <=
. ~
..... • :::>
• C>
•'--'
······•..
CourantBE ~ .
' '
Le courant de commande I 8 effectue le trajet base-emetteur (BE) du
transistor tandis que le courant de travail I c effectue le trajet collec-
teur-emetteur (CE). Sans vouloir en dire plus sur !'utilisation du tran-
sistor comme amplificateur, la formule suivante peut etre interessante
car elle permet de calculer l'amplification en courant, designee ici par
la lettre f3 :
300 mA = 6 OOO
50 µA
0..... Que dire Ardus ... Il est vrai que ce circuit ne sert qu'a montrer
w
>- comment courant de commande et courant de travail cooperent. Tout
Lf)
.-I
ceci est un peu surdimensionne et n'est pas imperativement neces-
0
N
saire pour commander une simple diode electroluminescente. Si en
@ revanche vous avez une utilisation qui consomme un courant tres
.4-J
.J::.
01
·;:
>-
0..
0
@ 1----------------------------- Partie I : Les bases
u
important, que la sortie du rnicrocontroleur n 'est pas capable
d'alimenter, ii vous faut un circuit du genre de celui decrit ici.
Rappelez-vous les specifications de notre microcontroleur, il y est dit
qu'une seule sortie ne peut fournir que 40 rnA au maximum. Au-dela,
le controleur s'abime. Vous avez peut-etre un relais requerant une
tension de 12 V dans votre bric-a-brac. La carte Arduino ne pouvant
fourn ir que 5 V au maximum, ii y a comme un probleme. Cependant,
rien ne vous oblige a avoir une seule source de courant. Vous pouvez
utiliser deux circuits d' alimentation separes. Voici un exemple:
+SV ; l )V
Arduino 13
12
PWM 11
PWM
10 Diode de roue libre
r Re lais
0 PWM 9
'-.. a
7
C'O
+-'
'0-. PWM 6
vcc 5 8
Cl PWM Transistor NPN
Masse 4
3 E
PWM
2
1
0
Analog IN
L{'I ..j" ,.,.., <"l ..-! Cl
Masse Ma<<<'
Qu 'est-ce qui saute aux yeux? Nous avons a gauche l'alimentation .t. Figure5·8
en +5 V de la carte Arduino et a droite celle en + 12 V du relais. Microcontroleur Arduino
Toutes deux sont des sources de courant independantes et autonomes commandant un relais via
un transistor (circuit de commande)
qui doivent pourtant avoir un potentiel de masse commun. Les deux
points indiques par Masse sur le schema sont relies entre eux.
@ Attention!
Vous ne devez en aucun cas - je dis bien en aucun cas - relier les deux points
Vl
Q) d'alimentation en +5Vet +12 Ventre eux 1 Clash assure et microcontroleur au
0..... minimum grille.
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 5 : Circuits electroniques simples ------------------§
C'est cette diode en parallele au relais appelee diode de roue libre qui
me gene. A quoi sert-elle au juste?
11 me faut ici approfondir un peu, Ardus. Pour pouvoir agir et pour que
les contacts se ferment a la circulation du courant, un relais a besoin
qu' une bobine cree un champ magnetique et deplace une palette mobile.
En electronique, une bobine est egalement designee par inductance. Cette
derniere a une propriete particuliere. Quand un courant parcourt le tres
long fi.1 de la bobine, il cree un champ magnetique. R.ien de nouveau
jusqu'ici. Ce champ magnetique non seulement attire la palette mobile,
mais induit egalement une tension dans la bobine elle-meme. Ce
processus est appele auto-induction. La bobi11e se rebelle en quelque
sorte, car la tension induite est orientee de maniere a s'opposer au courant
qui l'a provoquee. Sij 'alimente une bobine en courant, la tension auto-
induite essaie de contrarier la tension en question. Cette derniere ne se
cree que lentement. Si par contre je coupe a nouveau le courant, la varia-
tion rapide du champ magnetique genere une tension induite qui
s'oppose ala baisse de tension et s'avere plusieurs fois plus elevee que la
tension initiale. C'est la tour le probleme. L'l commutation avec le leger
retard ne constitue pas un risque pour le circuit et ses composants. Lors
de l'arret en revaoche, l'effet secoodaire extremement nefaste de la
pointe de tension excessive(> 100 V) doit etre imperativement evite pour
que le circuit ne grille pas. Faute de quoi, les chances de survie du tran-
sistor sont reellement minces. Aussi une diode est-elle connectee en
parallele au relais pour ecreter la pointe de tension et deriver le courant
vers la source.
0 ..
.g
c
~
Vl
Q) c
0.....
w
>- Debloque (sature)
Lf)
.-I
r +sv
0 ov_J
N
@
......
.J::.
01
·;:
>-
0..
0
@ 1----------------------------- Partie I : Les bases
u
Quand le transistor du schema de gauche est debloque, 1' excitation du
relais tarde un peu et Jes potentiels indiques se mettent en place au
niveau de la diode: le plus a la cathode et le moins a l'anode. Autre-
ment dit, la diode est bloquee et le circuit se comporte comme si elle
n'etait pas la. Si par contre la base du transistor est reliee a la masse,
celui-ci se bloque et les potentiels indiques apparaissent du fait de la
variation du champ magnetique de la bobine : le plus a I' anode et le
moins a la cathode. La diode travaille dans le sens de la conduction et
derive le courant vers l'alimentation. Le transistor est preserve.
VJ
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 5 : Circuits electroniques simples ------------------@
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Chapitre
frltz,lng 6
.-~~~~~~~~~~~~~~ ..... ~
. -·-l l
.....
•
~ Q,•- •
Ml ' -tiDl••
.!: -t!4 • \i
(t
• ·- 1•
~ l'
iir .....
fritzing
~ ('t . .~ . ~nurnzt- iNmtn(' ,._gg
Ade._.~ "°'9bc:il'I R:f.'°-""' "*i..-
..... , ~II~_, ;>,
Figure 6-1 .A Ce projet contient deja quelques composants que vous rencontrerez
Interface de Fritz.ing probablement souvent a l'avenir. II s'agit, notamment, de la piece
avec le projet maitresse de tous les montages de ce livre : la carte a microcontroleur
du bouton-poussoir
Arduino. Elle est raccordee par des connexions en couleur a la plaque
d'essais blanche sur laquelle se trouvent, par ailleurs, des composants
comme des resistances, un bouton-poussoir et une diode rouge. Pour
garantir le bon fonct.ionnement du circuit, ses composants sont
Vl
Q) evidemment aussi raccordes Jes uns aux autres par des lignes
0..... colorees. Pour commenter le fonctionnement du circuit, vous pouvez
w
>- ajouter des remarques sous la fonne de post-its jaunes, comme ceux
Lf)
.-I
que vous collez sans doute sur votre ecran.
0
N La construction ou I' extension du circuit s'effectue par cliquer-glisser
@ depuis une bibliotheque de composants classes dans differentes cate-
......
.J::.
01
·;:
>-
0..
0
@ 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
gories, accessibles a I' aide d'onglets sur le c6te droit de la fenetre. 11
suffit de faire glisser le composant voulu et de le placer sur la bread-
board. Yous trouverez des rubriques reunissant les composants de
base, comme les resistances, les condensateurs, les transistors, les
diodes, les LED, etc. II y a aussi des rubriques specialisees qui
contiennent tous les modeles de cartes Arduino existants, ainsi que
les principaux shields. D'autres onglets permettent egalement
d'acceder aux nombreux shields de la marque Sparkfun Electronics,
ainsi qu'a d'autres composants. Le choix de composants electroni-
ques prets a J'emploi est impressionnant et il devrait repondre a tous
vos besoins ou presque.
Si une piece particuliere est absente de la bibliotheque, vous pouvez
l'y ajouter en suivant les instructions. Puis vous pourrez meme la
mettre a disposition de la communaute toute entiere afin que d' autres
developpeurs puissent aussi en profiter. D 'ailleurs, c'est un peu le
mot d' ordre qui devrait reunir tous les bricoleurs amateurs ou
passionnes : developpez et construisez, puis mettez votre projet a
disposition pour favoriser le transfert de connaissances. Vos
montages n' auraient pas grand interet si vous vous contentiez de
bricoler dans votre coin. 11 serait dommage que le reste du monde ne
puisse pas en profiter.
Revenons a !'interface de Fritzing. Outre la page d'accueil qui vous
permet d'acceder rapidement a VOS derniers sketchs, la fenetre Se
divise en trois parties :
• plaque d'essais;
• vue schematique ;
• circuit imprime.
Platine d'essai
C'est depuis cet onglet que vous pouvez construire votre circuit sur ordi-
nateur. Une plaque d'essais vide apparait toujours au demarrage de
Fritzing. Yous pouvez vous servir de cette base de depatt pour venir y
enficher des composants. II existe differentes tailles de breadboards
parmi lesquelles vous pouvez choisir celle qui correspond a vos besoins.
VJ
Q) Lataille Full+ qui est proposee par defaut est un bon debut (voir page
0L.. suivante).
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
>-
a.
0
Chapitre 6: fritzing ---------------------------§
u
•••••••• • •••• • •••••• ••• •••••• • ••••• • • • •••••• • • t •••••••• • •••••• •
• .. • • • • • • • • • • • • • • • • • • • • f . .... . . . ...... . . . ........... . ......... . . .
... ............... ......... ...... ......... ............... ...... ... ......... ... ... ... ... ... ... ...... ...... ...... ...... ... ... ... .... .......... ...... ...... ... ... ...... ... ... ..... ... ... ......... ...
. ... . . .. .. .. ..... . . ..... . . . . . . . .. .. .. . . . .. . . . . . . . .. .. . . . . .. . .. .. . .... .
<> composants
IEJ Circuit lmJ)llm~ COde
Q.. Core Parts
'"'
(Oft£ ~~
~"W • • -- 1•
~
..
'
...........
..... ...... ........ ....................
.................... ..........
···· ·•. :.......
...... ......... .' ~pttc.ern~ G.848 $-
o.o •
1. 400 '#:
•. .. ..-....................
1. .............-.---............... ..-...-••••• ..-.. ~-~·--·~.-..-. ---... ....- ••~.....-.. ............r~ ·.-~ ·- =··•...--"";.- .,~ ~-- !
~O'.tle
rropriltff
famie bfCael>oo'1J
ta'IE. fi.11+
11.in\i~·du
_ .. 68·3:>-l
l\'1
fdtzing MOh•<ll< Q
l>alf
fill _ _ _ __
or~Nbo.aro :!+
Ccnn~ons l'inV
~ 0-. .~ . Pasdecannexlonarel1er ,.gg cilt!/I..
Lorsque je fais glisser la LED sur les trous, l'extremite des pattes
. . .-a--
change de couleur afin de signaler que la LED est en place.
.... ~
:: :: ~IEJ
Tous les autres composants fonctionnent sur le meme principe que la
resistance mise en place ici. Apres avoir clique-glisse et positionne la
resistance serie, j'ai corrige sa valeur de resistance initiale en reglant
une valeur de 330 Q. Ce reglage s'effectue aussi dans le panneau
d'informations du composant selectionne. Ensuite, j'ai clique-glisse
la carte Arduino Uno a partir de la rubrique Arduino. Je l'ai fait
pivoter a l'aide des commandes du menu contextuel.
MO<fifiert'ordfe
Verr~rle composant Faire povoter de tso• {18~?} {1004?}
Co~r Ct,.._C F•e pll/Gterde 135•~rs la g11ucne {135~,?} {9!!'?}
Oup5quer c~o faire pilloter de 135• vers la gauche {13 ~1} {45'?}
.
fa1fe tJM>ter<fe 90•·vers la <!rare {45~?} {96.?}
Fal'e pil1Grer de~v<!rsla clr«e {45~?}{45'?}
.....,,
~
0 .
Rotation Retnumer
Le menu qui apparait contient Jes memes options que proposees dans le
menu contextuel. Ensuite, je retie la plaque d' essais ala carte Arduino. Je
clique sur un trou dans la plaque et je maintiens le bouton de la souris
enfonce, puis je fais glisser la souris jusqu'a un port de la carte Arduino.
..... ..
Tirer
7/........:.I:Ir;;.
!..
.,,.~• .Jt • •• • •
Les prises reliees electriquement s' affichent en jaune. Ainsi, Yous obtenez
la connexion de la LED et de la resistance serie iUustree ci-apres :
Comme Yous aYez pule remarquer, j'ai change la couleur des fils de
Vl
Q) raccordement: le fil de masse est noir, le fi l de commande est rouge.
0.... Cela s'effecrue dans le panneau d'information ou depuis le menu
w
>- contextuel. Ensuite, je Youdrais relier le bouton-poussoir aYec une
Lf)
.-I resistance pull-down a une entree numerigue. Le bouton intitule
0
N Pushbutton se trouve aussi dans la rubrique Core Parts. Faires-le
@ glisser sur la plaque a 1' emplacement illusrre.
.4-J
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
-- ·· ••
••••• •••
••
••
••
••••• •• •••
• •••• ••
• • •
• •• ••••
• • • ••• •
••• •
• • •
• • •
• •
•• [Q ::
••• •• •••••
••• •• •• •••
Vous deyez le faire piYoter de 90°, car son orientation initiale ne
conYient pas. Ensuite, nous allons raccorder la resistance pull-down
au bouton-poussoir. Faires glisser une autre resistance que Yous
reglez sur 10 kn. Procedez au cablage en reprenant Jes couleurs et Jes
positions illustrees ci-apres.
----.::::-:::1
.... . ... ..
----..::
. 1:- ...,.t.....
:.:
.
•• • ••
.. •
.. . .. ....
• ••• •
.....
.." ..
.........
~
.....
Ne Yous inqujetez pas si Yous ne recoonaissez pas ce montage ou si
Yous n'en comprenez pas le sens; je reYiendrai p lus loin sur le role
Vl
d' une resistance pull-down. Je me contenterai de dire ici que lorsque
Q)
le bouton n'est pas enfonce, le potentiel de la masse est transmis a la
0.....
broche d' eotree numerique lO en passant par la resistance de 10 kn .
w
>-
Le niYeau y est done bas (LOW). Lorsque Yous appuyez sur le
Lf)
.-I bouton, le courant de 5 V est transmis a la broche JO et le ni Yeau est
0
N done haut (HIGH). L a resistance pull-down a pour role, d'une part,
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 6 : fritzing ---------------------------§
u
d'eviter que ne se produise un court-circuit entre les broches GND et
5 V au moment ou vous appuyez sur le bouton et, d' autre part,
d'envoyer un niveau bas sur la broche 10 quand le bouton n'est pas
enfonce. En numerique, il n'y a rien de pire qu'une entree ouverte qui
represente un niveau indefini .
Nous allons maintenant pouvoir examiner le schema electrique du
circuit que nous avons construit jusqu'ici sur la plaque d'essai. Le
schema electrique est genere automatiquement en arriere-plan au fur
et a mesure que vous ajoutez des composants.
Petite astuce utile pour ameliorer votre confort quand vous travaillez
avec Fritzing : si vous utilisez regulierement les memes composants
electroniques dans vos projets, vous en aurez assez de les rechercher
constamment parmi Jes differentes categories. Parmi les oombreuses
categories disponibles sur le cote droit, vous en trouverez une inti-
tulee Mine - My Parts. C'est la que vous pouvez ajouter !es compo-
sants que vous utHisez freq uernment afin de les retrouver rapidement.
Comment faire ? C' est tres simple : cliquez sur un composant a I' aide
du bouton droit de la souris et selectionnez la commande Ajouter au
jeu de composants>My Parts dans le menu contextuel.
..
E1:1iter {un nooveau composant)
--~----•Mt@M
Afficllerl' etiquette du composant
4' ••••
4t • • • •
..... ..
' ....
... ..
Potentiometre
.. .. ., .. .....
La fonction des fils conducteurs courbes est desactivee par defaut. & Figure6·5
Lorsque vous avez etabli une liaison et que vous voulez qu'elle fasse Raccordement courbes
un coude a un emplacement precis, pointez a I' endroit voulu. Le poin-
teur de la souris se transforme :
Vl
Q) ~ Figure6·6
w
>-
Lf)
.-I
0
N Creez un coude en faisant glisser la souris tout en maintenant le
@ bouton gauche enfonce. Pour obtenir un cable courbe, vous devez
......
.J::.
01
·;:
>-
0..
0
Chapitre 6: fritzing ---------------------------8
u
appuyer sur la touche Ctrl avant de c) iquer sur le fil. Le pointeur de la
souris se transforme :
Figure6-7 .,.
Pointeur dote d'une icone
de courbe
Figure6-8 .,..
'
Yous pouvez maintenant couder le cable.
Cable coude
Vl
Q)
0.....
Vue schematique
w
>- Yous pouvez acceder a la vue schematique en cliquant sur l'onglet
Lf) correspondant dans la partie superieure de I' interface.
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
f Page d'accueil mJ Platine d'essai El Ciicult imprime <> Cod<>
Cette vue presente tous les raccordements que vous venez d'etablir
sur la plaque d'essais. Vous serez frappe par le desordre qui semble y
regner, mais ne vous inquietez pas, car nous allons y remedier.
Pour commencer, je fais pivoter le symbole electrique de la carte
Arduino afin qu'il corresponde a !'orientation choisie dans la vue de T Figure 6-10
la platine d'essai. Ensuite, je positionne les composants d' une fa9on Vue schematique assez
qui me parait a la fois logique et claire. C' est evidemment une desordonnee d'un projet
question de preference personnelle. debouton-poussoir
R2
lOkQ
~
"',.,. : Rl
•, ' LEDl 330Q
',, I
....... : Red (633
', '
·-----L ''
! •,,t/1
i ~
· re_
I' '•........ 51
,' ' ....
:
,
I .. ''
~ ,1 ........
.....'
/
,
,,
' •
.'
* '
~I
'
.....
' "\> ..
....
:
/
:
tl'
ti
'•,.
"',
'•,
! z f: ~ )> a'.i :> ~ ~
,' ~ :~ ~ ~ hJ
/ :' ! p ~
: : ~
,'
I
.'
'
..
' ''
I
'
I
I
I
I
'
: / t
I I
// i1 ':
.'
I I o
I GND I I
,I
I
I l ''
. VIN t -- -
Vl
~
•''
Q)
'' 0 ~
0.....
w
>-
•'' CJ "
~ :c
~ :' N .....
~
·~
:~
..,, 0
•.Cl
Lf) ..,.. .I ~
'tJ ~
!: ::;:: -c
~
~
0
.-I ~; tS !:.. ~
0
N
,'
'
@
...... •'
.J::.
01
·;:
>-
0..
0
Chapitre 6: fritzing ---------------------------§
u
-................
............
..,.
,.,.> > z
·- ...............
R~S[1
"" > ·- '• .. ..
DOI ><
Rl'itT2 DllTX
AF J: Ll)
'.lref D3PWM
04
AU 05 PV•M
A OIJ P\~M
Arduino Sl
At. Uno .)7
A
(Rev3) 'Jg
R2
MfSDA 09PWM lOkQ
A">I)([ D OP\11\155 ···········-~,..,,,,,,,.,,.' "" ..................
011 °WM/1-10Sl
, ..---· ----.... /.,/'
012/MISO
,,.... ~
-
0 1 'SCK . . . . . . :;:.. .,::_ vv v y---·. . ---
'__J__/\ A A A_ ....._. )
/
,,_,/ Rl LEDl
IC 330Q Red (633nm)
_, , •'
,•' --
.,,
0
z
,
,'
,-
, ,/
,,,•'
,,
,.
--
Figure 6-11 .t. Les liaisons que vous reconnaissez ici sous la forme de lignes en
Vue schematique mieux rangee pointilles correspondent au plus court chemin entre les contacts. Cela
d'un projet de bouton-poussoir
s' appelle un cheveLu. Lorsque vous ouvrez le menu contextuel d'un
fil du cheveJu, vous pouvez voir les commandes suivantes :
MO<flfter l'ontre
C1>1Jle ur d u ca bfe
Supprimer .e ti volant
Vl
cu
0.....
>- La commande Creer une piste en remplacement du flt volant parait
w
Lf)
tres prometteuse, car, plus tard, nous aimerions que Jes differentes
.-I
0 pistes relient electriquement tous les composants sur un circuit
N
imprime. Je vais vous presenter la procedure pour le fil qui relie la
@
......
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
broche SY a J'une des pattes du bouton-poussoir. Pour creer une piste
en un tour de main, i i suffit de double-cliquer sur le chevelu corres-
pondant. Une fois la piste creee, la vue est la suivante.
M >
>
(il
&(\
Rf.Stl
RESET2 01/lX
ARi:F Ji.
nrpf O"{PW"-'
L
"l
AO
A
DSPWr>.
OflPWrv
]--
Yous pouvez maintenant voir une Jigne continue bordee de deux A. figure 6-12
lignes pointillees. Sur une vue scMmatique, il est preferable qu'une Enchevetrement transforme
piste ait un trace rectiligne avec des changements de direction a angle en piste
droit, meme s'il y a des exceptions. Cliquez sur une piste et inserez
un point de flexion en faisant glisser la souris tout en maintenant le
bouton gauche enfonce. Yous pouvez deplacer le point de flexion, 'Y figure 6-13
toujours en maintenant le bouton de la souris enfonce. Ajout d'un point de flexion
M
> ~ z
M >
RESET 00/RX
RESET2 01nx
AREF 02
101ef 03PWM
vi
Q)
04
0.....
>- AO 05 PWM
w
Lf)
.-I Al D6PWM
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 6 : fritzing
8
II est aussi tres facile d'ajuster la position du point de tlexion apres
avoir re!ache le bouton de la souris. Pour supprimer un point de
flexion, il suffit de double-cliquer dessus. Sur la figure suivante, j 'ai
ajuste la position de toutes les pistes a l'aide de points de flexio n.
;?! ~ :;
AO
A
OSPWM
OClPWM
- I
,__..
l---':
-
Arduino SI
A Uno 07
,, (Rev3) "IV
--- R2
A·•ISDA 09PW"'4 10kQ
011 PWM/l>.10SI
y
--
012/MIC,~ --- //
I'...._ I
013/5'..l'I y VI
Rl LEDl
l\j/( 330Q Red (633nm)
a
z
<.:;
Figure 6-14 .& Nous en arrivons done au troisieme onglet : la vue du circuit imprime.
Vue schematique terminee
Vl
Circuit imprime
Q)
Rlt
R2
, ....._ ....""w
+
• ... ..,____,...-
......r----1... • • - - ·· - ....... __ ........______ Ii: "'
0
.....
m > ...
>
"'"' z zA ....
"\!)
•
>
Yous constaterez que Jes composants sont tres rnal places, deux & Figure6·15
d'entre eux ne se trouvant pas meme sur le circujt imprime (ou PCB, Vue assez desordonnee du circuit
Printed Circuit Board). Nous aJlons faire un peu de menage par imprime
cliquer-glisser pour reorganiser les composants. Si vous en aviez
dispose un grand nombre sur la plaque d'essais, il vous faudra peut-
etre essayer differentes dispositions avant d'aboutir a un resultat
satisfaisant. La figure suivante a deja meilleure allure, meme si eJle
ne compte que quatre composants et qu'il n'y a done vraiment pas de
Vl
quoi crier au genie.
Q)
0.....
w
>-
Lf)
.-1
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Cha pitre 6: fritzing ---------------------------§
u
CXXXXXXD
....
...,
Ill:
...z
\!)
m
.... ...
N ....
....
l
...l ,,.l
0 oCI ... ..a
l
m ....
Ill
l
:6
l
N
•... •
Cl
0
CJ
c >< ><
Ill:
Qu
OLE))l
·~·
R2
.-
I + I
SJ.
.......
w w
" W
O "' >
"" > ......
ZZH z Cl"""Rf"17"1
..... l"I U'l \!1\11:> cccccc
CXXXXXXX) cx:xxx:D
Figure6·16 A J' aimerais en profiter pour vous signaler que les circuits imprimes ont
Vue du circuit imprime evidemment une vue de dessus et une vue de dessous pouvant rece-
avec la disposition finale voir des pistes de cuivre. Dans cet exemple rudimentaire, une couche
des composants
suffit (couche de cuivre de dessous), car les composants peuvent etre
disposes de telle fac;on que les pistes conductrices ne presentent pas
d'intersections. Qu'est-ce qui vous saute aux yeux lorsque vous
observez ces pistes conductrices ? Elles ont differentes couleurs.
Certaines soot jaunes et d'autres orange. Il doit bien y avoir une
raison a cette difference. Eh bien, c'est lie aux deux faces d'un circuit
imprime.
• jaune : Jes pistes conductrices se trouvent sur la couche
superieure ;
• orange : les pistes conductrices se trouvent sur la couche inferi-
Vl
eure.
Q)
0..... Dans cet exemple, les deux couches sont utilisees, ce qui est totale-
w
>- ment infonde. La commande Routage>Autoroutage vous permet
Lf) d'essayer des propositions de routage pour le cheminement des pistes
.-I
0 conductrices. Si le resultat n'est pas satisfaisant, vous devrez inter-
N
@ venir manuellement. Nous voulons deplacer sur la face inferieure Jes
......
.J::.
01
·;:
>-
0..
0
u
pistes conductrices qui sont s.ignalees en jaune et qui se trouvent done
sur la face superieure. Procedez comme suit.
• Selectionnez successivement les di.fferentes pistes conductrices
jaunes en maintenant la touche Ctrl enfoncee (vous pouvez bien
sOr aussi selectionner individuellement chaque piste et activer la
commande Deplacer vers l'autre cote de la carte dans le menu
contextuel).
• Selectionnez la commande Routage>Deplacer vers l'autre cote
de la carte.
Le resultat est le su.ivant :
O··
0 LEJ>J.
R2 Sl
-c:::J-
I +
......
.., w
"' "1 ,... ....Z'
OW> > Z'ZM Cl'41111'1:rlll
Mkl'l lll <a\O> CCCCCC
~cm:rn
Lorsque YOUS etes satisfait de YOtre circuit imprime, YOUS pOUYeZ le A. Figure6-17
faire fabriquer par le Fritzing Fab. Pour obten.ir un dev.is approxi- Vue du circuit imprime
matif, selectionnez la commande Routage>Estimation des couts avec avec les pistes conductrices
Vl sur la face inferieure
Q) Fritzing Fab. Yous pourrez aussi connaitre les tarifs en Yigueur en
0..... survolant le bouton Faire fabriquer qui se situe dans le coin inferieur
w
>- droit de la fenetre.
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 6: fritzing ---------------------------§
u
Figure6-18 .,.
Le bouton Fairefabriquer affiche Commandez votre circuit imprime sur Fritzing Fab
lasu~ce rotale du dm litimprime 1 darn; cette esquisse est de47.78 cm~{7.4 inl).
des informations sur lecoot a
U~ez Fritzing Fat> poor produrre un circuit imprime parlir de votre·esquisse.
de fabrication. Prof<tez de- notre remise quantitative :
Exemplaires 1 2 s 10
Prix par carte 33ASt: 28.67€ 19.1H 19.1H
Plix 33.45 ( 57.34·( 95.51{ \91 .15(
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
Le Fritzing Creator Kit
Pour Jes plus impatients, Fritzing propose meme un kit qui contient
tout le necessaire pour debuter dans l'univers du microcontroleur
avec une carte Arduino. Le kit contient au choix w1e carte Arduino
Uno ou une carte Arduino Mega.
~ Figure 6-20
Le Fritzing Creator Kit
avec une carte Arduino Uno
fritz111g
CREATOR KIT
Mf@i#t1iij
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 6: fritzing ---------------------------8
u
Figure 6-21 .,.
LeFritzing Creator Kit ouvert
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
J' aj imJTiediatement ete attire par l'experience proposee avec la
matrice de LED. Pour eviter que les composants ne s'egarent dans la
nature pendant la construction, le kit contient une plaque pouvant
servir de support a la carte Arduino et a deux plaques d'essais. Votre
experience n' en sera qu' amelioree. En outre, comme vous disposez
d'une bonne vue d'ensemble, vous resoudrez tres rapidement vos
erreurs eventuelles.
~ Figure 6·23
Experience de la matrice de LED
Vl
Q)
0....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
@ 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
Chapitre
Lassemblage
des composants 7
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0
8
Figure 7-1 .,.
Carte professionnelle avec face
inferieure gravee
(Shield motor Arduino)
Figure7-2 .,.
Carte semi-professionnelle avec fils
de liaison ajoutes ala main
,.. Figure7-3
Plaque d'essais vue de dessus
(en position laterale de securite)
u
>-
0..
0
Chapitre 7 : L'assemblage des composants ------------------@
figure 7-4 .,.
Plaque d'essais vue de l'exterieur
(a gauche) et de l'interieur
(a droite)
+- +-
Si vous pouviez mettre Jes deux images l'une sur l' autre, vous verriez
precisement quelles prises ont une liaison conductrice. Mais je pense
que Yous pouyez deja Yous faire ici une idee de ce qui va ensemble.
Dans chacune des rangees (1 a 41), Jes prises A a E et F aJ consti-
tuent un bloc conducteur. Les deux rangees de prises verticales au
centre (+ et -) sont a disposition pour une alimentation eYentuelle-
ment necessaire a plusieurs endroits. Je vais maintenant brancher un
composant a plusieurs broches sur la plaque pour que vous compre-
niez mieux 1' avantage desdites liaisons internes.
~ Figure7-6
Les tailles varient entre assez
petites et relativement grandes.
~:~:' :~:!: ::::: :~::: ::::: ::::: :::~~ ::::: ::::: :::::
@ Attention !
II existe des plaques dont les barrettes de prises verticales ou power-rails sont
electriquement interrompues au centre. Si vous n'etes pas sur d'avoir achete la
bonne carte, vous pouvez tester la continuite avec un multimetre en effectuant
une mesure entre la broche la plus haute et la broche la plus basse d'une
barrette de prises verticale. En !'absence de liaison, et si vous avez imperative-
ment besoin d'une liaison electrique permanente, utilisez un cavalier.
Les cables
Vl
et leurs caracteristiques
Q)
0..... J'aimerais profiter de cette occasion pour vous presenter les cables
w
>- employes. Examinons les deux cables de la figure 7-7.
Lf)
.-I
0
N
@
......
.J::.
01
·;:
u
>-
0..
0 Chapitre 7 : L'assemblage des composants ------------------8
Figure7-7 .,.
Deux types de cables
. ... .
. . ... ~ .
Ne me dites pas que l'un est orange et l'autre bleu. La difference apparait
clairement lorsqu'on les denude, c'est-a-dire quand on retire leur gaine
en plastique. Le cable orange, qui ne comporte qu'un seul fil, est un fil a
ame pleine rigide. Son diametre est generalement de 0,5 mm. Son usage
est tres repandu pour les raccordements sur les plaques de prototypage.
Mais ce cable ne convient pas pour y raccorder des composants externes,
conune les potentiometres, car il o'est pas assez flex.ible. A la longue, ii
risque de se debrancher ou de rompre.
Le cable bleu, qui comporte plusieurs fils, est un cable multibrin. Son
avantage par rapport au precedent est evident : plus souple, il peut
etre courbe OU deforme a volonte. Attention, si vous utilisez le cable
denude conune sur la figure 7-7, les brins risquent de provoquer un
court-circuit avec les contacts voisins. C'est pourquoi ces cables ne
sont pas utilises tels quels, comme vous le verrez avec Jes cavaliers
flexibles : ils doivent etre etames.
Tout d'abord, les brins sont e ntortilles comme sur la figure 7-8.
Figure7-8 .,.
Entortillage des brins
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I : Les bases
u
Prenez le cable en tenant l'extremite denudee eotre le pouce et I' index
de la main gauche. Ensuite, faites tourner l'autre extremite entre le
pouce et l'index de la main droite dans le sens horaire. Les brins
s'entortillent comrne illustre sur la fig ure 7-9.
~ Figure7·9
Les brins non etames
sont entortilles.
~ Figure 7-10
Etamage aI' aide d'une troisieme
main
u
>-
0..
0 Chapitre 7 : L'assemblage des composants ------------------8
Figure 7-11 .,.
Une bonne et une mauvaise
soudures
Le cable du haut, qui est plus long, a ete correctement etame, comme
vous pouvez le voir d'apres la repartition uniforme de l'etain. La
soudure a legerement augmente le di.ametre des brins, mais de fac;on a
peine perceptible. En revanche, le cable du bas, plus court, a ete
reconvert avec beaucoup trop d'etain, ce qui a provoque ce renfle-
ment important. J1 n'y a qu'une chose a faire: pratiquer ! Comrne je
l'ai deja dit, le risque de rupture est plus reduit avec les cables flexi-
bles qu'avec les cables rigides. Lorsque vous aurez fabrique quelques
cables comme decrit precedemrnent, pensez a tester Jeur continuite,
surtout si vous comptez Jes utiliser pour des montages complexes sur
un shield. Je vous montrerai un peu plus loin comment tester la conti-
nuite avec un rnultimetre.
Vl
Q)
~ Figure 7-13
Cavaliers flexibles fabriques
par moi-meme sur un commutateur
Vous pouvez bien sur en equiper tousles composants tels que poten-
tiometres, moteurs, servomoteurs et moteurs pas-a-pas. La mise en
reuvre est plus souple et le temps passe a fabriquer les cavaliers ou les
fils ne sera pas perdu !
Materiaux necessaires pour fabriquer des cavaliers flexibles :
• fi l de cuivre argente (0,6 mm) ;
• fil a brins multiples de diametre au choix (0,5 mm 2 maxi) ;
• gaine thermoretractable 3:1 (1,5/0,5).
~ Figure 7-14
Materiaux necessaires pour
fabriquer des cavaliers flexibles
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 7 : L'assemblage des composants ------------------8
Outils necessaires a la fabrication des caval iers flexibles :
• briquet;
• fer a souder ;
• soudure a l' etain ;
• pince coupante diagonale et pi nce a denuder: le cas echeant.
Voici Jes differentes etapes de la fabrication.
Etape 1
Coupez le fil multibrin a la longueur souhaitee.
Etape 2
Denudez les deux extremites du fil sur environ 0,5 cm.
Etape 3
Etamez les deux extrentites du fil.
Etape 4
Soudez le fi l de cuivre argente aux extrem ites du fil multibrin.
Etape 5
Vl
Q) Enfilez !es deux morceaux de gaine therrnoretractable (1 cm environ)
0..... aux deux extremites de maniere ~1 recouvrir a la fois les zones soudees
w
>- et une partie de l'isolant du fil multibrin.
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
8 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Partie I: Les bases
u
Etape 6
Chauffez avec un briquet 3 a 4 secondes Jes deux morceaux de gaine
thermoretractable de maniere a ce qu' ils se retractent et epousent la
forme du fil. Ne passez pas la flam.me trop pres de la gaine, faute de
quoi elle cuit et n'a pas le temps de se retracter.
Test de continuite
avec un multimetre
Examinons un multimetre de plus pres. Meme s'il en existe de
nombreux modeles, ils fonctionnent tous plus ou moins de la meme
maniere. Sur la figure 7-16, j 'ai entoure Jes principaux boutons et
reglages de celui que j, utilise :
~ Figure 7-16
Multimetre
Vl
La premiere etape consiste a definir la grandeur electrique a mesurer
Q)
0.....
a l' aide du gros bouton rond. Comme ici nous voulons mesurer une
>- resistance electrique, cela correspond sur mon appareil au symbole de
w l' ohm et du signal sonore. Lorsque les fiches ne sont pas reliees
Lf)
.-I ensemble, on a th6oriquement une resistance infinie entre les deux
0
N poles, ce qui est signaJe par OL. Si je rapproche Jes deux fiches en
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 7 : L'assemblage des composants ------------------8
creant un contact electrique, une resistance plus faible est affichee.
Lorsqu'on utilise un multimetre pour effectuer un test de continuite,
un signal sonore est emis, en plus de l' affichage de la resistance
quand la liaison electrique a une resistance proche de 0 ohm . Sur
certains modeles de multimetres, cette fonction doit d'abord etre
activee. Sur mon appareil, je dois appuyer sur le bouton encadre en
rouge afin qu' un symbole de signal sonore apparaisse dans le coin
superieur gauche de l 'ecran. Si un signal sonore retentit quand je relie
Jes fiches, cela signifie que la liaison electrique existe et qu'il y a
done bien continuite. Quand vous construirez vos propres shields
pour votre carte Arduino, un multimetre sera indispensable pour loca-
liser Jes defaillances.
Quand vous effectuez un test de continuite, verifiez que le circuit a
prealablement ete deconnecte de la source de tension. Sinon, cela
risque d'endommager le multimetre.
ui
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c.
en
·;:
0
u
>-
a.
8
Chapitre
Le materiel utile
8
Les bons outils faisant les bons ouvriers, je ne peux que vous recom-
mander le materiel mentionne ci-apres. Evitez seulement de racheter
les outils que vous avez deja !
Si vous avez deja vu a quoi ressemble un laboratoire d' electronique
professionnel ou un atelier d'electronique, et si le domaine vous interesse
vraiment, vous avez sfuement eu du mal a contenir votre enthousiasme.
La diversite des appareils de mesure avec leurs nombreux cables colores
et la multiplicite des outils laissent le profane a la fois perplexe et emer-
veille. C'est du moins ce que j 'ai ressenti quand mon pere m'a montre
son poste de travail. Il travaillait alors sur l'une des nombreuses souffle-
ries du Centre aeronautique et spatial allemand.
Je classe les outils presentes ici en deux categories :
• Categorie 1 : les must have!
Outils necessaires pour votre travail.
• Categorie 2 : Jes nice to have!
Outils non indispensables, mais qui peuvent faciliter votre
travail.
Pinces diverses
VJ
Q)
La figure 8-1 presente Jes pinces qui vous seront Jes plus utiles :
0L.. • la pince coupante diagonale pour couper Jes fils ;
>-
UJ
lf)
• la pince a bees longs pour tenir et placer des petits composants ;
.-f
0 • la pince universelle, pour tenir un objet avec plus de force ;
N
@ • la pince a bees coudes, permettant de tenir Un element cache OU
..... peu accessible.
..c.
en
·;:
>-
a.
0
u
Figure8·1 .,.
Pinces diverses
Pince a denuder
Cette pince permet de denuder plus facilement Jes fils. Une pince
coupante diagonale peut convenir, mais vous risquez de couper le fil
si vous appuyez trop fort.
Figure8·2 .,.
Pince adenuder
Vl
Q)
Tournevis
0..... Les petits tournevis d'horloger sont parfaits pour fixer Jes fi ls aux
w
>- bomes a vis, comme vous pouvez le voir sur la photo suivante.
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0.. Partie I : Les bases
0
u
(!) Attention !
Les tournevis d'horloger ne sont pas isoles et sont done conducteurs car entie-
rement metalliques. Vous ne devez en principe travailler sur un circuit que si
celui-ci est vraiment hors tension.
~ Figure 8-3
Jeu de tournevis d'horloger
Si vous avez fixe un circuit integre sur une plaque d'essais rnais que
vous souhahez l'enlevei: sans tordre ses pattes de raccordement a 90°
et risquer de les casser, vous pouvez utiliser un toumevis d' horloger
approprie.
Si vous utilisez seulement vos doigts, vous risquez de tordre les
pattes, comme sur la photo ci-contre.
Yous devez done toujours etre tres soigneux avec les pattes fragiles
d' un circuit integre. Si ce qui arrive ici ne se prnduit qu'une ou deux
fois, cela n'est pas grave. Mais des pattes de raccordement trop solli-
Vl
Q)
citees peuvent vite Hlcher. Les toumevis d'horloger font assurement
0..... partie de la categorie Must have!.
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile -----------------------8
u
Extracteur de circuit integre
L'effet de levier etant ce qu'il est, detacher un circuit integre d'une
plaque d' essais ne devrait quand-meme pas etre chose impossible
avec un tournevis. Un electronicien pur jus utilisera toutefois un outil
special qui ne coute pas tres cher. Ce dernjer ressemble a la pince a
sucre de nos grands-meres et peut effectivement servir a cela faute
d'autre chose. Il a cependant ete con9u au depart pour detacher un
circuit integre (par exernple d'une plaque d'essais). Je dirais qu'il fait
partie de la categorie Nice to have! Il n'est en effet pas indispensable
card' autres moyens peuvent etre utilises acondition de proceder avec
precaution.
Figure8-4 ~
Extracteur de circuit integre
Troisieme main
Si vous avez deja fait de la soudure, vous aurez probablement ete
confronte au probleme suivant: d'une main, vous tenez la carte, de
I' autre, I' etain, et de la troisieme ... Ah, mince ! II vous faudrait une
troisieme main pour tenir le fer a souder. Comme vous n'etes pas un
mutant, vous pouvez toujours bloquer la carte contre un objet lourd,
comme un livre. Mais la stabilite n'est pas garantie. Pourquoi ne vous
serviriez-vous pas d' une veritable« troisieme main»? Il s'agit d'un
outil tres utile pour le travail de precision, car iJ vous laisse .les mains
lib res.
Yous pouvez fixer la carte au moyen de deux pinces, tandis que la
loupe vous permet d'avoir une vue grossie de la zone a souder. Yous
avez ainsi les deux mains libres et vous pouvez placer precisement
Vl
vos points de soudure aux endroits requis.
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0.. Partie I : Les bases
0
u
~ FigureB·S
Troisieme main
Multimetre numerique
Un multimetre numerique est uo appareil de mesure multiple capable
Vl
Q)
de detecter et mesurer des grandeurs electriques.
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile -----------------------8
u
Figure8-6 .,.
Multimetres numeriques divers
-• • ..
@ Attention !
Avant de mesurer quoi ce soit avec votre multimetre, vous devez vous assurer
a
que le bouton est bien regle sur la grandeur electrique mesurer. Si, par
exemple, apres avoir determine la resistance d'un composant (une resistance
se determine toujours hors tension) vous mesurez une tension adjacente,
oublier de regler le mode de mesure peut endommager le multimetre.
Oscilloscope
L 'oscilloscope est d'emblee un appareil de mesure haut de gamme. I1
peut par exemple representer graphiquement des courbes de tension
en fo nction du temps et permet entre autres de detecter les
defaillances avec brio.
I1 fait parrie de la categorie Nice to have!. Cet appareil est cependant
Vl
Q) tres plaisant a utiliser et certains modeles con~us pour les debutants
0..... sont en vente a moins de 300 €.
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -@
u
Figure8-8 .,.
Oscilloscope PCE-OSOS202B
~ Figure8·9
L'oscilloscope PCE-DS05202B
affichant une courbe de Lissajous
Alimentation externe
Votre carte Arduino est certes alimentee en courant par un port USB
et cela suffit bien pour quelques experimentations, mais nous
touchons a des circuits censes nous permettre par exemple de
commander un moteur, lequel a besoin de plus de « jus » pour fonc-
Vl
Q) tionner. Dans ce cas, une alimentation externe est indispensable sinon
0..... la carte Arduino pourrait etre endomrnagee .
w
>-
Lf)
.-1
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -@
u
Figure8·10 .,.
Alimentation stabilisee
pour laboratoire
••
Tout depend bien sur de l'usage qu'on veut en faire, mais un bloc
secteur coute en regle generale bien moins cher qu'une alimentation
reglable de laboratoire.
Figure8·11 .,.
Bloc secteur
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0.. Partie I : Les bases
0
u
~ Figure 8-12
Alimentation par pile de 9V
Sont necessaires :
• un clip pour pile de 9 V ;
• une prise de 2, 1 mm ;
• une pile de 9 V.
La figure 8-13 montre comment souder le clip de pile et la prise.
~ Figure 8-13
Alimentation par pile de 9 V
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -@
u
Figure8·14 .,.
Coupleur de piles
Gabarit de pliage
Vl
Q)
pour resistances
0..... Quand j'en suis venu a parler de cet outil dans ce livre, j 'ai du faire
w
>-
des recherches pour avoir son appellation exacte. J' ai fouine un bon
Lf)
.-I moment sur Google et fini par decouv.dr que son veritable nom etait
0
N gabarit de pliage pour resistances. Si quelqu'un me l'avait demande
@
......
.J::.
01
·;:
>-
0..
0
u
avant. .. Le fait est qu'iJ s'agit d'un objet en plastique permettant de
plier, non pas la resistance elie-meme, mais ses fi ls de raccordement.
. ~ Figure8·16
II n'a l'air de rien mais c'est un outil tres utile. 11 fait pour moi partie
de la categorie Must have! Cela peut vite tourner au fiasco si vous
essayez de plier au juge les fils de raccordement pour qu'ils rentrent
dans les trous de la plaque d'essais. Je trouve que la fabrication et
l'aspect d'une carte confinent a l'art et a l'esthetisme. <;a ressemble a
quoi quand les composants soot places de travers et penches ? On se
dit que le quidam ne s'est pas foule ou n'avait pas le bon outil.
Comme je vous l'ai dit deja, l'intervalle entre Jes trous est de
2,54 mm sur une carte standard. Ce gabarit propose egalement
d'autres dimensions de pliage pour resistances (idem pour les
diodes). On les place dans des rainures, on plie ensuite Jes fils de
raccordement vers le bas avec les doigts et on a un intervalle bien
parallele entre Jes fils, lequel est toujours un multiple de 1' intervalle
entre Jes trous. Le composant va parfaitement sur la plaque d'essais.
~ Figure 8·17
Posez, pliez, c'est fa it!
Vous n'etes bien sur pas oblige d'utiliser ce procede pour placer des
composants sur une plaque d'essais puisque le circuit n'y est jamais
definitif. Tout ne doit pas etre parfait comme sur une carte. Il ne faut
pas pour autant faire n'importe quoi car un court-circuit peut vite
perturber le fonctionnement du circuit et rneme griller des compo-
Vl
Q) sants.
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -@
u
Fer a souder et soudure
a I'etain
Un fer a souder est indispensable au bricoleur et fait done partie pour
moi de la categorie Must have!. D 'ailleurs, vous en aurez besoi n pour
realiser certains montages du livre, a moins d' utiliser une station de
soudage. Voici deux stations d'un excellent rapport qualite-prix.
\\WJer"
WSMtC
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
u
L'avantage de la station de soudage sur le fer a souder est que la
temperature de la panne est reglable, ce qui pent etre vital pour des
composants sensibles a la temperature comme les circuits integres.
On trouve des fers a souder a partir de l 0 €, mais je ne Jes recomman-
derai meme pas a un debutant en raison de leur mauvaise qualite.
Tout depend evidemment de l'usage que vous en aurez. Si vous
cornptez en faire un usage intensif et si vous voulez qu' il vous dure
longtemps, vous devrez privilegier la qualite.
Fil de soudure
~ Figure 8·20
Bobine de fil de soudure
Pompe a dessouder
Enlever un composant prealablement soude pour une raison quel-
conque (par exemple composant defectueux ou inadapte) pose
probleroe. Cela peut marcher a la rigueur avec un composant a deux
Vl panes. On chauffe la premiere soudure avec le fer a souder jusqu'a ce
Q)
0.....
qu'elle soit liquide, puis on tire le composant vers le haut. On procede
>- ensuite de la meme maniere pour la seconde soudure. Mais lorsque se
w
Lf)
presente le cas d'un transistor a trois pattes, Jes choses se compli-
.-I
0 quent. Quand on chauffe Ia premiere soudure, !es deux autres
N
@
......
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -@
u
conoexfons le maintiennent en place et l'extraction est quasi impos-
sible ...
@ Attention !
Si vous chauffez un composant elect ronique trop longtemps, ii risque de
surchauffer et done de s'abl mer. Les semi-conducteurs surtout sont tres sensi-
a
bles la chaJeur I
-~ l .--- -
-
I -
'
.-.. - - - --~-=- ~-
Elle ressemble a une seringue, a ceci pres que son extremite ante-
rieure presente une ouverture plus ou moins grande au lieu d'une
aiguille. A I' autre bout se trouve un poussoir permettant de faire
coulisser le piston qui comprime le ressort dans la pompe. En fin de
course le piston se bloque. Si on appuie alors sur le petit bouton, le
piston revient brusquernent dans sa position initiale, produisant une
breve depression a la pointe de la pompe qui aspire la soudure preala-
blement liquefiee et degage plus ou mo.ins l'endroit soude. n faut
avoir le coup de main pour actionner la pompe, chauffer la soudure et
appuyer sur le declencheur au bon moment. Le mieux est de yous
entrainer sur une Yielle carte ayec des composants dont YOUS n'ayez
plus besoin ou qui sont hors d'usage.
EE Board
J' aimerais profiter de cette occasion pour vous presenter une plate-
forme tout-en-un qui reunit plusieurs instruments de rnesure electro-
niques. A premiere Yue, elle ressernble a une plaque d'essais tout ce
qu'il y a de plus ordinaire, ce qu'elle est aussi. Elle appartient a la
categorie Nice to have!.
Il s'agit de l'EEBoard, abreYiation d'Electronics Explorer Board. Elle
Vl
Q) est fabriquee par la societe americaine Digilent. Qu'a-t-elle done de si
0..... special ? Pour le comprendre, ii faut la retourner pour examiner sa
w
>- face inferieure (Yoir figure 8-23 ).
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0.. Partie I : Les bases
0
u
~ Figure 8·22
Vue de dessus de l'EEBoard
~ Figure 8·23
Vue de dessous de l'EEBoard
Vl
Q)
0.....
>-
w Cette plate-forme est done beaucoup plus complexe qu 'il n'y parait a
Lf)
.-I premiere vue, car de nombreux composants soot reunis sur une meme
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
Chapitre 8 Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -§
u
carte. A vec 1' EEBoard, vous disposez des appareils electroniques
suivants:
Oscilloscope numerique 4 voies
• 40 Mech/s (Mega-Samples)
• Convertisseur analogique-numerique 10 bits avec une memoire
de 16 Ko
• Plusieurs modes de declenchement
• AC/DC avec une tension d'entree de+/- 20 V
• Transformation de Fourier rapide (FFf - Fast Fourier Trans-
form)
• Zoom
• Exportation des donnees dans differents formats de fichiers
Analyseur logique 32 voies
• Signal d'entree jusqu'a 5 V
• 100 Mech/s (Mega-Samples)
• Memoire tamponjusqu'a 16 Kech par entree
• Horloge interne/externe et trigger
• Exportation des donnees dans differents formats de fichiers
Generateur de sign aux arbitraires 2 voies
• Formes d' ondes standards et personnalisables
• 40 Mech/s (Mega-Samples)
• Convertisseur 14 bits avec une memoire tampon de 32 Ko
• Bande passante 4 MHz
• Amplitude de 10 V
• Modulation AM/FM
Alimentations et voltmetres
• Tensions fixes 5 Vet 3,3 V jusqu'a 2 A
• Tension/Courant programmables de -9 V a +9 V et jusqu' a
1,5 A
ui
Q)
• 4 voltmetres (impedance d'entree 1,2 M.Q)
0L.. • 2 references de tension +/- 10 V
>-
UJ Generateur de signaux numeriques 32 voies
lf)
.-f
0 • Memoire tamponjusqu'a 2 Kech par entree
N
@ • Editeur de pattern personnalisable
......
..c
en
·;:
u
0
>-
a.
8 Partie I : Les bases
Gestion d'entrees/sorties
• Boutons-poussoirs ;
• Interrupteurs ;
•LED
• Afficheur 7 segments
• Potentiometre lineaire
• Barres de progression
Reliee a votre PC via un port USB, l'EEBoard s' utilise avec un logi-
ciel fourni qui est compatible Windows. Sur la figure 8-24, vous
pouvez visualiser la fonction d'oscilloscope en mode 2 voies qui
presente une sinuso"ide et la reaction d'une diode.
Cl
5V
mJdmikl~~~~~~!!!!~~~~~~~~~~~Jrffl· ~ Figure8·24
Oscilloscope de l'EEBoard
4V
3V
2V
1V
ov
· lV
-2V
· 3V
- 4V
·5V
- 10ms · Sina -Gma Sm• I Oms
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
Chapitre 8: Le materiel utile - - - - - - - - - - - - - - - - - - - - - - -§
u
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Chapitre
Les bases
de la programmation 9
Element de programme n° 1 ·
I' algorithme
Le sketch est cense accomplir seul une certaine tache. Pour cela, un
VJ algorithme, compose d'un ensemble d'etapes elementaires neces-
saires a cet accomplissement, est cree. Un algorithme est done une
Q)
0L..
>- regle de calcul traitee a la man iere d' une recette de cuisine.
UJ
lf)
.-f
lmaginez que vous vouliez construire un boitier en bois pour y loger
0 votre carte Arduino, pour que cela soit un peu plus beau, plus ordonne
N
@
......
..c
en
·;:
>-
a.
0
u
et plaise egalement a vos amis. N'achetez pas de bois sans avoir
prepare un plan repondant par exemple aux questions suivantes.
• Quelles soot Jes dimensions de la caisse ?
• De quelle couleur doit-elle etre ?
• Ou des ouvertures doivent-elles etre pratiquees pour poser par
exemple des interrupteurs ou des lampes ?
Apres avoir reuni le materiel, passez a la fabrication proprement dite,
en procedant etape par etape dans un certain ordre :
• choix des plaques de bois ;
• mise a dimension des plaques de bois ;
• pon~age des bords avec du papier de verre ;
• pen;age de certaines plaques de bois, appelees a recevoir des
ports;
• vissage des plaques de bois entre elles ;
• mise en peinture du boitier;
• insertion de la carte Arduino et cablage des interrupteurs ou des
lampes.
Telles sont les etapes par lesquelles ii faut passer pour arriver a VOS
fins. Il en va de meme pour I' algorithme.
Element de programme n° 2 ·
les donnees
Vous avez tres certainement soigneusement note les dimensions sur
le plan, de maniere a pouvoir les consulter pendant la construction. II
faut faire en sorte que tout co'incide a la fin. Ces dimensions sont
comparables aux donnees d'un sketch. L'algorithme utilise des
valeurs temporaires qui I' aident dans son travail de prise en charge
des differentes etapes. II utilise pour cela une technique qui lui permet
de stocker des valeurs et de les rappeler par la suite. Les donnees sont
en effet sauvegardees dans des variables et disponibles a tout moment
dans la memoire. Vous en saurez bientot plus.
ui
Q)
0L..
>-
UJ
lf)
..-!
0
N
@
.....
..c.
en
·;:
>-
a.
0
u 8
Que signifie traitement
des donnees ?
On entend par traitement des donnees l'utilisation d'un algorithme
qui se sert de donnees en entree pour en obtenir d'autres, modifie
celles-ci par differents calculs et produit des resultats en sortie.
~ Figure 9-1
Le traitement des donnees
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
u
>-
0..
0
Chapitre 9 : Les bases de la programmation ------------------§
Figure 9·2 .,.
Variable pointant sur une zone
de la memoire de travail ( Ox14BC2 31F)
( Ox14BC2 320)
led Pin
• ., ( Ox14BC2 321 )
( Ox14BC2 322)
( Ox14BC2 323)
( )
Dans cette figure, la variable nommee ledPin pointe sur une adresse
de debut dans la memoire de travail. Elle peut egalement etre consi-
deree comme une sorte de reference renvoyant a quelque chose de
particulier. Dans le chapitre 3, je vous ai presente un bref sketch
contenant entre autres la ligne de code suivante.
int ledPin ; 13; //Variable declaree + initialisee avec broche 13
Juste une question : que veut dire int devant le nom de la variable ?
~ Figure 9-3
Puissances 103 102 101 10° Le systeme decimal et les poids
Valeurs 1000 100 10 1 des 4premieres positions
Com bina ison
de bits GJ0CiJCD
Vous pouvez bien sur lire la valeur directement, mais ce n'est pas
facile pour une personne qui n'a pas l'habitude du systeme binaire et
doit additionner les differentes positions. On obtient dans ce cas :
2 · JOO+ ) · 101 + 7 · 102 + 4 · 103 = 4 7 12
J' ai pose l' addition en commern;ant par la position de valeur la plus
faible et en poursuivant dans l' ordre croissant vers la valeur la plus
forte. Mais revenons au type de donnee byte. Le graphique de la
fig ure 9-4 montre les 8 bits d'un octet representant une certaine
valeur decimale.
~ Figure9-4
Puissances 27 26 2s 24 23 22 21 20 Les 8bits d'un octet
Valeurs 128 64 32 16 8 4 2 1 avec leurs valeurs
Combinaison
de bits 00000000
Chaque position a une valeur particuliere. La conversion e n nombre
decimal resulte egalement de I' addition des differents poids.
1 . 20 + 0. 2 1 + 1 . 22 + 1 . 23 + 1 . 24 + 0. 2 5 + 0. 2 6 + 1 . 27 = 157
On obtient ici le nombre 157. Ces 8 bits occupent naturellement un
certain espace dans la memoire, espace qui est necessaire pour
stocker un nombre compris entre 0 et 255. Cela se veut amplement
suffisant pour de petites operations de calcul et c'est pourquoi le type
de donnee byte a ete cree avec )edit domaine de valeurs.
Si en revanche nous voulons travailler avec des valeurs superieures
a 255, nous atteignons les limites du possible. Le type de donnee
directement superieur a done ete cree pour calculer des valeurs plus
VJ
Q) elevees. II a pour nom i nt , ce qui est comme nous I' avons dit deja une
0L.. forme abregee du mot integer. Deux octets ont tout simplement ete
>-
UJ
associes pour avoir un domaine de valeurs plus etendu a disposition.
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 9 : Les bases de la programmation ------------------8
Laissez-moi reflechir: cela ferait 2 16 = 65 536 combinaisons de bits,
done un domaine de valeurs compris entre 0 et 65 535, n'est-ce pas?
Presque, Ardus ! C' est vrai pour les 65 536 combinaisons de bits mais le
domaine de valeurs n'est pas tout afait celui que vous avez donne. Vous
avez oublie qu'il existe des nombres non seulement positifs mai.s aussi
negatifs qui doivent etre egalement pris en compte dans ce type de
donnee i nt . Pour cela, si un type de donnee est prevu a la fois pour des
nornbres positifs et negatifs, un bit special est utilise pour stocker une
information de signe, quasiment un drapeau. Ce drapeau est en principe
le bit avec le plus fort poids ou MSB (Most Significant Bit). Il est naturel-
lemeot daos l' ordre des choses que, pour .representer la valeur particu-
liere, uo bit de moins soit dispooible pour le stockage. Voyons cela a
l'aide de deux exemples. Void tout d'abord un nombre positif, recon-
naissable au fait que le b.it de signe a pour valeur 0.
0.....
>- +26 181. Un test pourrait le demontrer. Pour trouver la valeur absolue
w
Lf)
d'une valeur binaire negative, deux etapes soot necessaires :
.-I
0
N
• inversion de tousles bits (1 devient 0 et 0 devient 1) ;
@ • ajout de la valeur l .
.4-J
.J::.
01
·;:
>-
0..
0
u
Pour aller plus loin
® L'inversion de tous les bits, appelee complement un, est une operat ion a
portant sur des nombres binaires. Si la valeur 1 doit encore etre ajoutee pour
finir, on appelle !'ensemble du processus complement adeux.
Les regles suivantes s' appliquent pour I' addition des nombres
binaires.
~ Tableau 9-1
A B A+ B Report
Addition d'une position binaire
0 0 0 0
0 0
0 1 0
0
000CDCD00CDCD0CDCDCD0CD0com~ment
at
000CDCD00CDCD0CDCDCD0CDCD+ 1
J'ai bien compris pour Jes nombres negatifs mais je ne vois pas trop
l'utilite du complement a deux . Pourquoi nous donnons-nous tout ce
ma! ? Convertir un nombre posiLif en nombre negaLif devrait suffire si le
Vl
Q)
bit de signe est passe de 0 a I.
0.....
w
>- II est vrai qu ' a premiere vue cela semble inutile. Mais il existe une
Lf) raison cachee que je vais vous devoiler. Prenons pour faire simple un
.-I
0
N
nombre de 8 bits qui ne releve pas du type de donnee byte precedem-
@ ment decrit puisque celui-ci ne comportait pas de signe.
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 9 : Les bases de la programmation ------------------8
figure9-8 .,.
Puissances 27 26 2s 24 2i 21
Nombre binaire positif
Valeur 128 64 32 16 8 4 2 1
Combinaison 3513
0 CD0CD0CDCD0 =
de bits
Ce nombre positif (le MSB est de 0) represente une valeur decimale
de 86. Si vous devez manipuler plusieurs systemes de numeration, il
est conseille de placer en indice la base correspondante apres chaque
valeur. Supposons maintenant que nous voulions en faire un nombre
negatif en passant uniquement le bit de signe de 0 a 1. Lebon resultat
serait done celui de la figure 9-9.
figure9-9 .,.
Puissances 21 26 2s 2i 22 21
Nombre binaire negatif
Valeur 128 64 32 16 8 4 2 1
Combinaison 35
CDCD0CD0CDCD 0 = io
de bits
Si arrives a ce stade, nous en venions a conclure que le resultat est la
valeur negative du nombre positif precedemment indique, tout irait
bien au debut. Cela ne porterait pas a consequence. Mais dans le trai-
tement des donnees, Jes valeurs ne sont pas seulement stockees et
affichees. Elles servent aussi a calculer et c' est la que le bat blesse.
Supposons que vous vouliez ajouter une valeur - disons + 1 - , ce qui
voudrait dire que le resultat serait plus eleve de 1 que la valeur
initiale. Voyons ce que cela donnerait cote bits.
Figure9-10 .,.
Puissances 21 26 2s 24 2i 22 21 20
Resultat de I'addition
(pas tout afait juste !) Valeur 128 64 32 16 8 4 2 1
Combinaison 8610
CD CD0CD0CDCD0 =
de bits
Addition+ 1 1
0 0000008+
Resultat 3110
CDCD0CD0CDCD CD =
Rien ne vous frappe? Malgre l'ajout d'une valeur positive, le resultat
a dirninue de 1. - 86 + 1 =- 87? On n'est pas pres d'en sortir ! Appli-
ui
Q) quons maintenant a la valeur initiale le complement a un mentionne
0L.. plus haut. J'en profiterai pour passer directement au probleme
>-
UJ suivant, qui se pose pour un nombre tres particulier : on obtient de
lf)
..-!
toute valeur son pendant negatif en plas;ant un signe negatif devant,
0 chiffre 0 inclus. Mais 0 et -0 sont absolument identiques et il n'y a
N
@ aucune difference arithmetique.
.....
..c.
en
·;:
>-
a.
0
u 8
~ Figure 9-11
Puissances 21 26 2s 24 23 22 21 20 Oeux combinaisons de bits
Valeur 128 64 32 16 8 4 2 1 pour la meme valeur
00000000= 0
CDCDCDCDCDCDCDCD = 0
~ Tableau 9-2
Valeurs positives Valeurs negatives
Valeurs positives et valeurs
110= 000000012 - 110 = 111111112 negatives correspondantes
6410 = 010000002 - 6410 = 110000002
8010 = 010100002 - 8010= 101100002
Je voudrais ici vous poser une question: si vous tombiez par hasard
sur la combinaison de bits 101100102 dans la memo ire et si
quelqu ' un vous demandait a quelle valeur decimale elle correspond,
auriez-vous Jui donner la bonne reponse ?
Bien sfir. pourquoi ? J'ai toutes les informations qu'il faut pour reussir
une conversion.
Non, vous n'avez pas encore routes Jes informati ons ! Je vou ai
certes montre la combinaison de bits mais pas encore le type de
donnee de base. II existe pourtant d'autres types de donnees de 16 bits
qui peuvent aussi etre utilises puisque le langage de programmation
de base est C ou C++. C'est le cas par exemple du type de donnee
unsigned i nt, qui est aussi un type de nombre entier mai s qui ne peut
stocker - com me son nom unsigned (non signee) l' indique - que des
vale urs positives. J'ajouterai qu' il existe encore d'autres differences,
qui peuvent varier de compilateur acompilateur, certains uti li sant 2 et
d'autres 4 octets pour gerer le type de donnee. 11 s'agit dans notre cas
Vl
CJ) de 2 octets, autrement dit le domaine de valeurs est compris enrre O et
0L.. +65 535.
>-
w
lJ)
..-I
0
N
@
....
L:
Ol
·;:
>-
a.
0
u
Chapitre 9 : Les bases de la programmation ------------------8
Rola, hola ! Je ne vois pourquoi on se donne tout ce mal. Pourquoi ne
cree-t-on pas un seul type de donnee suffisamment grand pour contenir
toutes les valeurs possibles et imaginables? II n'y aurait pas tous ces
problemes avec Jes differents domaines de valeurs que personne ne peut
reteni.r.
0.....
Presque tous ces types de donnees seront utilises dans ce livre, aussi
w
>-
je ne m'appesantirai pas davantage sur le sujet.
Lf)
.-1
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
u
J'ai encore une question: que se passe-t-il si, par exemple, j'ai une
variable du type de donnee byte et que le maximum de 255 est depasse
quand j'incremenle sa valeur? Une erreur survienl-il ?
u
>-
0..
0
Chapitre 9 : Les bases de la programmation ------------------§
figure 9-12 .,.
Principe d'une boucle
avec condition de sortie en tete
Tete de boucle
Corpsde boucle
Bloc d'execution
La boucle for
Initialisationdela
variable decontrole
False
lnstruction(s)
VJ
Q) Reinitialisationde
0L.. lavariabledecontrole
>-
UJ
lf)
.-f
0
N Fin
@
......
..c
en
·;:
>-
a.
0
u
La boucle for est toujours utilisee quand on connatt deja le nombre
d'iterations de la boucle avant meme de l'appeler. Jetons un coup
d'reil a l'organigrarnrne servant a restituer graphiquement le deroule-
ment du programme (voir figure 9-13).
Une variable appelee variable de controle est utilisee dans la boucle.
Dans la condition, elle est soumise a une evaluation qui decide si et
combien de fois la boucle doit etre iteree. La valeur de cette variable est
generalement modifiee au debut de la boucle achaque nouvelle iteration,
si bien que la condition d'interruption doit etre remplie au bout d' un
moment dans la mesure ou vous n' avez pas fait de faute de raisonnement.
Voici un court exemple, sur lequel nous reviendrons bientot.
for(int i = o; i < 7; i++)
pinMode (ledPin (i] , OUTPUT);
La boucle while
La boucle while est utilisee quand on ne sait qu'au moment de
l'execution si et combien de fois la boucle doit etre iteree. Si, pendant
une iteration de boucle, une entree du microcontroleur par exemple
est constamment interrogee ou surveillee alors qu'une action doit etre
executee a une certaine valeur, cette boucle vous rendra bien service.
Yoyons main tenant a quoi ressemble l 'organigramme.
~ Figure 9-14
Debut Organigramme d'une boucle
while
False
lnstruction(s)
VJ
Q) Fin
0L..
>-
UJ
lf)
Sur cette boucle, la condition d' interruption se trouve egalement en
..-!
0
tete. En revanche, la variable indiquee dans la condition n' est pas
N modifiee. Elle doit l' etre dans le corps de boucle. En cas d'oubli , on a
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 9 : Les bases de la programmation ------------------8
affaire a une boucle sans fin d' ou on ne sort pas tant que le sketch
s' execute. Voici encore un court exemple.
while(i > 1) //Instance de controle
{
Serial. println( i);
i = i - 1;
}
Quand vous travaillez avec des valeurs ou des variables de type float,
par exemple, dans l'instance de controle, il peut etre tres risque
d'attendre un resultat precis acause de l' imprecision de float. La condi-
tion d'interruption risque de ne jamais etre remplie et le sketch se
retrouvera prisonnier d' une boucle sans fin. Au lieu de l'operateur ==
pour evaluer l'egalite, utilisez de preference les operateurs < = OU > = .
Queuedeboucle
Instance deconrrole
0L.. boucle.
>-
UJ
lf)
.-f
0
N
@
......
..c
en
·;:
u
>-
a.
0
8
~ Figure 9-16
Debut Organigramme d'une boucle
do...while
lnstruction(s)
True
Fin
do
{
Serial. println ( i);
i = i - 1;
} while(i > 1); //Instance de controle
0L..
>-
UJ
lf)
.-f
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 9 : Les bases de la programmation ------------------8
Jetons d'abord un coup d'rejl sur l'organigramme qui nous montre
comment le derouJement de l 'execution du sketch arrive a certains
endroits, ou le processus n'est plus lineaire. Le sketch, quand une
structure de controle est alteinte, se trouve a la croisee des chemins et
doit examiner par ou il doit continuer.
Une condition Jui sert de base decisionnelle, condition qu'iJ Jui faut
analyser. Techniquement, une instruction if est utilisee. I1 s'agit
d'une decision si- alor s.
False
True
lnstruction(s)
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@ Si la condition a ete verifiee, il s'ensuit !'execution d'une, voire de
...... pJusieurs instructions. Voici encore un court exemple .
.J::.
01
·;:
>-
0..
0
8 1---------------------------- Partie I : Les bases
u
if(buttonStat e == HIGH )
digita l Write( l edPin, HIGH);
~ Figure 9-18
Debut Organigramme d'une structure
de controle if-else
False
True
lnstruction(s} lnstruction(s}
i f (buttonState == HIGH )
VJ
Q) digitalWrite ( l edPin, HIGH);
0L.. els e
>-
UJ
digitalWrite( l edPin, LO\V);
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 9 : Les bases de la programmation ------------------§
Commentez votre code !
Quand des etres humains veulent communiquer entre eux, par
exemple pour exprimer des sentiments ou transmettre des informa-
tions, ils utilisent un langage sous sa forme orale ou ecrite. C'est
seulement par ce moyen qu'ils peuvent apprendre quelque chose et
accroitre leur savoir ou Jeur comprehension. Quand on traite un
probleme en programmeur et qu'on encode, ii est assurement utile de
prendre c;a et la quelques notes. Il nous vient parfois une fulgurance
ou une idee geniale et quelques jours pl us tard, nous avons du mal -
et c'est souvent le cas pour moi - a nous souvenir exactement de
notre raisonnement. Qu'est-ce que j'ai bien pu programmer et pour-
quoi m'y suis-je pris ainsi et pas autrement? Chaque programmeur
peut bien sur avoir sa propre strategie de prise de notes : bloc-notes,
dos de prospectus publicitaires, documents Word, etc.
Toutes ces methodes presentent cependant des inconvenients non
negligeables.
• Ou ai-je bien pu mettre mes notes?
• S'agit de la derniere version actualisee?
• Je n' arrive pas a me re lire !
• Comment mettre ces notes a la disposition d' un ami qui s'inte-
resse egalement a ma programmation ?
Le probleme vient de la separation du code de programmation et des
notes, qui ne forment alors plus un tout. Si Jes notes sont perdues,
vous aurez vraiment beaucoup de mal a tout reconstruire. Imaginez
maintenant votre ami, qui n'a absolument aucune idee de ce que vous
vouliez faire avec votre code. Mais il existe une autre solution : vous
pouvez laisser des remarques et consignes dans le code, et ce a
l'endroit precis ou elles sont pertinentes. Vous avez ainsi sous la main
toutes les informations qui vous sont necessaires.
u
>-
a.
0
8
encore quelques breves remarques complementaires. Derriere la ligne
d'instruction est ajoute un commentaire, introduit par deux barres
obliques (slash). Pourquoi ces barres sont-elles necessaires ? Le
compilateur essaie bien entendu d'interpreter et d'executer tous les
pretendus ordres qui lui soot donnes. Prenons par exemple le premier
commentaire :
La broche 7 commande la LED rouge
0L..
>-
UJ
lf)
..-!
0
N
@
......
..c
en
·;:
u
>-
a.
0 Chapitre 9 : Les bases de la programmation ------------------§
Structure d'un sketch Arduino
Si vous voulez ecrire un sketch pour votre carte Arduino, vous devez
imperativement tenir compte de certaines choses. Pour etre execu-
table, le sketch doit presenter deux structures de programme techni-
ques qui font partie de la meme categorie. Ce sont les functions, qui
servent quasiment de cadre au sketch. Yoyons d'abord ce qu'est au
juste une fonction. Nous avons vu jusqu'ici les differentes instruc-
tions, qui existent en tant que telles et n'ont pas forcement un rapport
entre elles. Or, ii est possible de reunir plusieurs instructions en une
unite logique et de donner a cette structure un nom evocateur. Yous
faites alors appel au nom de la fonction comme pour une instruction
ordinaire et toutes les instructions qu'elle contient sont executees en
bloc.
Arretons-nous auparavant sur la maniere dont un tel sketch peut se
derouler. Supposons que vous vouliez faire une promenade et
emporter certaines choses avec vous. Yous mettez tout dans un sac a
dos, puis vous partez. En route, vous fouillez sans cesse dans votre
sac pour prendre des forces ou pour verifier sur la carte que vous etes
encore sur le bon chemin. Au sens figure, cela se deroule exactement
de la meme maniere dans un sketch. Au debut du sketch se produit
l'execution unique d' une certaine action par exemple pour initialiser
des variables qui devront etre utilisees plus tard. Ensuite, certaines
instructions sont alors executees en boucle, gardant ainsi le sketch
vivant. Jetons un coup d'reil a la structure du sketch, dans laquelle les
domaines fondamentaux soot divises en trois blocs.
figure9-19 ..,.
Structure de sketchfondamentale Debut dusketch
Declaration
+ initialisation
}-s1oc1
ui
Q)
Execution
unique
Setup() }-s1oc2
0L..
>-
UJ
lf)
.-!
0
N
Execution
en boucle
Loop() }-s1ocJ
@
......
..c
en
·;:
u
>-
a.
0
8
Ces blocs sont les suivants.
Non, les fonctions doivent porter ces noms a la lettre pres : elles sonr
recherchees en debut de sketch car elles servent de points de depart et
garantissent un debut bien defini.
Comment le compilateur saurait-il sinon laquelle ne doit etre
executee qu'une fois et laquelle doit l'etre en boucle? Ces noms sont
done absolument necessaires. Passons a votre deuxierne question
concernant la signification du mot void. II s'agit d' un type de donnee
indiquant simplement que la fonction ne renvoie aucune valeur a
l' appelaot. void peut etre traduit par place vide OU trou. II signifie non
pas 0 mais rien . La structure generale d'une fonction est presentee a
la figure 9-20.
Vl
Combien de temps dure
Q)
Vl
Q)
0.....
w
>-
Lf)
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0 Chapitre 9 : Les bases de la programmation ------------------8
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Chapitre
Programmation
de la carte Arduino 10
0L..
>- guration et a l' interrogation d' une entree numerique.
UJ
lf)
.-f
0
N
@
......
..c
en
·;:
>-
a.
0
u
Figure 10·1 .,. (5, INPUT);
Configuration et lecture d'une
entree numerique sur la broche 5
valeur =
0....
>-
En tMorie oui, sauf que nous avons affaire ici a un microcontroleur,
w qui ne peut traiter que des signaux numeriques. Je m' explique : !es
Lf)
.-I signaux analogiques soot traites et memorises par un circuit special
0
N appele coovertisseur analogique/numerique (ou convertisseur A/D).
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 10 : Programmation de la carte Arduino ----------------@
Theoriquement, un signal analogique se compose de variations infini-
ment petites qui se produisent dans Ia courbe d'evolurion temporelle.
Mais comment ces valeurs peuvent-elles etre detectees par un
microprocesseur ? Voyons maintenant cette courbe de plus pres.
0 1 2 3 4 5 6 ·7 8 9 IO 11 12 13 14 15 16 17 18 19 20 I
- Cour!J( a~a!Q\j'que
- Signal quamifie
Mais pourquoi est-ce ainsi? Aucune difference n'est faite entre les
deux valeurs qui seraient, par consequent, egales.
0.....
dispose de 10 bits pour la resolution d'un signal analogique. C 'est du
>- reste egalement ce qui a ete retenu pour la caracteristique du conver-
w
Lf)
tisseur AID : resolution de 10 bits.
.-I
0
N
@
.4-J
.J::.
01
·;:
>-
0..
0
u
Que signifient ces 10 bits ? Ils permettent d' interpreter 2 10 = 1 024
nombres binaires differents. Si nous prenons comme reference la
tension de +5 V disponible sur la carte Arduino (notamment pour
l'alirnentation), une entree analogique - il yen a 6 en tout de AO a AS
- peut traiter des valeurs comprises entre 0 et +5 V.
~ Figure 10-5
E-1 POWER ANALOG IN
Ports analogiques AO aAS sur le
~ ~ Q Q s::
connecteur a6 broches (cote droit)
~M~~~~
I I I I I I I
Sur chaque canal, le signal d' en tree est converti en inteme en un
nombre binaire par un convertisseur AID et, un canal presentant
1 024 valeurs puisque la resolution est de 10 bits, I' unite de mesure la
plus petite - appelee aussi quantum - peut etre calculee comme suit :
Quant um =
Tensio.n de reference +5 V
= - - = 4 88 m V "" 4 9 mV
Nombre de valeurs 1 024 ' '
@ Attention !
Si vous delivrez a
une entree analogique une tension superieure +5 V, lea
microcontr61eur risque d'etre completement detruit ou pour le moins gri lle au
niveau de Ce canal. Veillez a toujours verifier sous quelles tensions vous
travaillez. Cest important si vous utilisez des sources d'alimentation externes
telles qu'une pile de 9 V ou un bloc d'alimentation separe. Pour nos exemples
analogiques, je n'utilise toutefois que l'alimentation elect rique de la carte, soit
+SV.
Vl
Q)
u
>-
0..
0 Chapitre 1O : Programmation de la carte Arduino ----------------0
Tableau 10· 1 .,.
Valeur analogique mesuree Valeur correspondante
Valeurs analogiques mesurees
et tensions d'entree reelles 0 OV
correspondantes 1 4,9mV
2 9,8mV
1023 sv
Periode : 4 '
I T -- :
Plus l'impulsion est large, plus l'utilisateur r~oit d'energie.
Rapport cyclique = !_
T
6V
;
4 v . - · 1--l······-··+-············-+·······- ······-+····· ··· ··- ··-l·· l- ·- ··-····+-··- • ········• ···· ··· ···········i-·-···-·- ···+ ········ ··- ·-I
i
2V •••• + -f-•• ••••~•>•••••••••• • • +• • •• ••••••• •+••••••••••••••• • i - 1- • -••-••• •~ N•••-•l•••• •••i•••• ••••••••••••+•••• •••••••••••• i•••••••••••••••-1
..
I ~
ov ;.1-.-+-.&.-1~-------+'·--t-·---~----!---l
BV
Vl
Q)
6V
0.....
>- ! l i I
-··-+.··-··--"· .+....,_.._,.,_,,,..;......-..
w
Lf)
4V
···-i--
. •
i
... ....!.. .. ..... ..__l' .•...
! i
' ! i
j
.-I
2V ............ +..,._,. .....f.. ......... ,..J.. -............. L·- ' "~'-"' ........_.. _J.....,_.,, .... ..................... ·~"·
i :
n ..
0 j i
N
DV
I ......,_-+---{--..- - - -
G-1 -..~·-..._____
@
......
J::
01
·;:
u
>-
0..
0
Chapitre 10 : Programmation de la carte Arduino ----------------@
Dans le cas d'un rapport cyc}jque de 50 %, le temps de marche est
egal au temps d'arret au cours d'une periode. La LED eclaire bien
mieux qu'a 25 % parce qu'elle re~oit plus d'energie par unite de
temps.
8V
i
I
. . ·1 ·-.. -·r . .·-·-r .r. . . ._.,
! l
GV
-i
!
i .
,_,, .......;....... .
. -·....- --.. -...i.-.
i f
--··-·-·t" ........ !... -·. ' . .f
n-.....;;...--"""
; -----;.---~· !,..............! --~!--~-----;.
8V
6V
j I 1 ' ' I I T I
4V ·-·-··-..·i·-··-··-······t·-···-··-·-··t··-··-··-··-!·-··--······-!-··-···-···-···t·-··-······-··l···--······--~··-··-··-..-·1- ······- ·-
l I I ! ! i i I I
2V ·-··-··-···j··-··-..
1
-··-··l·-···-···-·-··L··-··-··-··-J-··-·-··-··~-L-··-··-···-··..f
' I I I
·- ··-.. -··-···:··--······-L···-···
I i I
- ··-··-l·-··-··-
!
Dans le cas d'un rapport cyclique proche de 100 %, la LED est constam-
ment allumee et semble tres lumineuse. Une chose est sure quand on
utilise des sorties analogiques : le nombre de sorties analogiques utilisees
diminue d'autant le nombre de broches numeriques adisposition.
0.....
>- Bonne question, Ardus ! Pour une sortie analogique au moyen d'un
w signal MLI, on utilise !'instruction analogWrit e, qui necessite de specifier
Lf)
.-I le numero de la broche et Ia valeur a convertir en signal MLI. Nous en
0
N reparlerons bien sQr en temps voulu. Cette valeur peut varier entre 0 et
@
...... 255. La figure 10-13 presente un echantillon des plus marquantes.
.J::.
01
·;:
>-
0..
0
8 1----------------------------- Partie I : Les bases
u
Arguments ~ Figure 10-13
I Instruction anal ogWr i te
Instruction 8rorhe MU
avec quelques exernples de valeurs
~ ~
Rapport cyclique
oi
25 %
50 %
75 ..
100 %
0.....
>- L'interface serie
w
Lf)
.-I
L 'interface serie, qui - comme je l' ai dit deja - utilise le port USB,
0 est une autre possibilite d ' entrer en contact avec la carte Arduino. Nul
N
@ besoin ici encore d'un programme exteme de terminal pour commu-
.4-J
.J::.
01
·;:
u
>-
0..
0
Chapitre 10 : Programmation de la carte Arduino ----------------§
niquer car on peut passer par le moniteur serie. Ce type demise en
relation avec votre carte Arduino peut etre utile dans de nombreux
cas:
• pour entrer des donnees pendant )'execution d'un sketch;
• pour sortir des donnees pendant I' execution d'un sketch;
• pour imprimer certaines informations pendant )'execution d'un
sketch pour rechercher des erreurs.
La carte Arduino ne disposant pas d'un apparei l de saisie dans sa
version standard, !'interface serie permet justement de saisir des
donnees a la main en passant par le clavier pour intervenir le cas
echeant sur le deroulement du sketch. Mais nous verrons aussi que
cette interface peut tres bien etre utilisee pour creer une base de
communication commune a differents programmes ou langages de
programmation. Vous apprendrez des possibilites interessantes :
comment controler votre carte Arduino par exemple avec une
application C#, envoyer des donnees a celle-ci pour une presentation
graphique preparee ... Vous pouvez sinon tirer habilement parti du
langage de programmation Processing pour qu'il serve de frontal
graphique a la carte Arduino. Si votre sketch ne fonctionne pas
comme vous l'auriez voulu, utilisez le moniteur serie de )'interface
comme fenetre pour imprimer le contenu de variables. Yous pouvez
ainsi determiner et eliminer des erreurs dans le code source. Vous
saurez plus tard comment on doit s'y prendre. Le mot technique
employe pour cela est debugging (ou debogage).
ui
Q)
0L..
>-
UJ
lf)
.-!
0
N
@
......
..c
en
·;:
u
>-
a.
0
8
Partie II
Les montages
Vl
QJ
0I....
>-
LU
LI)
,..-t
0
N
@
...,
~
Ol
·c
>-
Q.
0
u
Vl
Q)
0
L.
>-
UJ
ll)
,-I
0
N
@
......
.!:
Ol
·;:
>-
0..
0
u
Montage
Le premier sketch
1
Au sommaire:
• la declaration et initialisation d'une variable ;
• la programmation d'une broche numerique en sortie (OUTPUT);
• l' instruction pinMode() ;
• I' instruction di gital Write() ;
• !'instruction delay() ;
• le sketch complet ;
• I' analyse du schema ;
• la realisation du circuit ;
• un exercice complementaire.
Composants necessaires
L'exemple etant tres simple, seules une LED et une resistance serie
soot necessaires.
1LEO rouge
1 resistance de 220 n
Dans le chapitre 3 sur les principes de base Arduino, je vous ai dit que
la carte comportait entre autres quelques LED, dont I' une etait reliee
directement a la broche numerique 13 et possedait sa propre resis-
tance serie. Ceci dit, aucun composant externe ne devrait avoir besoin
d'etre branch€ sur la carte.
Vl
@ Pour aller plus loin
Q)
Quand vous reliez pour la premiere fois une carte Arduino flambant neuve a
0..... votre ordinateur, cette LED incorporee s'allume pendant une seconde. Un
w
>- premier sketch incluant cette fonctionnalite de base a done ete charge al'usine
Lf) une fois la carte assemblee.
.-I
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
8 Partie II : Les montages
Code du sketch
Le code du sketch est le suivant pour ce premier exemple :
i nt ledPin = 13; //Declarer+ inltialiser broche numerique 13
//comme sortie
void setup(){
pinMode(ledPin, OUTPUT); //Broche numerique 13 comme sortie
}
void loop(){
digitaHJrite(ledPi n1 HIGH); //LED au niveau HIGH (sV)
delay(1000); //Attendre une seconde
digitaHJrite(ledPin, LOW ); //LED au niveau LOl·J (ov)
delay(1000); //Attendre une seconde
~ Tableau 1·1
lcone Fonction
Etapes pour compiler
Commencer la verification par compilation. et transmettre
,. Commencer la transmission au microcontroleur une fois la compilation terminee.
~ Figure 1-1
Message d'etat et affichage
des informations sur la memoire
0.....
Bien vu Ardus ! II me faut ici developper un peu. Si vous initialisez
>-
w des variables avec des valeurs dont vous etes seul, de prime abord, a
Lf)
.-I connaltre la signification, Jes autres personnes appelees a travailler
0
N avec le code en question auront certainement du ma! a comprendre.
@ Que peut bien vouloir dire par exemple le nombre 42 ? Un tel style de
.4-J
.J::.
01
·;:
u
>-
0..
0
Montage 1 : Le premier sketch ----------------------@
programmation n'est pour moi pas tres convaincant. ll se trouve que
nous avons pris precisement le nombre 13 pour designer la broche de
la sortie numerique, mais nous entendons rendre le code de
programme un peu plus evocateur a l' avenir. De telles valeurs
suspectes survenant dans le code source sont au fait appeJees magic
numbers. Mais revenons aux mots indiques en couleurs. II s'agit ici
de constantes, c'est-a-dire des indicateurs qui, tout comme les varia-
bles, ont ete initialises avec une valeur mais ne peuvent plus etre
modifies. C'est pourquoi on les appelle des constantes. Ce nom en dit
deja beaucoup plus que n'importe quelle valeur esoterique. Nous
reviendrons bientot sur Jes instructions pinMode et digitaHJrite et
j 'expliquerai alors )' importance de ces constantes.
Revue de code
Nous declarons et initialisons au depart une variable globale portant
le nom de ledPi n, dont le type exact de donnee est int (int= integer) et
qui apparal't dans toutes Jes fonctions avec la valeur 13 .
Tableau 1-2 .-
Variable Objet
Variable necessaire et son objet
led Pin Contient le numero de broche pour la LED sur la broche de sortie numerique 13.
u
>-
a.
0
8 ~------------------------- Partie II : Les montages
int ledPin; //D~clarer la variable
void setup(){
ledPin = 13 ; //Initialiser la variable avec valeur 13
II ...
}
Vous auriez tres bien pu aussi operer sans variable et entrer la valeur
13 partout dans les instructions pinMode et digitalWrite. Seulement, il y
a un inconvenient. Si vous decidez plus tard de changer de broche,
vous devez revoir tout le code du sketch pour proceder a tous les
changements. C'est fastidieux et surtout generateur d'erreurs. Vous
risquez d'oublier un endroit quelconque a editer et d'avoir ensuite un
probleme. Ce ne pas tres grave dans ce court exemple mais si le
sketch etait plus long, vous sauriez combien ce rudiment de program-
mation est vraiment utile. Faisons done bien les choses des le debut.
Tout va bien jusqu'ici ? La fonction setup est appelee une seule fois
au debut pour demarrer le sketch et la broche numerique 13 est
programmee en tant que sortie. Revoyons pour ce faire I' instruction
pinMode.
0L..
>- plus explicite et on sait tout de suite de quoi il s' agit. Il en va de
UJ
lf) meme pour l'instruction digitalWrite, qui presente egalement deux
..-!
0 arguments.
N
@
......
..c.
en
·;:
0
u
>-
a. Montage 1 : Le premier sketch ----------------------§
figure 1-4 .,. Arguments
L'instruction digi tarnri te I
avec ses arguments
Instruction Broche Niveau
~~~~~
( ( 13, HIGH ) ;)
On trouve ici aussi une constante dont le nom est HIGH, censee servir
d'argument pour un niveau HIGH sur la broche 13. Elle est equivalente
a la valeur numerique i. Yous trouverez les valeurs correspondantes
dans le tableau 1-3.
0L.. Entrons maintenant plus avant dans le sketch. La fonction loop, ici
>- c'est une boucle sans fin, demarre. Voici les differentes etapes de
UJ
lf) travail.
.-f
0
N 1. Allumez la LED de la broche 13.
@ 2. Attendez une seconde .
......
..c
en
·;:
u
>-
a.
0
8 ~------------------------- Partie II : Les montages
3. Eteignez la LED de la broche 13.
4. Attendez une seconde.
5. Revenez au point 1 puis, recommencez.
Schema
Le schema rend les choses plus claires.
~ Figure 1-6
Ardu i no 13 1 2 Carte Arduino avec une LED
12 ~ sur la broche 13
LED r uor
PWM 11
PWM 10
0 PWM 9
".....,
ro
8
7
·c;i PWH
6
PWM 5
0
4
PWM 3
2
1
0
Analog IN GND
Realisation du circuit
La realisation du circuit est simple. Toutefois, veillez ace que la pola-
rite de la LED soit correcte, sinon vous n'obtiendrez qu'une belle
LED eteinte. La LED soudee sur la carte clignotera quand meme. Une
LED mal polarisee n'abimera rien mais mieux vaut bien faire les
Vl
choses.
Q)
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
u
>-
0..
0
Montage 1 : Le premier sketch ----------------------§
Figure 1-7 .,.
LED clignotante servant de phare
pour notrepremier sketch
C'est djfficile a voir mais en regardant bien, on s' aper9oit que la LED
« onboard » clignote en meme temps que la LED reliee exterieure-
ment. Les LED sont censees commencer a clignoter aussitot apres la
transmission reussie sur la carte. Voyons mai.ntenant de plus pres le
deroulement chronologique. La LED clignote toutes les deux
secondes.
@ Attention!
On trouve sur Intern et d es schemas de circuits ou une diode electrolumines-
cente est bra nchee directement entre m asse et broche 13. Les d eux fiches
a
femelles se trouvant l'une cote de l'autre, cote b roches num eriques, ii est tres
aise de brancher une LED. Je vous mets expressement en gard e contre cette
variant e car la LED est utilisee sans resist ance serie. Ce n'est pas tant pour la LED
mais bel et bien pour votre microcontroleur que je m 'inquiete. Jai mesure une
fois que l'int ensite du courant att eignait 60 mA. Cette valeur est de 50 % au-
dessus du maximum et done assurement trop elevee. Rappelez-vous que le
courant admis par une broche numerique du m icrocontr61 eur est d e 40 mA au
Vl
Q) maximum.
0.....
w
>-
Lf)
.-I
0
N
@
......
.J::.
01
·;:
>-
0..
0
8 1--------------------------- Partie II : Les montages
u
Problemes courants
Si la LED ne s'allume pas, plusieurs choses peuvent en etre la cause
ainsi que nous l' avons deja dit.
• La LED peut avoir ete mal polarisee. Rappelez-vous !es deux
differentes connexions d'une LED qui sont !'anode et la cathode.
plllldc l)>llC
+ (anode)
+ (c.alhode)
Qu'avez-vous appris?
• Vous avez appris a declarer et initialiser des variables globales
en une ou plusieurs lignes.
• Vous avez determine le sens de transmission des donnees pour
une certaine broche comme OUTPUT au moyen de !'instruction
pinMode, si bien que vous avez pu envoyer, au moyen de !'instruc-
tion digitalWrite, un signal numerique (HIGH ou LOW) a la sortie ou
la LED est branchee.
• Yous avez cree un temps d'attente dans !'execution du sketch au
Vl
Q) moyen de !' instruction delay, si bien que la LED restait allumee
0..... OU eteinte Un certain temps.
w
>-
• Yous savez que pour utiJiser une LED, il faut une res.istance serie
Lf)
.-I dimensionnee en consequence. Yous trouverez ci-apres un
0
N
@
.4-J
.J::.
01
·;:
u
>-
0..
0
Montage 1 : Le premier sketch ----------------------@
schema de connexion d 'une LED avec une resistance de
220 ohms en serie.
+SV
r
220
R
LED
l
1 llllJllil 2
roug~
Gl'/O
Exercice complementaire