chapitre(1)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

Chapitre I

I. généralité sur l'Arduino


L'Arduino est une plateforme open source de développement d'électronique, basée sur des
microcontrôleurs programmables. Elle a été développée en 2003 par un groupe d'étudiants
de l'Interactive Design Institute d'Ivrea en Italie, dirigé par Massimo Banzi, David Cuartielles,
Tom Igoe, Gianluca Martino et David Mellis.

La plateforme a été conçue pour rendre l'électronique plus accessible et facile à utiliser pour
les amateurs et les professionnels. Elle offre une grande flexibilité et peut être utilisée dans
une variété de projets, allant de la domotique à la robotique en passant par les projets
artistiques et les prototypes.

L'Arduino se compose d'une carte électronique programmable, de logiciels de


développement et d'une communauté active d'utilisateurs et de développeurs qui
partagent des connaissances et des projets. La carte Arduino est équipée d'entrées et de
sorties, de ports de communication et d'un processeur qui peut être programmé à l'aide
d'un logiciel de développement spécifique.

La popularité de l'Arduino s'explique en grande partie par sa facilité d'utilisation et son


faible coût, qui permettent à des personnes avec peu de connaissances techniques en
électronique d'explorer et de créer des projets innovants. Elle est également très flexible et
peut être étendue avec de nombreux modules et capteurs disponibles sur le marché.

Aujourd'hui, la communauté Arduino est très active et compte des milliers de projets open
source partagés en ligne. Il existe également une grande variété de cartes et de kits Arduino
disponibles sur le marché, chacun ayant des fonctionnalités et des spécifications uniques
pour répondre aux besoins de différents types de projets.

II. historique d’Arduino


Pour clore cet avant-propos, je vous propose un petit rappel historique sur les débuts
d’Arduino. Comment en sommes-nous arrivés là ? En 2005, un projet dont personne n’avait
imaginé les conséquences fut lancé à l’Interactive Design Institute Ivrea, à Ivrée en Italie.
Une plaque de prototypage fut développée pour donner aux étudiants un moyen simple de
concevoir des produits innovants. Un nom revient sans cesse dans ce contexte, celui de
Massimo Banzi. C’est l’un des codéveloppeurs et cofondateurs de la société Arduino LLC.
Pour l’anecdote, le nom Arduino a été emprunté à un bar d’Ivrée où se réunissaient
régulièrement les instigateurs du projet. La philosophie qui a motivé toute l’affaire est la
simplification et la facilitation de l’accès à l’univers de l’électronique et des microcontrôleurs
afin que chacun puisse l’utiliser sans être pour autant un spécialiste de ces domaines. La
grande disponibilité et le coût modique de la carte Arduino, ainsi que des composants et
modules électroniques, ont également contribué à la popularité rapide de la carte. Pour
finir, je vous présente votre guide, qui se prénomme Ardus. Il sera présent à vos côtés tout

Chapitre I Page 1
Chapitre I

au long de ce livre et posera les questions que personne n’ose poser. Il était déjà présent
dans les précédentes éditions de ce livre et il a un peu changé. Comme celle de l’auteur, sa
chevelure s’est quelque peu clairsemée, signe que le temps a aussi prise sur lui. Le moment
est venu que je vous abandonne à votre destin et que je me retire sur la pointe des pieds.
Bon divertissement et bonne réussite dans la découverte de l’univers de l’électronique avec
votre carte Arduino.

III. Définition de la platine Arduino


La platine Arduino est une carte électronique open-source conçue pour faciliter la
création de projets électroniques interactifs. Elle est basée sur un microcontrôleur
ATmega328, qui est programmé à l'aide d'un environnement de développement
intégré (IDE) basé sur la programmation en langage C++. La platine Arduino dispose
de nombreux ports d'entrée/sortie pour connecter des capteurs, des actionneurs et
d'autres composants électroniques. Elle peut être alimentée par une source
d'alimentation externe ou par un port USB. Elle est compatible avec une grande
variété de modules d'extension, appelés "shields", qui peuvent être ajoutés pour
ajouter des fonctionnalités supplémentaires. La platine Arduino est largement utilisée
dans le domaine de l'éducation, de la recherche et du développement, et est
également populaire auprès des amateurs et des artistes. Elle est utilisée dans de
nombreux projets, tels que les robots, les systèmes de contrôle, les dispositifs de
mesure, les systèmes de domotique, les jeux interactifs et bien plus encore.

IV. Les différentes cartes Arduino :


