0% ont trouvé ce document utile (0 vote)
43 vues36 pages

Introduction aux systèmes Arduino

Ce document présente une introduction aux systèmes de commande basés sur la carte Arduino, en se concentrant sur le microcontrôleur et sa structure matérielle. Il décrit les différents modèles de cartes Arduino, leurs spécifications techniques, et leur utilisation dans divers domaines d'application. Le document inclut également des informations sur la programmation et l'environnement de développement Arduino/Genuino.

Transféré par

hichamnaimi2002
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues36 pages

Introduction aux systèmes Arduino

Ce document présente une introduction aux systèmes de commande basés sur la carte Arduino, en se concentrant sur le microcontrôleur et sa structure matérielle. Il décrit les différents modèles de cartes Arduino, leurs spécifications techniques, et leur utilisation dans divers domaines d'application. Le document inclut également des informations sur la programmation et l'environnement de développement Arduino/Genuino.

Transféré par

hichamnaimi2002
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction

aux systèmes
de commande à
base de la carte
ARDUINO
Introduction aux systèmes de commande à base de la carte Arduino

SOMMAIRE

Microcontrôleur………………………………………………………………………………………..….. 4

Qu’est-ce qu’un microcontrôleur ?.............................................................................. 4

Structure matérielle d’un microcontrôleur................................................................. 4

Blocs principaux de la structure matérielle d’un µc……………………………….…..……….. 5

L’unité centrale de traitement…...................................................................................5

Le bus de données……………………………………………………………………………………..…… 6

Les mémoires………………………………………………………………………………………………… 6

Ports d’entrée et de sortie……………………………………………………………………………… 6

Le contrôleur d’interruption……………………………………………………………………………. 6

L’horloge interne…………………………………………………………………………………………… 7

Arduino et microcontrôleur ! Quelle relation ?........................................................... 7

La famille Arduino……………………………………………………………………………………….... 7

Arduino Uno…………………………………………………………………………………………………. 7

Spécifications techniques de la carte Uno………………………………………………………….. 8

Arduino Leonardo………………………………………………………………………………………….. 8

Spécifications techniques de la carte Leonardo…………………………………………………… 9

Arduino Esplora…………………………………………………………………………………..………. 10

Spécifications techniques de la carte EsplorA…………………………………………..………. 10

Arduino Mega 2560……………………………………………………………………………..……….. 11

Spécifications techniques de la carte Mega 2560……………………………………..……….. 11

Arduino Nano……………………………………………………………………………………..……….. 12

Spécifications techniques de la carte Nano……………………………………………..………… 12

Arduino M0………………………………………………………………………………………..……….. 13

Spécifications techniques de la carte M0……………………………………………………..…… 13

Arduino Ethernet………………………………………………………………………………………….. 14

Spécifications techniques de la carte Ethernet………………………………………..………… 15

Sommaire Page 1
Introduction aux systèmes de commande à base de la carte Arduino

Exploration de la carte Arduino Uno……………………………………………..………………… 16

Eléments principaux de la carte Uno…………………………………………………..…………… 16

L’alimentation électrique…………………………………………………………………..………….. 17

Port de communication USB…………………………………………………………………..………. 19

Les entrées/sorties…………………………………………………………………………………..…… 20

Les entrées/sorties numériques……………………………………………………………………… 21

Les entrées analogiques…………………………………………………………………………………. 22

Les sorties analogiques………………………………………………………………………..……….. 24

L’interface série……………………………………………………………………………………..……. 24

Programmation de la carte Arduino Uno………………………………………………………….. 25

L’environnement de développement Arduino/Genuino………………………………..……. 25

Installation de l’IDE Arduino/Genuino……………………………………………………........… 25

Prise en main de l’environnement de développement Arduino/Genuino…………..….. 29

La barre de menu……………………………………………………………………………………..….. 30

La barre d’icônes………………………………………………………………………………........…… 30

Les onglets……………………………………………………………………………………………..…... 30

La zone d’édition…..................................................................................................... 31

La zone d’information et de statut……………………………………………………………..…… 33

Transmission du sketch sur la carte Arduino Uno………………………………………..…… 34

Le moniteur série……………………………………………………………………………….……….. 36

Sommaire Page 2
Introduction aux systèmes de commande à base de la carte Arduino

Microcontrôleur :

Dans cette première partie, nous allons nous intéresser à l’élément principal dans une
carte Arduino : le microcontrôleur, à savoir sa structure matérielle générale et son principe
de fonctionnement.

Qu’est-ce qu’un microcontrôleur ?

Un microcontrôleur (µc) est un circuit intégré, qui regroupe sur une puce les éléments
essentiels d'un ordinateur (microprocesseur, mémoires, unités périphériques et
interfaces d'entrées-sorties), dans un espace très réduit, Il est généralement moins
puissant en terme de rapidité ou de taille mémoire et présente un coût réduit par rapport
aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels , Ceci en fait un
composant très bon marché, parfaitement adapté pour piloter les systèmes embarquées
dans de nombreux domaines d’application : Informatique, MultiMedia (téléviseurs, cartes
audio, cartes vidéo…etc.), Contrôle des processus industriels(régulation, pilotage),
Automobile (ABS, injection, GPS, airbag), Robotique (commande de rebots industriels), et
d’autres.
La figure ci-dessous montre un microcontrôleur ATmega 328P qu’on trouve sur la carte
Arduino :

Figure 1 : Microcontrôleur ATmega 328P (Atmel)

Structure matérielle d’un microcontrôleur :

Comme j’ai indiqué dans la définition, un microcontrôleur est comparable à un mini-


ordinateur, il possède les mêmes éléments que ce dernier, sauf qu’ils sont rangés dans un
même boitier, ce qui lui rend simple et très pratique.

L’architecture matérielle d’un microcontrôleur est divisée en trois grandes parties :

L’unité centrale de traitement (CPU).


