Escolar Documentos
Profissional Documentos
Cultura Documentos
LP CONDORCET
La carte
ARDUINO UNO
I.
YOUNSI A.
1/ 14
EIE
LP CONDORCET
La carte ARDUINO
DOSSIER
Atmega328
Tension de fonctionnement
5V
Tension dalimentation
(recommande)
7-12V
6-20V
50 mA
Fonction de lalimentation utilise 500 mA max si
port USB utilis seul
32 KB (Atmega328) dont 0.5 KB sont utiliss par le
bootloader
2 KB (Atmega328)
1 KB (Atmega328)
Vitesse dhorloge
16 MHz
YOUNSI A.
2/ 14
EIE
LP CONDORCET
A. La partie logicielle
Le logiciel de programmation des modules Arduino est une application Java, libre et multiplateformes, servant dditeur de code et de compilateur, et qui peut transfrer le firmware et le
programme au travers de la liaison srie (RS232, Bluetooth ou USB selon le module). Il est galement
possible de se passer de linterface Arduino , et de compiler les programmes en ligne de commande.
Le langage de programmation utilis est le C++, compil avec avr-g++, et li la bibliothque de
dveloppement Arduino, permettant lutilisation de la carte et de ses entres/sorties. La mise en place
de ce langage standard rend ais le dveloppement de programmes sur les plates-formes Arduino,
toute personne maitrisant le C ou le C++.
B. La partie matrielle
Un module Arduino est gnralement construit autour dun microcontroleur ATMEL AVR
(Atmega328 ou Atmega2560 pour les versions rcentes, Atmega168 ou Atmega8 pour les plus
anciennes), et de composants complmentaires qui facilitent la programmation et linterfaage avec
dautres circuits. Chaque module possde au moins un rgulateur linaire 5V et un oscillateur
quartz 16 MHz
(ou
un
rsonateur
cramique
dans
certains
modles).
Le microcontrleur est pr-programm avec un boot loader de faon ce quun programmateur ddi
ne soit pas ncessaire.
Les modules sont programms au travers une connexion srie RS-232, mais les connexions
permettant cette programmation diffrent selon les modles. Les premiers Arduino possdaient un port
srie, puis lUSB est apparu sur les modles Diecimila, tandis que certains modules destins une
utilisation portable se sont affranchis de linterface de programmation, relocalise sur un module USBsrie ddi (sous forme de carte ou de cble).
LArduino utilise la plupart des entres/sorties du microcontrleur pour linterfaage avec les
autres circuits. Le modle Diecimila par exemple, possde 14 entres/sorties numriques, dont 6
peuvent produire des signaux PWM, et 6 entres analogiques. Les connexions sont tablies au travers
de connecteurs femelle HE14 situs sur le dessus de la carte, les modules dextension venant sempiler
sur lArduino. Plusieurs sortes dextensions sont disponibles dans le commerce.
YOUNSI A.
3/ 14
EIE
LP CONDORCET
1. Alimentation :
La carte Arduino UNO peut tre alimente par lUSB ou par une alimentation externe. La source est
slectionne automatiquement.
La tension dalimentation extrieure (hors USB) peut venir soit dun adaptateur AC-DC ou de piles.
Ladaptateur peut tre connect grce un jack de 2.1mm positif au centre. Le raccordement vers un
bloc de piles peut utiliser les bornes Gnd et Vin du connecteur dalimentation (POWER).
La carte peut fonctionner laide dune tension extrieure de 7 12 volts. Les broches (pins)
dalimentation sont les suivantes :
VIN. La tension dentre positive lorsque la carte Arduino est utilise avec une source de tension
externe ( distinguer du 5V de la connexion USB ou autre source 5V rgule). Vous pouvez
alimenter la carte laide de cette broche, ou, si lalimentation est fournie par le jack
dalimentation, accder la tension dalimentation sur cette broche.
5V. La tension rgule utilise pour faire fonctionner le microcontrleur et les autres
composants de la carte (pour info : les circuits lectroniques numriques ncessitent une
tension dalimentation parfaitement stable dite tension rgule obtenue laide dun
composant appel un rgulateur et qui est intgr la carte Arduino). Le 5V rgul fourni par
cette broche peut donc provenir soit de la tension dalimentation VIN via le rgulateur de la
carte, ou bien de la connexion USB (qui fournit du 5V rgul) ou de tout autre source
dalimentation rgule.
3V3. Une alimentation de 3.3V fournie par le circuit intgr FTDI (circuit intgr faisant
ladaptation du signal entre le port USB de votre ordinateur et le port srie de lAtmega) de la
carte est disponible : ceci est intressant pour certains circuits externes ncessitant cette
tension au lieu du 5V). Lintensit maximale disponible sur cette broche est de 50mA
GND. Broche de masse (ou 0V).
2. Mmoire
L Atmega328 a 32 KB de mmoire (dont 0.5 KB pour le bootloader). Il a galement 2 KB de SRAM et
1 KB de mmoire non volatile EPROM (qui peut tre crite et lue grce la librairie EEPROM).
3. Entres et sorties
Chacune des 14 broches numriques de la Uno peut tre utilise en entre (input) ou en sortie
(output), en utilisant les fonctions pinMode(), digitalWrite(), et digitalRead().
Elles fonctionnent en logique TTL (0V-5V) ; chacune pouvant fournir (source) ou recevoir un
courant maximal de 40 mA et dispose si besoin est dune rsistance interne de pull-up.
En outre, certaines broches ont des fonctions spcialises :
Serial : broche 0 (RX) et broche1 (TX). Permet de recevoir (RX) et de transmettre (TX) des
donnes sries TTL. Ces broches sont raccordes leurs homologues sur le chip Atmega8U2
spcialis dans la conversion USB-to-TTL srie.
Interruptions externes 2 et 3. Ces broches peuvent tre configures pour dclencher une
interruption sur une valeur LOW, sur un front montant ou descendant, ou encore sur le
changement de valeur. (voir la fonction attachInterrupt() pour des dtails).
PWM : 3, 5, 6, 9, 10, and 11. Output 8-bit de PWM avec la fonction analogWrite().
SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches fournissent le support de
communication SPI en utilisant la library spcialise
LED : 13. Il y a une LED connecte la broche numrique 13.
La carte Uno a 6 broches dentre analogiques, A0 A5, chacune avec 10 bits de rsolution (1024
valeurs diffrentes).
Par dfaut les mesures sont effectues de la masse 5V (valeur de rfrence), mais il est possible de
spcifier la valeur de rfrence en utilisant la broche VREF et la fonction analogReference().
YOUNSI A.
4/ 14
EIE
LP CONDORCET
YOUNSI A.
5/ 14
EIE
LP CONDORCET
9. Schma structurel
6/ 14
EIE
LP CONDORCET
YOUNSI A.
7/ 14
EIE
LP CONDORCET
1re partie
2me partie
3me partie
Remarque :
Il est possible dajouter des commentaires au programme. Pour cela on peut procder de deux manire :
- la fin de la ligne en ajoutant //
- en encadrant les commentaires entre /* et */
YOUNSI A.
8/ 14
EIE
LP CONDORCET
NOM_DE_LA_DONNEE
TYPE_DE_LA_DONNEE
NOM_DE_LA_DONNEE
VALEUR MIN/MAX
TAILLE EN MEMOIRE
0/1
1 octet
VALEURS BINAIRES
boolean
2 octets
4 octets
0 / +255
0 / +65535
0 / +65535
0/ +4 294 967 295
1 octet
2 octets
2 octets
4 octets
-3.4028235E+38 / +3.4028235E+38
-3.4028235E+38 / +3.4028235E+38
4 octets
4 octets
1 octet
CARACTERES
char
YOUNSI A.
9/ 14
EIE
LP CONDORCET
YOUNSI A.
10/ 14
EIE
LP CONDORCET
3. Compilation du programme
Dans cette partie, on vrifie si le code contient des erreurs de syntaxes. En cas danomalie de
compilation, le compilateur renseigne sur le type derreur et la ligne o elle se trouve.
Pour lancer la compilation, il faut appuyer sur
. A ce moment-l, le bouton devient jaune et la
zone de message affiche Compiling indiquant que la compilation est en cours.
Si la compilation se droule sans erreur, le message Done compilling apparat, suivi de la taille du
programme.
Un compilateur est un programme informatique qui traduit un langage (appel le langage source)
en un autre (le langage cible), gnralement dans le but de crer un fichier excutable.
Un compilateur sert le plus souvent traduire un code source crit dans un langage de
programmation en un autre langage, habituellement un langage d'assemblage ou un langage machine.
Le programme en langage machine produit par un compilateur est appel code objet.
4. Slection de la cible et du port srie
Avant de transfrer le programme vers la carte Arduino, il faut, si ce n'est dj fait, slectionner
la bonne carte Arduino (la bonne cible) depuis le menu Tools>Board (Outils>Carte).
La carte doit videmment tre connecte l'ordinateur via un cble USB.
Vous devez galement slectionner le bon port srie depuis le menu Tools > Serial Port (Outils >
Port Srie).
Remarque :
Selon le systme dexploitation le nom du port srie peut diffrer :
Sous Mac, slectionner le port /dev/tty.usbserial-1B1 (pour une carte USB)
Sous Windows, slectionner le port COM1, COM2 (pour une carte srie) ou COM4 ou suprieur
(pour une carte USB)
Sous Linux, slectionner le port /dev/ttyUSB0, /dev/ttyUSB1 ou quivalent.
YOUNSI A.
11/ 14
EIE
LP CONDORCET
YOUNSI A.
12/ 14
EIE
LP CONDORCET
Sources
SUR INTERNET:
http://www.arduino.cc/
http://www.mon-club-elec.fr/
http://fr.wikipedia.org/wiki/Arduino
BIBLIOGRAPHIE:
Christian Tavernier, Arduino Matriser sa programmation et ses cartes dinterface (shields), Paris, 2011, DUNOD
YOUNSI A.
13/ 14
EIE
LP CONDORCET
Annexes
Erreurs de syntaxes les plus courantes :
En phase d'criture et de mise au point de votre code, rptez rgulirement les compilations
comme indiqu ici afin de dtecter les erreurs et corrigez-les ds qu'elles apparaissent. Les erreurs sont
parfois subtiles retrouver. Les plus frquentes en pratique :
oubli d'une accolade de fermeture ou d'ouverture
oubli d'un ; de fin de ligne, ajout d'un ; aprs une instruction #include ou #define
utilisation du signe = au lieu du signe == dans une condition If ou une boucle while
utilisation d'une variable non dclare, etc...
Si vous ne savez pas d'o vient votre erreur, utiliser des // avant les lignes suspectes, et
recompiler. Avec de l'exprience, vous aurez de moins en moins de messages d'erreur
YOUNSI A.
14/ 14