Le système Arduino est une plateforme open source qui repose sur une carte
programmée par microcontrôleur et un environnement de développement (SDK) qui
permet d'écrire, de compiler et de tester des programmes. Les cartes et modules
Arduino disposent d'entrées-sorties qui peuvent être utilisées pour recevoir des
signaux provenant de capteurs ou d'interrupteurs et pour commander des moteurs,
des éclairages, et bien plus encore. Il convient de noter que «Arduino» n'est pas un
type spécifique de carte ou de microcontrôleur, mais plutôt une famille complète de
dispositifs. Par conséquent, le choix de la carte Arduino qui convient le mieux à votre
projet peut s'avérer difficile, et il est important de prendre le temps de réfléchir à
celle que vous allez utiliser. Dans cet article, nous allons explorer les différents types
de cartes Arduino disponibles et leurs applications respectives, notamment Arduino
ONE, Arduino Nano, Arduino Due, Arduino Mega et Arduino Leonardo.

Chapitre I Page 2
Chapitre I

1. Arduino UNO :
Si vous débutez avec un Arduino, vous utiliserez nécessairement cette carte car ele est très
peu couteuse (environ 25 euros au moment où ces lignes sont écrites) et. à moins que votre
application nait des besoins très particuliers nécessitant le recours A un Arduino Mega 2560,
elle peut couvrir la majorité des besoins. Bien que la version actuelle de cette carte en soità
sa Révision 3 au moment où ces lienes sont écrites, de nombreuses cartes en Révision I ou2
sont encore en circu larion et nous les traiterons donc toutes ensemble ci-dessous, étant
entendu que la Révision 3 ne differe des précédentes que par quelques points de détail que
nous mettrons en évidence lorsque ce sera nécessaire.

2. Arduino Nano :

L'Arduino Nano est une version compacte de l'Arduino UNO qui s'avère très utile
dans les espaces restreints ou les projets qui nécessitent une réduction de poids, tels
que les projets de modélisme ou les projets DIY portables. Tout comme l'UNO, le
Nano est équipé d'un processeur Atmega328 fonctionnant à 16 MHz, de 32 Ko de
mémoire programme, de 1 Ko d'EEPROM, de 2 Ko de RAM, de 14 entrées-sorties
numériques, de 6 entrées analogiques, ainsi que de rails d'alimentation 5V et 3,3V. Il
convient de noter que les anciennes cartes Arduino Nano utilisent l'ATmega168 qui
possède la moitié des spécifications. Contrairement au système UNO, le Nano ne
peut pas être connecté aux platines de prototypage. De plus, les cartes Arduino
Nano sont souvent plus abordables que les autres cartes Arduino, ce qui les rend
économiques pour les projets de grande envergure.

3. Arduino Due :

L'Arduino Duese distingue des autres cartes Arduino par sa taille plus importante et
par le fait qu'elle soit la première carte Arduino à être équipée d'un processeur ARM.
Contrairement aux cartes UNO et Nano qui fonctionnent à 5V, la carte Due
fonctionne à 3,3V, ce qui est crucial à savoir car une surtension pourrait endommager
irrémédiablement la carte. Grâce à son processeur Cortex-M3 ATSAM3X8E cadencé à
84 MHz, la carte Due dispose de 512 Ko de ROM et de 96 Ko de RAM, de 54 broches
d'E/S numériques, de 12 canaux PWM, de 12 entrées analogiques et de 2 sorties
analogiques. Cependant, il est important de noter que la carte Due ne dispose pas de
mémoire EEPROM intégrée et qu'elle est l'une des cartes Arduino les plus chères.
Malgré le grand nombre de broches disponibles pour connecter les E/S numériques,
la carte Due reste compatible avec les broches Arduino standard.

Chapitre I Page 3
Chapitre I

4. Arduino Mega 2560 :

L'Arduino Mega 2560partage certaines similarités avec le modèle Due en raison de


sa capacité à offrir 54 E/S. Toutefois, contrairement à la version Due qui est dotée
d'un cœur ARM, l'Arduino Mega 2560 fonctionne avec un ATmega2560. Ce dernier
est cadencé à 16 MHz et offre une capacité de stockage de 256 Ko de ROM, 8 Ko de
RAM et 4 Ko d'EEPROM, et peut être alimenté à une tension de 5 V pour faciliter son
utilisation avec la plupart des équipements électroniques grand public. En outre,
l'Arduino Mega 2560 propose 16 entrées analogiques, 15 canaux PWM et une
disposition de broches similaire à celle du modèle Due. Le hardware de l'Arduino
Mega 2560 est également compatible avec les shields Arduino. Cependant, il
convient de noter que, comme pour le modèle Due, la compatibilité logicielle avec
l'Arduino Mega 2560 n'est pas garantie dans tous les cas