Les mémoires (RAM et ROM).

Microcontrôleur Page 3
Introduction aux systèmes de commande à base de la carte Arduino

Les interfaces d’entrée/sortie.

On y trouve aussi une horloge ou un oscillateur, des bus de données et un contrôleur


d’interruption.

Le schéma suivant représente une structure générale simplifiée de l’architecture


matérielle d’un microcontrôleur :

Mémoire de Mémoire de
programme données
(Flash + EEPROM) (SRAM)

Bus de données

Horloge
interne Unité centrale de
traitement

Oscillateur
CPU

Bus de données

Contrôleur Ports d’entrée et


d’interruptions de sortie (I/O)
(IRQ)

Figure 2 : Structure générale d’un microcontrôleur

Blocs principaux de la structure matérielle d’un µc :

L’unité centrale de traitement :

Appelée encore CPU (Central Processing Unit) en anglais, c’est le cœur et l’élément le plus
important dans un microcontrôleur, son rôle est l’exécution des instructions machine d’un

Microcontrôleur Page 4
Introduction aux systèmes de commande à base de la carte Arduino

programme, elle peut adresser des mémoires, gérer des entrées ou sorties et réagir à des
interruptions.

Le bus de données :

C’est un ensemble de fils électriques, permettant le transfert des données au sein du µc,
en effet, le bus de données interconnecte les différents blocs afin de leur permettre
d'échanger des données.

Les mémoires :

- Mémoire de programme (Flash + EEPROM) : Elle stocke le programme que le CPU

doit exécuter, c’est une mémoire non volatile, c’est-à-dire qu’elle ne perde pas ses
données lorsque le µc n’est plus alimenté.
- Mémoire de données (SRAM) : Utilisée pour gérer les résultats de calcul en cours,

c’est une mémoire volatile au contraire de la mémoire programme, ça veut dire


que dès l’alimentation est coupée ses données mémorisées sont perdues, pourtant,
les SRAM offre un accès très rapide par rapport aux mémoires flash, ce qui
présente un avantage très important.

Ports d’entrée et de sortie :

Un port d’entrée/sortie, soit numérique ou analogique (on verra par la suite la différence
entre les deux), permet au µc de communiquer avec le monde extérieur, il constitue une
interface à laquelle une périphérie (par exemple : une résistance, une LED, un bouton
poussoir, un capteur te température, un transistor…etc.) peut être connectée.

Le contrôleur d’interruption :

Utilisé lorsqu’une interruption matérielle (en anglais Interrupt ReQuest ou IRQ), est
déclenchée par un périphérique d’entrée/sortie du µc, à ce moment-là, ce dernier
doit arrêter temporairement, l’exécution normale du programme afin de traiter un autre,
appelé programme ou service d’interruption.

Ce type de programme est très utile dans des situations où on est besoin de réagir à des
actions externes détectées par des capteurs par exemple. Nous verrons des exemples
après.

Microcontrôleur Page 5
Introduction aux systèmes de commande à base de la carte Arduino

L’horloge interne :

Elle synchronise toutes les actions de l’unité centrale de traitement.

Arduino et microcontrôleur ! quelle relation ?

En regardant une carte Arduino, on peut constater tout simplement qu’elle intègre un
microcontrôleur avec d’autres périphériques et composants dont nous allons découvrir en
détail dans la partie consacrée à la carte Arduino.

La famille Arduino :

Les constructeurs d’Arduino fabriquent plusieurs cartes, chacune avec des capacités
différentes. D’autre part, la forme, la taille et le nombre d’entrées/sorties, jouent un rôle
très important dans le choix d’une carte, c’est pour cela les constructeurs ont mis un vaste
choix de cartes à microcontrôleur, afin que l’utilisateur trouve le modèle qui réponde à ses
besoins. En outre, ces cartes sont matériellement libres, ce qui signifie que d'autres
personnes peuvent modifier et produire des dérivés de cartes Arduino qui fournissent
encore plus de facteurs de forme et de nouvelles fonctionnalités.

Dans cette partie, nous allons passer en revue sur des principaux modèles de la famille,
même si nous ne verrons pas tous les modèles, vous pouvez consulter le catalogue du
constructeur sur le site officiel ou faire des recherches sur internet afin de découvrir
d’autres types de cartes.

Arduino UNO :

Basée sur un microcontrôleur ATmega 328P (Atmel), l'UNO est un excellent choix pour
votre premier Arduino. Il a tout ce dont vous avez besoin pour commencer. Il possède 14
broches d'entrée / sortie numériques (dont 6 peuvent être utilisées comme sorties PWM :
Pulse Width Modulation ou modulation de la largeur d’impulsion en français (MLI)), 6
entrées analogiques, une connexion USB, une prise

d'alimentation de type jack, un bouton de


réinitialisation et plus encore.

La carte Uno est la première d'une série de cartes


Arduino USB et le modèle de référence de la plate-
forme Arduino. Figure 3 : Arduino UNO version R3

La famille Arduino Page 6


Introduction aux systèmes de commande à base de la carte Arduino

Les différents composants et fonctionnalités de cette carte seront expliqués dans la section
suivante.

Spécifications techniques de la carte UNO :

Microcontrôleur ATmega328P

Tension de service 5V

Tension d’entrée (recommandée) 7-12V

Tension d’entrée (limites) 6-20V

Entrées/sorties numériques 14 (6 sorties commutables en MLI)

Entrées analogiques 6

Courant maxi par broche d’E/S 20 mA

Courant maxi par broche 3.3V 50 mA

Mémoire Flash 32 KB

SRAM 2 KB

EEPROM 1 KB

Chargeur d’amorçage (bootloader) 0.5 KB

Fréquence d’horloge 16 MHz

Interface USB

Dimensions 68.6 mm* 53.4 mm

Poids 25 g

Tableau 1 : Spécifications techniques de la carte Arduino


