1
Voici Arduino
Le circuit microcontleur Arduino a excité l'imagination de nombreux passionnés
d'électronique. Il séduit quiconque désire fabriquer des circuits électroniques grâce à
sa facilité d'emploi et à son approche libre, open-source.
Ce circuit vous permet d'exploiter des composants électroniques en les connectant sur
des broches, ce qui lui permet de les contler, en allumant par exemple des lumières ou
en contrôlant des moteurs, ou bien en détectant l'environnement, à travers sa luminosité
ou sa température. C'est ce domaine d'emploi qui fait que les circuits Arduino sont
souvent classés dans la catégorie de l'informatique physique. D'un autre côté, puisque
le circuit Arduino peut être connecté à un ordinateur classique via sa prise USB, vous
pouvez faire en sorte qu'il devienne le circuit d'interface pour contrôler les mêmes
composants électroniques depuis votre ordinateur habituel.
Ce chapitre va présenter le circuit Arduino, ses origines et ses constituants principaux.
ARDUI__Monk.indb 1 21/03/13 18:05
© 2013 Pearson France – Arduino – Simon Monk
2 Arduino : les bases de la programmation
Les microcontrôleurs
Le composant capital de votre circuit Arduino est un microcontrôleur. Quasiment tous
les autres composants du circuit sont destinés à fournir de la puissance et à permettre
de communiquer avec un autre ordinateur.
Un microcontleur est littéralement un petit ordinateur contenu dans une seule
puce. Il embarque même plus de fonctions que les premiers ordinateurs personnels,
puisqu'il réunit un processeur central, un ou deux kilo-octets de mémoire vive (RAM)
pour stocker les données, quelques kilo-octets de mémoire en lecture seule effaçable
(EEPROM) ou en mémoire ash, dans lesquels vous pouvez stocker les programmes,
ainsi que des broches d'entrée et de sortie. Ces broches permettent de relier le micro-
contrôleur à vos composants électroniques.
Les entrées permettent aussi bien de lire des valeurs numériques (est-ce qu'un inter-
rupteur est ouvert ou fer?) que des valeurs analogiques (quelle est la tension présente
sur cette broche ?) Cette polyvalence permet de connecter de nombreux types de
capteurs de lumière, de température, de volume sonore, etc.
De même, les sorties peuvent être exploitées en numérique ou en analogique. Vous
pouvez donc forcer une broche de sortie à prendre l'état éteint ou allumé (0 ou 5 volts)
an de contrôler l'allumage d'une diode LED (Light-Emitting Diode) ou bien vous servir
de la tension en sortie pour contrôler la vitesse de rotation d'un moteur électrique, ou la
luminosité d'une lampe, au lieu de simplement les allumer et les éteindre.
Sur la carte Arduino, le microcontrôleur est la puce à 28 broches insérée dans un socle
au milieu de la carte. C'est dans cette puce que se trouvent le processeur, la mémoire
et toute llectronique d'interface avec les broches d'entrée/sortie. Le processeur a été
conçu et réalisé par la société Atmel, un des plus importants fabricants de microcon-
tleurs. Chaque fabricant de microcontrôleurs (on les appelle des fondeurs) produit
en réalité des dizaines de puces différentes, regroupées en familles. Il faut savoir que
les microcontrôleurs ne sont pas conçus seulement pour les passionnés d'électronique
(ils ne constituent qu'un faible pourcentage de leur marché). Ces puces sont d'abord
destinées à être incorporées dans les produits d'électronique de loisirs et domestique :
voitures, machines à laver, lecteurs de DVD, jouets pour enfants, et même climatiseurs.
Un des atouts d'Arduino est de simplier vos choix parmi l'énorme variété proposée
par les fabricants de microcontleurs. Cela constitue une standardisation de fait sur
laquelle vous pouvez bâtir. (À vrai dire, comme nous le verrons plus tard, ce n'est pas
exactement la réalité, mais cela s'en rapproche.)
ARDUI__Monk.indb 2 21/03/13 18:05
© 2013 Pearson France – Arduino – Simon Monk
Chapitre 1 Voici Arduino 3
Cela signie que lorsque vous prévoyez de démarrer un nouveau projet, vous ne perdez
pas de temps à commencer par comparer les avantages et inconvénients des différentes
gammes de microcontrôleurs.
Circuits de développement
Nous savons maintenant que le microcontrôleur n'est qu'une puce électronique. Une puce
ne peut pas travailler seule, sans un certain nombre de composants électroniques qui
lui fournissent notamment une source d'électricité régulée et stable (les microcontrô-
leurs sont assez chatouilleux à ce niveau) ainsi que des moyens de communiquer avec
l'ordinateur qui va servir à concevoir les programmes qui animeront ce microcontleur.
C'est à ce moment qu'entre en jeu la notion de circuit de développement. Une carte
Arduino est en fait un circuit de développement à microcontrôleur dont le schéma
de conception matérielle est rendue public (open-source). Cela signie que le chier
d'implantation des composants sur le circuit impriPCB (Printed Circuit Board) ainsi
que les schémas électriques sont tous disponibles au public. Chacun est donc libre de
s'en servir pour concevoir et fabriquer sa propre carte compatible Arduino.
Tous les fabricants de microcontrôleurs, y compris la société Atmel qui est à l'origine
du microcontrôleur ATmega328 de certaines cartes Arduino, proposent leurs propres
circuits de développement et leurs propres logiciels de programmation. Ces produits
sont en général peu onéreux, mais ils sont d'abord destinés aux ingénieurs électroniques
plutôt qu'aux amateurs. Il en sulte que tant les circuits que les logiciels sont d'un emploi
moins aisé, et réclament donc une plus longue phase d'apprentissage avant que l'on ne
puisse produire quelque chose d'utile avec eux.
Visite guidée de la carte Arduino Uno
La Figure 1.1 montre l'aspect d'une carte Arduino. Découvrons les principaux compo-
sants qui la peuplent.
ARDUI__Monk.indb 3 21/03/13 18:05
© 2013 Pearson France – Arduino – Simon Monk
4 Arduino : les bases de la programmation
Figure 1.1
Une carte Arduino Uno.
Alimentation secteur
Sur la Figure 1.1, nous pouvons repérer juste sous le connecteur USB un composant
qui est le régulateur de tension 5 V. Ce composant se charge de stabiliser et de réguler
à 5 V la tension d'entrée qui peut varier entre 7 V et 12 V.
En comparaison des autres composants montés en surface (CMS), ce régulateur est
assez volumineux, ce qui lui permet de mieux dissiper la chaleur qu'il dégage pour
faire baisser la tension en délivrant un ampérage sufsant. Cela permettra au circuit
de piloter correctement des composants externes.
Connecteur des sources de tension
Dans le bas de la carte, nous trouvons deux connecteurs (voir Figure 1.1). Le connecteur
de gauche est consacà la fourniture de différentes tensions. En partant de la gauche,
la troisième broche correspond à Reset qui a la même fonction de réinitialisation que le
bouton Reset en haut à gauche de la carte. La fonction est la même que sur un PC : cela
provoque le redémarrage du microcontrôleur. Pour forcer un redémarrage avec cette
broche, il faut la forcer momentanément à 0 V (état bas).
Interrupteur Reset
Cristal
Circuit
d'interface USB
Régulateur de
tension 5 V
Connecteur
d'alimentation
Connexions numériques
Connecteur de
programmation
série
Microcontrôleur
Entrées analogiques
ARDUI__Monk.indb 4 21/03/13 18:05
© 2013 Pearson France – Arduino – Simon Monk
Chapitre 1 Voici Arduino 5
Les broches suivantes de ce connecteur fournissent les différentes tensions : 3,3 V,
5 V, GND et 9 V). La broche GND correspond à la masse, soit 0 V. C'est la référence
de masse par rapport à laquelle toutes les autres tensions de la carte sont exprimées.
Entrées analogiques
Le second connecteur du bas comporte les légendes A0 à A6. Ces broches d'entrée
permettent de mesurer une tension pour pouvoir en utiliser les valeurs dans les
programmes. Précisons que les broches servent à mesurer une tension et non un courant.
Le circuit d'entrée auquel chacune des broches donne accès possède une sistance
interne (impédance) très importante, ce qui fait que le courant passant par la broche
est toujours très faible.
Ces entrées sont désignées comme étant de type analogique, et elles le sont par défaut,
mais vous pouvez également les exploiter en tant qu'entrées numériques ou même
comme sorties numériques.
Connexions numériques
Passons maintenant aux deux connecteurs du haut de la carte, et commençons par
celui de droite (voir Figure 1.1). Les légendes désignent des entrées numériques de 0 à
13 en partant de la droite (Digital). Ces broches peuvent servir d'entrées ou de sorties.
Lorsque vous les utilisez en tant que sorties, elles se comportent comme les broches
de source de tension présentées plus haut, sauf qu'elles fonctionnent toutes en 5 V et
qu'elles peuvent être activées et sactivées depuis un programme. Si vous activez une
de ces broches, la tension présente sera à 5 V. Si vous désactivez la broche, la tension
sera à 0 V. Comme pour les broches de tension, il faut veiller à ne jamais dépasser le
courant maximal qu'elles peuvent supporter. Les deux premières broches à droite (0 et 1)
portent une gende supplémentaire (RX et TX) pour la transmission et la réception.
Ces deux broches sont réservées à la communication ; elles sont, d'une façon indirecte,
les connexions en émission et en réception de la connexion USB vers votre ordinateur.
Toutes les broches numériques peuvent supporter jusqu'à 40 mA (milliampères) à 5 V.
C'est largement sufsant pour alimenter une LED standard, mais assurément pas pour
alimenter directement un moteur électrique.
Le microcontrôleur
Poursuivons notre visite de la carte Arduino en nous intéressant à son cœur : la puce du
microcontrôleur correspond au rectangle noir à 28 broches en bas. Vous constatez que
cette puce est insérée dans un support (DIL), ce qui permet de la remplacer aisément en
cas d'avarie. Le microcontleur utilisé sur la carte Arduino Uno est du type ATmega328.
La Figure 1.2 fournit un schéma des principaux sous-systèmes de ce circuit.
ARDUI__Monk.indb 5 21/03/13 18:05
© 2013 Pearson France – Arduino – Simon Monk
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!