5. Arduino Leonardo :
La carte Arduino Leonardo est équipée d'un microcontrôleur ATMega32u4 fonctionnant à
16 MHz, qui lui permet de gérer le port USB à l'aide d'un seul processeur. Elle est également
dotée de connecteurs sur les bords extérieurs de la carte pour y brancher une série de
modules supplémentaires. Elle peut être programmée à l'aide du logiciel Arduino. La gestion
du port par le contrôleur ATMega32u4 offre une grande flexibilité dans la communication
avec un ordinateur. Les caractéristiques principales de la carte Arduino Leonardo sont les
suivantes : elle peut être alimentée via le port USB ou par un connecteur d'alimentation de
7 à 12 V, elle est équipée d'un microprocesseur ATMega32u4, de 32 kB de mémoire flash,
de 2,5 kB de mémoire SRAM et de 1 kB de mémoire EEPROM. Elle possède également 20
broches d'E/S, dont 6 PWM, 6 entrées analogiques 10 bits, une intensité par E/S de 40 mA,
un cadencement de 16 MHz, un bus série, I2C et SPI, ainsi que la gestion des interruptions.
Elle est munie d'une fiche micro USB et ses dimensions sont de 70 x 54 x 15 mm. Cette carte
est prête à l'emploi. L'environnement Arduino est un outil très pratique pour apprendre la
programmation ou pour réaliser des projets DIY. Cependant, depuis quelques années, il
existe des produits spécifiques plus faciles à utiliser, comme Mysensor, qui permet de
réaliser les mêmes tâches qu'avec une carte Arduino, mais avec un Raspberry Pi et sans
nécessiter beaucoup de code.

V. La carte Arduino Uno


Le module Arduino-UNO s'articule autour d'un microcontróleur ATmel" et sa fabrication
provient d'ltalie, pour la version originale. Celui qui nous intéresse :'Arduino-UNO R3 (pour
version 3) utilise un ATmega 328P, cadencé à 16 MHz, vitesse très confortable pour un
composant destiné au grand public. Celui-ci se présente au format DIL étroit à 28 broches

Chapitre I Page 4
Chapitre I

pour l'unité centrale et un autre en composant de surface (CMS) pour le convertisseur USB.
Vous l'avez certainement compris, I'interface de programmation USB est intégrée au
module. Aucun frais supplémentaire à envisager de ce côtć, un simple câble suffit. Du côté
technique, voici les principales caractéristiques.

 Alimentation en 5V via le port USB ou en 7V à 12V sur un connecteur d'alimentation


de 2,1 mm de diamètre.
 Microcontrôleur : Atmega 328P
 Mémoire flash (de stockage du croquis) : 32 kB
 Mémoire vive SRAM (pour les variables par exemple): 2 kB
 Mémoire EEPROM (pour les donnés non volatiles) :1 kB
 14 broches d'E/S dont 6 PWM ou MLI (Modulées en Largeur d'lmpulsion)
 6 entrées analogiques 10 bits (de 0 à 1023)
 Intensité par E/S : 40 mA maxi et mieux vaut ne pas dépasser 20 mA avec une valeur
totale de 200 mA pour l'ensemble.
 Cadencement : quartz de 16 MHz
 Bus de communication sériel:IC et SPI
 Gestion des interruptions
 Embase USB-B pour la programmation ct la communication avec l'ordinatcur
(moniteur sériel).
 Dimensions : 74 mm x 53 mm x 15 mm

Pour l'alimentation directe par le port USB il est préférable de limiter la consommation à
300 mA. Les modules Arduino présentent le grand intérêt d'ètre développés en « open-
source ».

Pour rester simple, sachcz quc les schémas, les programmes ct tout ce qui les concerne est
en libre téléchargement sous licence "Creative Commons"
Chapitre I Page 5
Chapitre I

A. Le microcontrôleur ATmega328 :

Le microcontrôleur ATmega328 est un microcontrôleur 8 bits à usage général


fabriqué par Microchip Technology (anciennement Atmel) et utilisé dans de
nombreuses applications électroniques telles que les projets DIY, les contrôleurs de
robotique, les capteurs, etc. Il possède une mémoire flash de 32 Ko, une SRAM de 2
Ko et une EEPROM de 1 Ko.