Uno

Arduino Leonardo :

Arduino Leonardo est équipée d’un microcontrôleur ATmega32u4, cette carte diffère des
autres précédentes en ce que l'ATmega32u4 a intégré la communication USB, éliminant le
besoin d'un processeur secondaire. Cela permet au Leonardo d'apparaître connecté sur un
ordinateur, en tant que souris et clavier.

La famille Arduino Page 7


Introduction aux systèmes de commande à base de la carte Arduino

Il peut aussi être programmé en tant que HID


(Human Interface Device), en plus, un port COM
virtuel (VCP : Vertual COM Port), autre que le
port matériel UART, est accessible via USB.

Figure 4 : Arduino Leonardo

Spécifications techniques de la carte Leonardo :

Microcontrôleur ATmega32u4

Tension de service 5V

Tension d’entrée (recommandée) 7-12V

Tension d’entrée (limites) 6-20V

Entrées/sorties numériques 20 (7 sorties commutables en MLI)

Entrées analogiques 12

Courant maxi. par broche d’E/S 40 mA

Courant maxi. par broche 3.3V 50 mA

Mémoire Flash 32 KB

SRAM 2.5 KB

EEPROM 1 KB

Chargeur d’amorçage (bootloader) 4 KB

Fréquence d’horloge 16 MHz

Interface USB

Dimensions 68.6 mm* 53.3 mm

Poids 20 g

Tableau 2 : Spécifications techniques de la carte Arduino


Leonardo

La famille Arduino Page 8


Introduction aux systèmes de commande à base de la carte Arduino

Arduino Esplora :

Arduino Esplora est une carte dérivée de l'Arduino Leonardo. Elle diffère de toutes les
cartes Arduino en ce qu'il fournit un certain nombre de capteurs intégrés prêts à l'emploi.
L’Esplora est conçu pour les personnes qui veulent débuter avec Arduino sans avoir à se
familiariser avec l'électronique.

Cette carte dispose de sorties son et lumière


intégrées, ainsi que de plusieurs capteurs d'entrée,
dont un joystick, un curseur, un capteur de
température, un accéléromètre, un microphone et
un capteur de lumière. Il a également le potentiel
d'étendre ses capacités avec deux connecteurs Figure 5 : Arduino Esplora
d'entrée/sortie Tinkerkit, et une prise pour un
écran LCD couleur TFT.

Comme la carte Leonardo, l'Esplora utilise un microcontrôleur AVR Atmega32U4 avec


oscillateur 16 MHz et une connexion micro USB capable d'agir en tant que client USB,
comme une souris ou un clavier.

Spécifications techniques de la carte Esplora :

Microcontrôleur ATmega32u4

Tension de service 5V

Mémoire Flash 32 KB

SRAM 2.5 KB

EEPROM 1 KB

Chargeur d’amorçage (bootloader) 4 KB

Fréquence d’horloge 16 MHz

Interface USB

Tableau 3 : Spécifications techniques de la carte Arduino Esplora

La famille Arduino Page 9


Introduction aux systèmes de commande à base de la carte Arduino

Dimensions 164.04 mm* 60 mm

Poids 20 g

Tableau 3 (suite)

Arduino Mega 2560 :

Basé sur un microcontrôleur ATmega2560, le


MEGA 2560 est conçu pour des projets plus
complexes. Avec 54 broches d'entrées/Sorties
numériques, 16 entrées analogiques et un plus
large espace de stockage pour les sketchs
(programmes), c'est la carte recommandée
Figure 6 : Arduino Mega 2560
pour les projets d'imprimantes 3D et de
robotique.

La carte Mega 2560 est compatible avec la plupart des shields conçus pour l'Uno et les
anciennes cartes Duemilanove ou Diecimila. Le Mega 2560 est une mise à jour de l'Arduino
Mega, qu'il remplace.

Spécifications techniques de la carte Mega 2560 :

Microcontrôleur ATmega2560

Tension de service 5V

Tension d’entrée (recommandée) 7-12V

Tension d’entrée (limites) 6-20V

Entrées/sorties numériques 54 (15 sorties commutables en MLI)

Entrées analogiques 16

Courant maxi. par broche d’E/S 20 mA

Courant maxi. par broche 3.3V 50 mA

Mémoire Flash 256 KB

Tableau 4 : Spécifications techniques de la carte Arduino Mega 2560

La famille Arduino Page 10


Introduction aux systèmes de commande à base de la carte Arduino

SRAM 8 KB

EEPROM 4 KB

Chargeur d’amorçage (bootloader) 8 KB

Fréquence d’horloge 16 MHz

Interface USB

Dimensions 101.52 mm* 53.3 mm

Poid 37 g

Tableau 4 (Suite)

Arduino Nano :

L'Arduino Nano est une carte compacte similaire à l'UNO.

Figure 7 : Arduino Nano

Cette carte est caractérisée par sa taille qui est largement petite par rapport aux autres
cartes. Equipée d’un microcontrôleur ATmega328, elle a plus ou moins la même
fonctionnalité de l'ancien Arduino Duemilanove, mais dans un package différent. Il ne
manque qu'une prise d'alimentation DC et fonctionne avec un câble USB Mini-B au lieu
d'un câble standard.

Spécifications techniques de la carte Nano :


Microcontrôleur ATmega328

Architecture AVR

Tension de service 5V

Entrées/sorties numériques 22 (6 sorties commutables en MLI)

Tableau 5 : Spécifications techniques de la carte Arduino Nano

La
La famille
famille Arduino
Arduino Page 11
Introduction aux systèmes de commande à base de la carte Arduino

Entrées analogiques 8

Courant maxi par broche d’E/S 40 mA

Mémoire Flash 32 KB

SRAM 2 KB

EEPROM 1 KB

Chargeur d’amorçage (bootloader) 2 KB

Fréquence d’horloge 16 MHz

Interface USB

Dimensions 18 mm* 45 mm

Poid 7g

Tableau 5 (suite)

Arduino M0 :

L'Arduino M0 est une carte à microcontrôleur 32 bits.

Le M0 représente une extension 32 bits simple mais


puissante de la carte Arduino UNO. Cette carte est basée
sur le microcontrôleur SAMD21 d'Atmel, doté d'un noyau
ARM Cortex® M0 32 bits.
Figure 8 : Arduino M0

Avec l'ajout de la carte M0, la famille Arduino devient plus grande avec un nouveau
membre offrant des performances accrues. La puissance de son noyau Atmel donne à cette
carte une flexibilité améliorée et augmente la portée des projets que l'on peut penser et
faire; de plus, cela fait du M0 un bon outil pédagogique pour apprendre le développement
d'applications 32 bits.

Spécifications techniques de la carte M0 :

Microcontrôleur ATSAMD21G18, 48 broches LQFP

La famille Arduino Page 12


Introduction aux systèmes de commande à base de la carte Arduino

Architecture ARM Cortex-M0+

Tension de service du µc 3.3V

Tension d’entrée générale 5-15v

Entrées/sorties numériques 20 (12 sorties commutables en MLI et UART)

Entrées/sorties analogiques 6+1 CNA

Courant maxi par broche d’E/S 7 mA

Mémoire Flash 256 KB

SRAM 32 KB

Fréquence d’horloge 48MHz

Dimensions 53 mm* 68.5 mm

Poid 21 g

Tableau 6 : Spécifications techniques de la carte Arduino M0

Arduino Ethernet :
C’est un Arduino Uno intégrant un contrôleur Ethernet TCP / IP WizNet W5100.

L'Arduino Ethernet est une carte équipée d’un


microcontrôleur ATmega328. Elle se distingue
des autres cartes par le fait qu'il ne dispose pas
d'une puce de pilote USB-série intégrée, mais
d'une interface Ethernet Wiznet. C'est la même
interface que celle trouvée sur le shield Ethernet.
Un lecteur de carte microSD intégré, qui peut Figure 9 : Arduino Ethernet

être utilisé pour stocker des fichiers à diffuser sur le réseau, est accessible via la
bibliothèque SD.

Les broches 10, 11, 12 et 13 sont réservées pour l'interfaçage avec le module Ethernet et ne
doivent pas être utilisées autrement. Cela réduit le nombre de broches disponibles à 9, 4
étant disponibles en tant que sorties PWM. Un module optionnel « Power over Ethernet »
peut également être ajouté à la carte.

La famille Arduino Page 13


Introduction aux systèmes de commande à base de la carte Arduino

Spécifications techniques de la carte Ethernet :


Microcontrôleur ATmega328

Tension de service 5V

Tension d’entrée (recommandée) 7-12V

Tension d’entrée (limites) 6-20V

Tension d’entrée Power over Ethernet


36-57V
(limites)

10 à 13 utilisées pour SPI (Serial Peripheral


Interface)
Broches réservés
4 utilisée pour la carte SD

2 pour l’interruption W5100

Entrées/sorties numériques 14 (4 sorties commutables en MLI)

Entrées analogiques 6

Courant maxi par broche d’E/S 40 mA

Courant maxi par broche 3.3V 50 mA

Mémoire Flash 32 KB

SRAM 2 KB

EEPROM 1 KB

Chargeur d’amorçage (bootloader) 0.5 KB

Fréquence d’horloge 16 MHz

Contrôleur Ethernet intégré TCP / IP


W5100

Prise magnétique prête à l'emploi Power


Over Ethernet

Carte Micro SD

Dimensions 68.6 mm* 53.4 mm

Poid 28 g

Tableau 7 : Spécifications techniques de la carte Arduino Ethernet

La famille Arduino Page 14


Introduction aux systèmes de commande à base de la carte Arduino

Exploration de la carte Arduino Uno :

Dans cette partie, je vais commencer par vous


présenter la carte qui sera utilisée dans toutes
les manipulations et montages de ce livre : la
carte à microcontrôleur Arduino Uno.

J’ai choisis cette carte car c’est la plus

Figure 10 : populaire, et la plus préférée pour débuter


Carte utilisée avec la famille Arduino.
(Arduino Uno)

Allons maintenant voir en détail, les principaux éléments qui la constituent.

Eléments principaux de la carte Uno :

Entrées-sorties numériques
Bouton de réinitialisation

Prise USB LED d’alimentation

Microcontrôleur

Prise d’alimentation Entrées analogiques


Broches d’alimentation

Figure 11 : Principaux éléments de la carte Uno

Exploration de la carte Arduino Uno Page 15


Introduction aux systèmes de commande à base de la carte Arduino

Ces éléments sont les plus importants à connaitre dans la carte Uno, par la suite on
découvrira d’autres avec leur fonction.

Les caractéristiques principales de la carte Uno sont :

- Microcontrôleur ATmega328P.
- Une tension de service de 5V.
- 14 Entrées/sorties dont 6 sont commutable en MLI.
- 6 entrées analogiques.
- Mémoire Flash de 32Ko avec 0.5k0 utilisé par le bootloader.
- Mémoire SRAM de 2 K0.
- Mémoire EEPROM DE 1Ko.
- Fréquence d’horloge de 16MHz.
- Interface de communication USB.

L’alimentation électrique :

Il y’a deux possibilités pour alimenter la carte Uno en énergie électrique :

- Via l’interface USB qui connecte la carte à l’ordinateur, cette potion sert aussi à
échanger des données entre l’ordinateur et la carte, cette interface peut fournir un
courant maximal de 500 mA (largement suffisant pour réaliser des montages
simples), elle est protégé contre les courants forts grâce à un polyfusible, mais
malgré tout ça, il faut toujours réaliser les circuits avec plus de soin et de
concentration.
- Brancher un adaptateur de tension externe ou une batterie au connecteur
d’alimentation appelée prise jack.