B. L’alimentation :

Le Microcontrôleur qui est équipé sur les cartes est alimenté sous une tension de 5
volts. Cette tension peut être fournie de deux manières : soit à partir de la prise USB
présente sur les cartes lorsqu'elles sont connectées à un ordinateur, soit à partir d'un
bloc secteur externe via le jack standard présent également sur la carte. Si la tension
est fournie via le bloc secteur, elle doit être comprise entre 7 et 12 volts, mais elle n'a
pas besoin d'être stabilisée car un régulateur de tension est présent sur les cartes. De
plus, les régulateurs montés sur les cartes Arduino génèrent deux tensions
stabilisées, à savoir 5 volts et 3,3 volts. Ces deux tensions sont disponibles sur les
connecteurs situés sur le pourtour des cartes pour alimenter les shields (les cartes
d'interface). Il est toutefois important de ne pas dépasser le courant maximum que
peuvent fournir ces régulateurs, qui est de 50 mA pour la sortie 3,3 volts. En ce qui
concerne la sortie 5 volts, le courant maximum n'est pas précisé par le fabricant.

C. Reset :
Toutes les cartes Arduino actuelles sont dotées d'un bouton poussoir de reset manuel, qui
permet de redémarrer l'exécution d'un programme si nécessaire. Cependant, il existe
également deux autres sources de reset sur les cartes Arduino. La première est un reset
automatique à la mise sous tension, qui permet au programme contenu en mémoire du
microcontrôleur de démarrer automatiquement dès que la carte Arduino est alimentée. La
deuxième source de reset est plus discrète et n'est généralement utilisée qu'en phase de
développement de programme. En effet, lorsque l'on a fini d'écrire un programme destiné à
l'Arduino sur le micro-ordinateur utilisé à cet effet (PC), il est nécessaire de programmer la
mémoire du microcontrôleur de l'Arduino avec ce programme. Pour ce faire, on utilise un
petit programme spécial appelé "bootloader", qui est déjà contenu dans la mémoire du
microcontrôleur. Le processus fonctionne de la manière suivante : après un reset, le
bootloader est activé et attend de recevoir des informations de programmation via le port
USB de l'Arduino. S'il ne reçoit pas ces informations, il lance l'exécution du programme déjà
contenu en mémoire du microcontrôleur, ce qui démarre l'application correspondante. En
revanche, s'il reçoit les données de programmation via le port USB, il utilise ces données
pour programmer la mémoire de programme du microcontrôleur.

Chapitre I Page 6
Chapitre I

VI. Les entrées/sorties :


Les éléments de l'Arduino avec lesquels vous interagirez le plus souvent sont les
entrées/sorties. C'est grâce à eux que le microcontrôleur de l'Arduino est capable de
communiquer avec le monde extérieur, ainsi qu'avec les cartes d'interface ou shields,
qu'ils soient commerciaux ou conçus par vous-même.

1) Entrées/sorties numériques :

Il est possible d'utiliser jusqu'à 14 lignes d'entrées/sorties numériques parallèles,


numérotées de 0 à 13, qui peuvent fonctionner comme entrées ou sorties selon les
besoins du programme. Les signaux logiques transmis sur ces lignes sont
compatibles TTL, c'est-à-dire qu'ils sont compris entre 0 et 5 volts. Chaque ligne peut
absorber ou délivrer un courant maximal de 40 mA, mais la somme totale du courant
fourni ou absorbé par l'ensemble des sorties ne doit pas dépasser 200 mA.
Cependant, certaines interfaces spécialisées incluses dans le microcontrôleur
partagent leur fonction avec ces lignes d'entrées/sorties parallèles. Si ces interfaces
ne sont pas utilisées, les lignes fonctionnent normalement. Si ces interfaces sont
utilisées, les lignes d'entrées/sorties parallèles qui sont partagées avec elles ne sont
plus disponibles pour une utilisation normale. En conséquence, il est possible
d'utiliser une entrée (Rx) et une sortie (Tx) série asynchrone, qui sont partagées
respectivement avec les lignes 0 et 1. De plus, il y a deux entrées d'interruptions
externes partagées avec les lignes 2 et 3, ainsi que six sorties PWM (Pulse Width
Modulation ou modulation de largeur d'impulsions) partagées avec les lignes 3, 5, 6,
9, 10 et 11. Il existe également quatre entrées/sorties d'interface avec le bus série
normalisé de type SPI, réparties comme suit : /SS sur 10, MOSI sur 11, MISO sur 12 et
SCK sur 13, ainsi que deux entrées/sorties d'interface série I2C réparties comme suit :
SDA sur A4 et SCL sur A5. Toutes les entrées/sorties peuvent transmettre des signaux
numériques TTL, mais l'Arduino peut également traiter les signaux analogiques. Les
niveaux bas sont nuls et les niveaux hauts valent 5 volts.

2) Entrées analogiques :