Prise USB (alimentation + échange de données)

Prise jack d’alimentation

Figure 12 : Alimentation de la carte Uno

Exploration de la carte Arduino Uno Page 16


Introduction aux systèmes de commande à base de la carte Arduino

La figure ci-dessous montre les deux types de prises à utiliser avec la carte Uno :

Prise jack Prise USB

Figure 13 : Types de prise à utiliser avec la carte Uno

Notez bien :

Avant de brancher une batterie ou bien un adaptateur de tension externe, il faut bien
respecter les limites de tensions d’alimentation citées dans les spécifications par le
constructeur, dès qu’il s’agit de tension ou de courant, il faut consulter les informations
suivantes :

5V DC (Direct Courant ou courant continu en


Tension de service
français)

Tension d’entrée (recommandée) 7-12V DC

Tension d’entrée (limites) 6-20V DC

Courant maxi par broche d’E/S 20 mA

Courant maxi par broche 3.3V 50 mA

Tableau 7 : Valeurs de tensions et de courants à respecter

Si vous utilisez un câble USB pour alimenter ou bien échanger des données avec un
ordinateur, la carte sera directement liée avec ce dernier, autrement dit, la présence
d’un court-circuit peut simplement affecter le port USB de l’ordinateur et endommager
la carte mère. Afin d’éviter tout cela, je vous conseille d’utiliser un concentrateur

Exploration de la carte Arduino Uno Page 17


Introduction aux systèmes de commande à base de la carte Arduino

multiports USB pour brancher la carte à l’ordinateur comme le montre la figure


suivante :

Concentrateur Multiports USB

Support isolateur

Vers le port
USB de
l’ordinateur

Câble USB entre le concentrateur et la carte

Figure 14 : Utilisation d’un concentrateur USB pour connecter la carte à l’ordinateur

Dans ce cas-là le court-circuit attaquera le concentrateur et le port USB de l’ordinateur


sera protégé.

Je profite aussi de cette occasion pour vous dire qu’il est totalement déconseillé de
poser la carte directement sur un support métallique, ou une table pleine de fils
dénudés, ceci provoquera un court-circuit évidement. A fin de remédier à ça, il faut
utiliser des tampons en caoutchouc ou des écarteurs en les insérant sur les 4 trous
forés de 3mm de diamètre sur la carte, ou bien fixer avec des vis la carte sur un
support isolateur en plastique.

Port de communication USB :

En principe, un projet à base d’Arduino se devise en deux parties :

Exploration de la carte Arduino Uno Page 18


Introduction aux systèmes de commande à base de la carte Arduino

Une partie dédiée à la réalisation du montage électrique, tandis qu’une autre consacrée au
développement du programme. La programmation s’effectue à travers un environnement
dans lequel vous allez éditer le programme, de le compiler et le transmettre en suite via le
port USB au microcontrôleur. L’opération de transfert et de chargement du programme est
assurée par le chargeur d’amorçage (bootloader), c’est un petit logiciel installé dans une
zone de la mémoire flash du µc.

L'ATmega328P sur l'Arduino Uno est préprogrammé avec un chargeur de d’amorçage qui
vous permet de télécharger du nouveau code sans l'utilisation d'un programmateur
matériel externe.

Les entrées/sorties :

Les entrées/sorties de la carte jouent le rôle d’une interface de communication avec


l’extérieur et permettent d’échanger des données avec le microcontrôleur.

Leur principe de fonctionnement est illustré dans le schéma ci-dessous :

Entrée Microcontrôleur Sortie

Capteur Actionneur

Figure 15 : Schéma fonctionnel des entrées/sorties de la carte Arduino

En général, le rôle d’une entrée de la carte Arduino est de recevoir des informations
provenant d’un capteur (bouton poussoir, capteur de température, potentiomètre,
résistance photo-électrique…etc.) et les transmettre au µc qui réagit, selon le programme
de travail contenu dans sa mémoire pour commander la sortie. Cette dernière peut être
liée à un actionneur comme un servomoteur ou bien un dispositif lumineux ou sonore.

Exploration de la carte Arduino Uno Page 19


Introduction aux systèmes de commande à base de la carte Arduino

Rappelons que la carte Arduino ne peut commander un actionneur de puissance


directement, d'où la nécessité d'un pré-actionneur (relais, transistor de puissance…etc.).

Les entrées/sorties numériques :

Une entrée/sortie est une connexion physique,


une "broche", sur laquelle vous pouvez venir
câbler quelque chose, comme un bouton, un
capteur, un voyant, etc. Figure 16 : Broches d’entrées/sorties
numériques de la carte Uno

Une entrée / sortie numérique peut prendre l’un des trois états physiques suivant : "haut"
(HIGH), "bas" (LOW) ou "haute impédance" (INPUT).

L'état "haut" (HIGH) signifie que la broche génère un signal. Cet état se traduit
généralement par une tension de 5 volts en sortie de la broche avec une carte Arduino
classique.

L'état "bas" (LOW) signifie que la broche ne génère pas de signal. Cet état se traduit
généralement par une tension de 0 volt en sortie de la broche.

L'état "haute impédance" (INPUT) est un état un peu particulier. Dans cet état, la broche
ne génère aucun signal. L'état "haute impédance" signifie que la broche est "en lecture"
(en entrée). C'est cet état qui permet de "lire" un bouton par exemple.

La carte Uno dispose de 14 broches d’entrées/sorties numériques (figure 16). Chaque


broche est programmable soit en entrée ou bien soit en sortie selon les besoins.

La numérotation des broches commence de 0 jusqu’à 13. C’est indispensable de connaitre


le numéro de la broche à utiliser pour pouvoir communiquer avec lui lors de la
programmation.

Les deux premières broches 0 (RX : réception) et 1 (TX : transmission), ont une deuxième
fonction et sont utilisées par l’interface série de la carte.

Exploration de la carte Arduino Uno Page 20


Introduction aux systèmes de commande à base de la carte Arduino

Les entrées analogiques :

Un signal analogique est un signal qui varie dans le temps et pouvant prendre une infinité
de valeurs intermédiaires comme le montre l’exemple dans le graphique ci-dessous.

Figure 17 : Evolution d’un signal analogique en


fonction du temps

On voit que son évolution est totalement différente


d’un signal numérique où seule une alternative entre
niveau ‘HIGH’ et ‘LOW’ est possible. Afin de traiter ce
type de signaux, notre carte dispose d’entrées
Figure 18 : Broches d’entrées
analogiques. analogiques de la carte Uno

En électronique numérique, on travaille avec des bits et des octets. En analogique, on


travaille avec des grandeurs physiques : tension, courant, résistance, fréquence, etc.

Pour pouvoir exploiter des mesures analogiques avec le microcontrôleur, il faut convertir
la mesure analogique en une grandeur numérique. C'est justement le but des
convertisseurs analogique/numérique (CAN ou ADC : Analog to Digial Conveter en
anglais).

Un convertisseur analogique/numérique permet de mesurer une tension (valeur


analogique) et de représenter cette tension au moyen d'une valeur numérique (nombre
entier). L'idée est d’associer une valeur numérique pour chaque valeur analogique d'une
plage de tension bien précise.

Exploration de la carte Arduino Uno Page 21


Introduction aux systèmes de commande à base de la carte Arduino

Arduino Uno possède un convertisseur analogique/numérique avec une résolution de 10


bits, il peut mesurer une tension analogique reçu sur une entrée analogique et renvoyer
une valeur numérique comprise entre 0 et 1024.

Pourquoi une valeur comprise entre 0 et 1023?