Les entrées analogiques, identifiées sous les noms A0 à A5, permettent de recevoir
des tensions analogiques allant de 0 à 5 volts. Contrairement aux signaux logiques
mentionnés précédemment, ces entrées analogiques peuvent prendre n'importe
quelle valeur dans cette plage de tensions.

Chapitre I Page 7
Chapitre I

VII. La programmation ISP ou


programmation en circuit :
Certains microcontrôleurs nécessitent d'être retirés de leur application et placés sur
un programmateur spécifique pour être programmés, ce qui est connu comme la
méthode de programmation classique ou traditionnelle. Cependant, d'autres circuits
plus récents et performants permettent la programmation en circuit, également
appelée ISP (In System Programming) ou ICSP (In Circuit Serial Programming). Cette
méthode permet de programmer les microcontrôleurs directement sur le circuit, en
utilisant une liaison nettement plus pratique que celle utilisée pour la programmation
classique

VIII. L’environnement de développement :


Afin d'illustrer l'installation de l'environnement de développement, nous avons opté
pour la version destinée aux PC sous Windows (de XP à Huit). Cependant, les étapes
d'installation pour les versions Linux ou Mac sont similaires et si vous utilisez l'une de
ces deux configurations, vous n'aurez aucune difficulté à suivre le même processus
que pour la version Windows. Après l'installation de l'environnement de
développement, l'interface utilisateur est identique, que vous utilisiez Windows, Linux
ou Mac OS.

IX. L’IDE Arduino :


Le logiciel Arduino est un environnement de développement open source et gratuit,
qui peut être téléchargé depuis le site officiel d'Arduino. L’IDE Arduino permet :

 D’éditer un programme: des croquis (sketch en Anglais).


 De compiler ce programme dans le langage<<machine>> de l’Arduino.
 De téléverser le programme dans la mémoire de l’Arduino.
 De communiquer avec la carte Arduino grâce au terminal.

Chapitre I Page 8
Chapitre I

X. Structure générale d’un sketch :


Un programme Arduino est constitué d'une série d'instructions élémentaires
présentées sous forme textuelle, ligne par ligne. La carte lit ensuite ces instructions et
les exécute dans l'ordre spécifié par les lignes de code. Les commentaires sont
également utilisés en programmation informatique pour fournir des informations sur
le code source. Ils sont ignorés par le compilateur ou l'interpréteur car ils ne sont pas
destinés à influencer l'exécution du programme. La structure d'un programme
Arduino doit obligatoirement inclure deux fonctions principales :

 La fonction setup : La partie initialisation et configuration des entrées/sorties.


 La fonction loup : La partie principale qui s’exécute en boucle .
Par contre la partie déclaration des variables est optionnelle.

Chapitre I Page 9
Chapitre I

Bibliographie
Livres et articles
LE GRAND LIVRE D’ARDUINO

Maîtrisez sa programmation et ses cartes d'interface (shields)

Arduino programation visuelle

His to Rique pdf

Les sites web


Site officiel d'Arduino : https://www.arduino.cc/

"Getting Started with Arduino" par Massimo Banzi (O'Reilly Media, 2014)

"Arduino for Dummies" par John Nussey (Wiley Publishing, 2013)

Les sources utilisées pour cet article sont : Site officiel Arduino : https://www.arduino.cc/
Documentation technique Arduino : https://www.arduino.cc/en/Tutorial/HomePage Livres
sur l'Arduino, tels que "Getting Started with Arduino" de Massimo Banzi et "Arduino for
Dummies" de John Nussey. Articles de blogs et de forums en ligne, tels que le forum Arduino
: https://forum.arduino.cc/

Source Site web

https://maker.pro/arduino/tutorial/a-comparison-of-popular-arduino-boards

la source : la fiche technique officielle d'ATmega328P d'Atmel


https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega328P.pdf

Chapitre I Page 10

Vous aimerez peut-être aussi