Ceci est dû à la résolution du CAN( . La résolution est le degré auquel quelque


chose peut être représenté numériquement. Plus la résolution est élevée, plus est grande la
précision avec laquelle quelque chose peut être représenté. Nous mesurons la résolution en
termes de nombre de bits de résolution.

Par exemple, une résolution de 1 bit n'autoriserait que deux valeurs ( ) : zéro et un. Une
résolution de 2 bits permettrait quatre valeurs ( ) : 0, 1, 2 et 3. Si nous essayions de
mesurer une plage de 0-5 volts avec une résolution de 2 bits, et que la tension mesurée
était de 4 volts, notre CAN afficherait une valeur numérique de 3, car 4 volts se situent
entre 3,75 et 5V. Il est plus facile d'imaginer cela avec la figure suivante:

Figure 19 : Représentation d’une plage de tension


analogique de 0- 5v avec un CAN de résolution 2bits

Donc, avec notre exemple CAN avec une résolution de 2 bits, il ne peut représenter la
tension qu’avec quatre valeurs résultantes possibles. Si la tension d'entrée est comprise
entre 0 et 1,25, le CAN renvoie le 0 numérique; si la tension est comprise entre 1,25 et 2,5,
le CAN renvoie une valeur numérique de 1. Et ainsi de suite.

Exploration de la carte Arduino Uno Page 22


Introduction aux systèmes de commande à base de la carte Arduino

Remarque : Si vous délivrez à une entrée analogique une tension supérieure à 5v, vous
risquez de griller ce canal ou bien d’endommager complètement le microcontrôleur de la
carte. Vérifiez-vous toujours sous quelles tensions vous travaillez.

Les sorties analogiques :

Sous certains chiffres des entrées/sorties numériques se trouve un symbole (⁓) appelé
tilde, indiquant que la broche est commutable en sortie analogique, il s’agit là d’une
broche MLI. Les broches 3, 5, 6, 9, 10, et 11 peuvent alors, être servi comme sorties
analogiques grâce à la technique de modulation de largeur d’impulsion (MLI ou PWM).

Un signal MLI (Figure 20) est un signal d’amplitude de tension et de fréquence constantes,
on peut faire varier la largeur d’impulsion de ce signal en changeant la valeur d’un
paramètre dit « rapport cyclique ». Plus l’impulsion est large plus la sortie reçoit d’énergie.

Rapport cyclique

Figure 20 : Durée d’impulsion et de la période dans un signal PWM

L’interface série :

Les cartes Arduino telles que les cartes Uno, MEGA2560 et Due ont toutes un port série
matériel qui utilise le port USB de la carte. Ce port permet de charger des sketchs sur la
carte à l'aide d'un câble USB. Le code d’un sketch peut utiliser le même port USB/série
pour communiquer avec le PC en utilisant une fenêtre du moniteur de l’interface série ou
une application de traitement par exemple. Le port USB apparaît en tant que port COM
virtuel sur le PC.

Exploration de la carte Arduino Uno Page 23


Introduction aux systèmes de commande à base de la carte Arduino

L'Arduino Uno n'a qu'un seul port série, car le microcontrôleur utilisé sur l'Uno ne possède
qu'un seul port série intégré. L'Arduino MEGA 2560 et Arduino Due ont tous les deux 3
ports série supplémentaires.

Cette figure montre le seul port série disponible sur l'Arduino Uno encadré en rouge.

Figure 21 : Port série de la carte Uno

Ce type de communication avec votre carte Arduino peut être utile dans de nombreux cas :

Pour entrer des données pendant l’exécution d’un sketch.


Pour afficher des données pendant l’exécution d’un sketch.
Pour imprimer certaines informations pendant l’exécution du sketch, afin de
rechercher des erreurs.

Programmation de la carte Arduino Uno :

Arrivant à cette partie, nous allons découvrir l'environnement de développement


Arduino/Genuino. Nous verrons comment télécharger et installer l'environnement de
développement et nous nous intéresserons aux diverses fonctionnalités et boutons dont
dispose celui-ci. En bonus, nous étudierons ensuite la structure d’un programme Arduino.

L'environnement de développement Arduino/Genuino :

Pour la programmation de la carte Arduino, nous disposons d’un environnement de


développement appelé IDE (Integrated Development Environment), au moyen duquel en
entre directement en contact avec la carte et on charge le programme dans la mémoire du
microcontrôleur. Un programme est appelé sketch dans le contexte Arduino.

Installation de L’IDE Arduino/Genuino :

Pour télécharger l'environnement de développement Arduino, rendez-vous sur le site


officiel d’Arduino/Genuino [Link], puis cliquez sur l’onglet SOFTWARE.

Programmation de la carte Arduino Page 24


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Figure 22 : Page d’accueil de [Link]

Sur cette page de téléchargement, vous trouverez différentes versions de l’IDE. Etants
utilisateurs de Windows, La version qui nous intéresse se trouve dans l'encadré en haut de
page (figure ci-dessous). Cliquez là-dessus pour obtenir la dernière version de l’[Link]
serez automatiquement redirigé vers une page vous proposant de soutenir le projet
Arduino. Libre à vous de soutenir ou non le projet Arduino et vous pouvez cliquer sur "Just
download" pour télécharger le logiciel gratuitement. Le téléchargement commence.

Figure 23 : Page de téléchargement de l’IDE Arduino

Programmation de la carte Arduino Page 25


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Une fois le téléchargement est terminé, allez-vous sur le dossier de téléchargement et vous
lancez le fichier [Link], poursuivez l'installation et autorisez le processus
d'installation du pilote lorsque vous recevez un avertissement du système d'exploitation.
Vous voyez alors la liste des composants qui seront installées :

Figure 24 : Liste des composants à installer

Choisissez le répertoire d'installation (je vous conseille de garder le répertoire par défaut) :

Figure 25 : Choix du chemin d’installation de l’IDE

Le processus va extraire et installer tous les fichiers requis pour exécuter correctement le
logiciel Arduino IDE.

Figure 26 : Extraction des fichiers pour l’installation de l’IDE

Programmation de la carte Arduino Page 26


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Une fois l’installation est achevée, fermez la fenêtre.


Lorsque vous raccordez votre carte Arduino Uno avec votre ordinateur via un cable USB
(figure), elle doit désormais apparaître dans le gestionnaire de périphérique dans la
catégorie Port (COM et LPT) (figure).

Figure 27 : Apparition de la carte Uno Figure 28 : Câble USB à utiliser pour


dans le gestionnaire de périphériques relier l’ordinateur avec la carte Uno

Pour lancer l’IDE, allez dans le menu démarrer ou dans votre bureau et cliquez sur l’icône
de l’IDE Arduino, vous attendez un moment, Une fois l'environnement de développement
lancé, vous devriez vous retrouver devant la fenêtre ci-dessous (figure). Il s'agit de
l'interface principale de l'environnement de développement Arduino.

Figure 29 : Ecran principal de l’IDE d’Arduino

Programmation de la carte Arduino Page 27


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Prise en main de l'environnement de développement :

Figure 30 : Composants de l’écran principal de l’IDE


d’Arduino

En l’observant de plus près, vous pourrez remarquer différentes zones, nous allons les
passer toutes en revue, en partant du haut de la fenêtre vers le bas.

L'écran principal de l'environnement de développement Arduino est composé de 5 parties


(figure) :

1 : Une barre de menus.

2 : Une barre d’îcones.


3 : Une barre d'onglets.
4 : Une zone d'édition.
5 : Une zone d'information et de statut.

Chacune de ces parties a une fonctionnalité bien précise que nous allons voir ensemble
immédiatement.

Programmation de la carte Arduino Page 28


Uno
Introduction aux systèmes de commande à base de la carte Arduino

La barre de menu :

Dans la barre de menu, vous trouverez les différents menus grâce auxquels vous pourrez
appeler certaines fonctions de l’IDE.
La barre d’icônes :

La série des icônes sous la barre de menu permet de réaliser diverses actions extrêmement
communes rapidement, d'un simple clic de souris.

L’icône "vérifier", permet de compiler le programme, sans le transférer sur la carte


Arduino. Cet icône est très utile pour détecter les erreurs de syntaxe durant
l'écriture d'un programme. Il suffit de cliquer dessus et en cas d'erreur de syntaxe,
l'erreur s'affiche dans la zone d'information.

L’icône "téléverser", permet de compiler le programme, puis de le transférer dans la


carte Arduino.

L’icône "nouveau", permet d'ouvrir un nouveau projet de programme Arduino.

L’icône "ouvrir", permet d'ouvrir un projet de programme Arduino existant.

L’icône "sauvegarder", permet de sauvegarder le projet de programme Arduino en


cours d'édition.

L’icône "moniteur série", permet d'ouvrir le moniteur série pour communiquer avec
la carte Arduino.

Les onglets :

Figure 31 : Onglet de l’écran principal de l’IDE Arduino

Programmation de la carte Arduino Page 29


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Un projet de programme Arduino se compose d'un certain nombre de fichiers de code


source. La plupart des projets Arduino se composent d'un unique fichier de code source,
mais certains gros projets sont souvent découpés en plusieurs fichiers pour être plus
facilement lisibles.

Chaque fichier du projet est présenté dans l'environnement de développement par un


onglet. La petite flèche à droite (figure précédente) des onglets permet de gérer ceux-ci.

Il est ainsi possible d'ajouter un nouveau fichier de code source, de renommer ou


supprimer un fichier existant, ou encore de naviguer dans les différents fichiers.

Le nombre de fichiers de code source peut être supérieur à ce que votre écran peut
afficher. Il est alors très pratique d'utiliser les raccourcis "Onglet précédent", "Onglet
suivant" et la liste d'onglet proposé par le menu flèche.

La zone d’édition :

Figure 32 : Zone d’édition du programme de l’IDE

La zone d’édition qui est pour le moment encore complètement vierge (figure 32), est
l’endroit où vous pouvez rédiger vos sketchs. Vous y saisissez le code source ainsi que les
instructions qui conduiront le microcontrôleur à faire ce que vous voulez. La structure
générale d’un sketch Arduino est représentée par l’organigramme de la figure suivante :

Programmation de la carte Arduino Page 30


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Figure 33 : Structure générale d’un sketch Arduino

Un sketch Arduino se compose de 3 blocs :

Bloc 1 (déclaration et initialisation) :

Les variables sont généralement déclarées au début d'un programme immédiatement


après les commentaires d'introduction. Toutes les variables que vous utilisez dans votre
code doivent être listées ici, avant les fonctions setup() et loop(). Cette déclaration permet
de définir le type de donnée de la variable.

Lors de l’initialisation en revanche, la variable reçoit une valeur.

Bloc 2 (la fonction setup) :

La fonction setup permet la plupart du temps de configurer les différentes broches de la


carte. On définit ainsi quelles broches doivent servir d’entrées et de sorties. On place
typiquement dans le corps de cette fonction tout ce qui touche à l'initialisation du matériel
(entrées, sorties, capteurs, etc.) La fonction setup () ne s'exécute qu'une seule fois, après
chaque mise sous tension ou réinitialisation de la carte Arduino.

Programmation de la carte Arduino Page 31


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Bloc 3 (la fonction loop) :

La fonction loop() fait exactement ce que son nom suggère (boucle en français), elle boucle
de façon consécutive et sans fin, permettant à votre programme de changer et de
répondre.

Chacune des deux fonctions forment ensemble avec son nom un bloc d’exécution identifié
par des accolades {}. Celles-ci servent d’éléments délimiteurs pour savoir où la définition
de la fonction commence et où elle s’arrête. En général la structure des deux fonctions
setup() et loop() dans un sketch est illustré dans l’exemple suivant :

void setup() {

// Une ou plusieurs instructions

//…

void loop() {

// Une ou plusieurs instructions

//…

La zone d’information et de statut :


Tout en bas de la fenêtre principale se trouve une zone d'information, sur fond noir.

Figure 34 : Zone d’information après une compilation réussie

Cette zone d'information affiche diverses informations sur le programme, les erreurs de
compilation, le transfert du programme, etc.

Figure 35 : Zone d’information indique la présence d’une erreur

Programmation de la carte Arduino Page 32


Uno
Introduction aux systèmes de commande à base de la carte Arduino

En cas d'erreur, vous trouverez dans cette zone d'information, toutes les informations
nécessaires pour résoudre les erreurs de syntaxes et autres problèmes de transfert.

Si une ligne d'erreur est fournie par le compilateur, celle-ci sera mise en surbrillance dans
la zone d'édition (figure 35).

Transmission du sketch sur la carte Arduino :

En résumé, la transmission du sketch s’effectue en 4 étapes :

Etape 1 :

Une vérification du code du sketch est faite par l’IDE afin d’assurer que la syntaxe est
correcte.

Etape 2 :

Le code est ensuite envoyé au compilateur qui transforme le code source de votre sketch
Arduino en fichier binaire (au format Intel HEX) compréhensibles par le microcontrôleur
de la carte : c’est le code machine.

Etape 3 :

Le chargeur d’amorçage (bootloader) transmet le fichier HEX, via USB, à la mémoir flash
du microcontrôleur.

Sélection de la carte Arduino Uno :

Une fois votre sketch est achevé, vérifié et compilé avec succès, vous pourriez le
transmettre au microcontrôleur de votre carte. Première des choses, vous devriez
sélectionner le type de la carte avec laquelle vous travaillez (Arduino Uno dans ce cas).
Pour ce faire allez-vous dans le menu Outils de l’IDE, choisissez ‘Type de carte’ et cochez la
carte ‘Arduino/Genuino Uno’ (figure 36).

Programmation de la carte Arduino Page 33


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Figure 36 : Sélection de la carte Arduino Uno dans le menu ‘Outils’

Sélection de port série :

Afin de pouvoir entrer en communication avec votre carte, vous devriez sélectionner le bon
port COM. Vous restez toujours dans le menu Outils et vous sélectionnez ‘Port’ et cochez le
même port COM apparaissant dans votre gestionnaire de périphériques. Dans mon cas le
port COM4 sur lequel ma carte est branchée, est détecté (figure 37).

Figure 37 : Sélection du port de la carte Uno

Vous pouvez ensuite transmettre tranquillement le sketch sur la carte en cliquant sur
l’icône ‘téléverser’.

Pendant le téléchargement du sketch, les trois petites LED lumineuses qui se trouvent sur
la carte Uno réagissent :

Programmation de la carte Arduino Page 34


Uno
Introduction aux systèmes de commande à base de la carte Arduino

Figure 38 : Les trois LED lumineuses de la carte Uno

LED L : Reliée à la broche numérique 13, elle s’allume brièvement lorsque la


transmission commence.
LED TX : Ligne émettrice de l’interface série de la carte, elle clignote pendant la
transmission.
LED RX : Ligne réceptrice de l’interface série, elle clignote pendant la transmission.

La ligne émettrice (TX) est matériellement liée à la broche numériques 1 et la ligne


réceptrice à la broche numérique 0.

Le moniteur série :

Le moniteur série a pour but de communiquer avec la carte Arduino connectée au PC.
Celui-ci permet de transmettre et/ou recevoir des informations de la carte Arduino sous
forme de texte.

Figure 39 : Fenêtre principale du moniteur de l’interface série

Ce moniteur série est très utile lors de la conception d'un programme Arduino pour faire
des tests. En affichant dans son écran des variables ou de simples chaines de caractères, il
est possible de voir où son programme plante, se bloque, etc.

Programmation de la carte Arduino Page 35


Uno

Vous aimerez peut-être aussi