Beruflich Dokumente
Kultur Dokumente
Clemens VALENS
(www.polyvalens.com)
www.elektor.fr/arduino
Matrisez les microcontrleurs l'aide d'Arduino - C. Valens
Copyright Elektor International Media - ISBN 978-2-86661-190-3
Sommaire
1.
Dmarrage rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1
Installation du logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2
Installation du matriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1
1.2.2
1.2.3
1.3
Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1
On frappe la porte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2
Mais on va o ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.
3.1
Un peu dhistoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2
Le processeur (CPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Loscillateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Les mmoires mortes, vivantes et zombies . . . . . . . . . . . . . . . . . . . . . . 24
Les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Entres-sorties (E/S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Convertisseur analogique-numrique (CAN) . . . . . . . . . . . . . . . . . . . . 26
Convertisseur numrique-analogique (CNA) . . . . . . . . . . . . . . . . . . . . 27
Modules de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Gestion de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Autres priphriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
iv
3.3
Les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.1
3.3.2
3.3.3
La programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Charger le programme dans le micro . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Dboguer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.
4.1
Le Parrain 1, 2 et 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2
4.3
Lingrdient de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4
La cuisine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
4.5
Le service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5.1
4.5.2
Plan de table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Le matre dhtel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.
5.1
La cl molette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2
5.3
Prparer le coup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.4
5.5
5.6
Prendre perpette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.7
Lincarcration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.8
5.9
La rinsertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.
6.1
Trois surprises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2
6.3
Le clavier matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4
Charlie la rescousse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.5
Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.6
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.7
Plus de touches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.8
S.O.S. Fantmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.9
Les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.10
Mini-afficheur LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.11
Le dfil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.12
6.13
6.14
6.15
6.16
Le trognon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.17
7.
7.1
7.2
vi
7.3
7.4
7.5
7.6
7.7
8.
8.1
8.2
8.3
8.5
Asynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Synchrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
8.4
8.6
8.7
8.8
8.9
Savais-tu ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
vii
9.
9.1
DCF77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.6.1
9.8.1
9.9
9.10
9.11
9.12
struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
typedef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
9.13
9.14
9.15
9.13.1
9.15.1
9.15.2
9.15.3
La composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Respecter les horaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
a passe ou a casse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
9.16
9.17
Rsumons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
9.17.1
9.17.2
9.17.3
9.18
viii
10.2
Temporisateur 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Produire un signal de 1 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.3
10.4
10.5
10.6
10.7
10.8
10.9
24
Oscilloscope
Tlcommande
Haut-parleur
Carte Arduino
vite dsormais de ranger ton environnement de travail,
le dsordre stimule la crativit (selon des scientifiques allemands).
Pour fter le dbut de ta nouvelle vocation,
offre-toi un oscilloscope (neuf ou doccasion). Tu verras, il changera ta vie.
36
4.5 Le service
4.5.1 Plan de table
Dans Arduino, les noms des broches ont t simplifies, la notion traditionnelle de
ports dentres-sorties (portA, portB, etc.) a t remplace par des numros. La
numrotation est simple et logique quand on sait que la premire carte Arduino
comportait un ATmega8 : elle commence par0 sur la broche2. Comment a, pas
logique ? Pourtant a lest, car la broche1 du circuit ATmega8 correspond PC6,
c.--d. lentre/sortie (E/S) numro6 du portC. Or, cette broche constitue aussi
lentre Reset et on a prfr la connecter un bouton-poussoir, PC6 nest donc
plus libre1. La deuxime broche, PD0, soit E/S numro0 du portD, est disponible
et la numrotation commence alors ici. Elle continue en montant et en sautant les
broches qui ne sont pas des E/S (alimentation) ou qui ne sont pas libres pour
dautres raisons, comme PB6 et PB7 rserves au quartz. Au final, on se retrouve
avec 20E/S numriques (de 019). Les E/S 1419 sont relies au convertisseur
analogique-numrique (CAN) du micro et il a t dcid de les regrouper sur un
connecteur part et de les renommer entres analogiques (de 0 5). Du
coup, une carte de type Uno offre 14E/S numriques et 6entres analogiques.
Les 14 E/S numriques sont cbles sur deux connecteurs nomms Digital
(PWM#) sur un ct de la carte, les 6analogiques sur un connecteur en face,
nomm Analog in. Align avec ce connecteur, on trouve un quatrime connecteur
nomm Power qui comporte galement le signal Reset.
Pourquoi les connecteurs des E/S numriques portent-ils la mention PWM# ? Eh
bien, les broches sur la carte marques par un dise ( # , parfois aussi par un tilde
~ ) sont capables de fournir des signaux modulation largeur dimpulsion
(MLI, PWM en anglais). Elles sont balises car, dans Arduino, elles servent
comme sorties analogiques. Leur nombre dpend du micro, lATmega8 nen a
que trois (E/S 9 11), lATmega168 et lATmega328 en possdent six (E/S 3, 5, 6, 9 11).
Pour les cartes de type Mega quipes de micros avec plus de broches que
lATmega8/168/328, la numrotation des E/S est diffrente car les broches ont t
regroupes sur des connecteurs par fonction. Ainsi, une telle carte dispose de
connecteurs Power, Analog in, Digital, Communication et PWM. Le connecteur
Digital est double range. Au total, une carte Mega2560 offre 70E/S numriques, dcoupes en 32E/S numriques (Digital), 16entres analogiques (Analog
in), 15sorties MLI (PWM) et 10broches rserves la Communication.
1. Cela nest pas tout fait correct car il est toujours possible dutiliser ce port comme
entre numrique connecte un bouton-poussoir en programmant le fusible
RSTDISBL, mais il y en a qui ont essay ils ont eu des problmes. Cest toi qui vois.
55
5.6
Prendre perpette
Maintenant que nous disposons dune variable led et que la broche connecte la
LED est configure en sortie, nous pouvons attaquer la fonction loop. Pour allumer
et teindre la LED, lAPI dArduino offre la fonction digitalWrite. Elle prend deux
arguments : le numro de la broche et la valeur HIGH (niveau logique haut) ou
LOW (niveau logique bas). Si on appelle cette fonction dabord avec la valeur
HIGH et ensuite avec la valeur LOW et si nous attendons un peu entre deux appels,
la LED clignotera puisque cet enchanement est excut continuellement grce
la boucle. La fonction delay permet dintroduire des dlais et donc dattendre. Le
temps dattente est spcifi en millisecondes.
Voil le croquis termin :
/*
* Blink 1
*/
int led = 13;
void setup(void)
{
pinMode(led,OUTPUT);
64
void loop(void)
{
digitalWrite(led,HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);
}
//
//
//
//
allume la LED
attends 500 ms
eteins la LED
attends 500 ms
Ceci est une mthode, mais pas la seule. Ce croquis permet de spcifier sparment
la dure de lallumage et celle de lextinction. Si cest inutile, tu peux modifier le
croquis pour ne spcifier quune seule et mme dure dallumage et dextinction,
comme ceci :
/*
* Blink 2
*/
int led = 13;
int state = HIGH;
void setup(void)
{
pinMode(led,OUTPUT);
}
void loop(void)
{
digitalWrite(led,state);
if (state==HIGH)
{
state = LOW;
}
else
{
state = HIGH;
}
delay(500);
}
// inverse letat
// attends 500 ms
Ici, si (if) la variable state est gale ( == , soit deux fois = , ingale est indiqu
par != ) HIGH, nous lui donnerons la valeur LOW. Sinon (else) nous lui donnerons la valeur HIGH. Ce bout de code a pour but dinverser la valeur de state
chaque tour de boucle.
65
6.2
Aprs les trois surprises du croquis dcrites dans le paragraphe prcdent, en voici
encore une autre : sur mon ordinateur, quand je le compile avec Arduino 1.0.1, le
croquis compil occupe 1058octets. Remplace maintenant les deux dernires
lignes par une seule, comme ceci :
/*
* Key 3
*/
int led = 13;
int key = 8;
void setup(void)
{
pinMode(led,OUTPUT);
pinMode(key,INPUT_PULLUP);
}
void loop(void)
{
digitalWrite(led,digitalRead(key));
}
Le moteur reste au repos et le port srie met toutes les 250 ms la valeur mesure
sur lentre analogique A0 du micro. Fais varier la tension pour vrifier quelle est
bien numrise. Note les valeurs min. et max. au cas o la tension natteint pas 0 V
ou 5 V, voire aucune de ces deux valeurs.
Il est temps de passer aux choses srieuses, nous allons utiliser loscilloscope ou
le frquencemtre. La frquence mesurer sera autour de 2 kHz. Dans le croquis
suivant (Motor test 3), mets la ligne en gras, italique et soulign en commentaire
laide du double //, comme ceci :
// i += 1;
129
160
Description
0 14
Rserv
Reu(s)
Dcod(s)
001010010011100
15
metteur de rserve
16
17, 18
10
19
20
Dbut de la transmission
des informations horaires.
227
interruptions sil est vraiment ncessaire que tout continue tout le temps. Par
contre, si tu fais cela, tu libres encore un autre mauvais gnie de la bote de Pandore des interruptions : le dbordement de la pile (stack overflow en anglais).
10.6.1 La pile
Le micro possde une mmoire spciale, appele la pile (stack), qui joue un peu le
rle de mdiateur entre programme principal et fonctions ou routines dinterruption. Cette mmoire est appele pile car, en thorie, on ne peut pas crire l o on
veut, mais uniquement au dbut. Cest donc une sorte de pile de donnes ; la dernire donne crite est la premire qui puisse tre lue. La pile est utilise pour passer les arguments aux fonctions, pour stocker les variables locales et quand le
micro doit quitter son poste pour aller excuter une fonction ou une routine dinterruption. La pile contient aussi ladresse de linstruction que le micro avait prvu
dexcuter sil navait pas t interrompu pour excuter cette fonction ou routine
dinterruption. Le micro est un vrai Petit Poucet, il laisse derrire lui, sur la pile,
une trace dadresses qui lui permet de retrouver lendroit o il tait au moment o
il a t appel pour faire autre chose.
Comme toutes les ressources dont dispose le micro, la pile aussi connat des
limites. Souvent la pile mobilise une partie de la mmoire vive, laquelle nest dj
pas trs grande, aussi a-t-on tendance dimensionner la pile au plus juste. Cela
veut dire que, si le programme sexcute normalement, la pile aura assez de place
pour stocker les arguments, les variables locales et les adresses de retour de toutes
les fonctions du plus long enchanement de fonctions possible dans le programme.
Donc, si une fonction en appelle une autre qui son tour en appelle une troisime,
etc. il faut que la pile dispose dassez de place pour empiler toutes les adresses de
retour. Les arguments des fonctions et les variables locales sont galement stocks
Matrisez les microcontrleurs l'aide d'Arduino - C. Valens
Copyright Elektor International Media - ISBN 978-2-86661-190-3
303
Chapitre 8
Blink 1 . . . . . . . . . . . . . . . . . . . . . . . . . 64
Blink 2 . . . . . . . . . . . . . . . . . . . . . . . . . 65
LCD . . . . . . . . . . . . . . . . . . . . . . . . . . 161
La difference entre write et print . . . . 167
Serial.find . . . . . . . . . . . . . . . . . . . . . 170
read nmea sentence . . . . . . . . . . . . . . 170
read nmea sentence 2 . . . . . . . . . . . . . 173
read nmea sentence 3 . . . . . . . . . . . . . 175
gps inverter . . . . . . . . . . . . . . . . . . . . 184
HP03 temperature & pressure sensor 192
weather3 . . . . . . . . . . . . . . . . . . . . . . 210
Chapitre 6
Key 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Key 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Key 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Key matrix 1 . . . . . . . . . . . . . . . . . . . . 76
Charlieplexing . . . . . . . . . . . . . . . . . . . 78
Key matrix 2 . . . . . . . . . . . . . . . . . . . . 85
Key matrix 3 . . . . . . . . . . . . . . . . . . . . 90
LED matrix 1 . . . . . . . . . . . . . . . . . . . 92
LED matrix 2 . . . . . . . . . . . . . . . . . . . 95
Money game . . . . . . . . . . . . . . . . . . . 102
Toggle . . . . . . . . . . . . . . . . . . . . . . . . 113
Chapitre 7
voltmeter . . . . . . . . . . . . . . . . . . . . . .
multichannel voltmeter . . . . . . . . . . .
dimmer . . . . . . . . . . . . . . . . . . . . . . .
motor test 1 . . . . . . . . . . . . . . . . . . . .
motor test 2 . . . . . . . . . . . . . . . . . . . .
motor test 3 . . . . . . . . . . . . . . . . . . . .
not working PID controller . . . . . . . .
PID controller . . . . . . . . . . . . . . . . . .
misophone . . . . . . . . . . . . . . . . . . . . .
chip thermometer . . . . . . . . . . . . . . .
117
120
123
128
129
130
135
139
147
152
Chapitre 9
DCF77 polling pulse measuring . . . . 224
DCF77 polling pulse measuring 2 . . . 226
DCF77 polling pulse measuring 3 . . . 229
dcf77 transmitter . . . . . . . . . . . . . . . . 242
Guess IR format . . . . . . . . . . . . . . . . . 252
Export IR pulses to SVG file . . . . . . . 260
Decode NEC IR RC protocol . . . . . . 264
Sound detector . . . . . . . . . . . . . . . . . . 279
Chapitre 10
interrupts 1 . . . . . . . . . . . . . . . . . . . . . 288
interrupt 2 . . . . . . . . . . . . . . . . . . . . . 289
interrupt 3 . . . . . . . . . . . . . . . . . . . . . 296
interrupt 4 . . . . . . . . . . . . . . . . . . . . . 298
interrupt 5 . . . . . . . . . . . . . . . . . . . . . 301
interrupt 6 . . . . . . . . . . . . . . . . . . . . . 305
rotary encoder . . . . . . . . . . . . . . . . . . 310
buzzer 1 . . . . . . . . . . . . . . . . . . . . . . . 317
bote musique . . . . . . . . . . . . . . . . . 319
cucaracha . . . . . . . . . . . . . . . . . . . . . . 323
fire detector . . . . . . . . . . . . . . . . . . . . 329
Index
!
^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
1-Wire . . . . . . . . . 28, 164, 188, 321, 322
8048 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8051 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8052 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A
propos dArduino . . . . . . . . . . . . . . . 54
AC . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
accs direct la mmoire . . . . . . . . . . 30
accumulateur lithium polymre . . . . 320
actionneur . . . . . . . . . . . . . . . . . . . . . 124
ADC . . . . . . . . . . . . . . . . . . . . . . . . . 115
ADCH . . . . . . . . . . . . . . . . . . . . . . . . 153
ADCL . . . . . . . . . . . . . . . . . . . . . . . . 153
ADCSRA . . . . . . . . . . . . . . . . . . . . . 153
ADCSRB . . . . . . . . . . . . . . . . . . . . . . 153
Add Library . . . . . . . . . . . . . . . . . . . 51
ADMUX . . . . . . . . . . . . . . . . . . . . . . 153
Afficher le dossier des croquis . . . . . . 51
afficheur graphique couleur . . . . . . . 198
Aide pour dbuter . . . . . . . . . . . . . . . . 53
Ajouter bibliothque . . . . . . . . . . . . 51
Ajouter un fichier . . . . . . . . . . . . . . . 51
ALU . . . . . . . . . . . . . . . . . . . . . . . . . . 23
AM . . . . . . . . . . . . . . . . . . . . . . . . . . 237
amplitude modulation . . . . . . . . . . . . 237
analogRead . . . . . . . . . . . . 116, 132, 147
analogReference . . . . . . . . . . . . 116, 121
analog-to-digital converter . . . . . . . . 115
analogWrite . . . . . . . . . . . . 122, 235, 240
analyse de Fourier . . . . . . . . . . . . . . . 237
Andrew Tanenbaum . . . . . . . . . . . . . 157
Android . . . . . . . . . . . . . . . . . . . . . . . . 39
Annuler . . . . . . . . . . . . . . . . . . . . . . . . 49
antenne . . . . . . . . . . . . . . . . . . . . . . . . 238
API . . . . . . . . . . . . . . . . . . . . . . . . 54, 109
Application Programming Interface . . 54
Archiver le croquis . . . . . . . . . . . . . . . 52
Arduino . . . . . . . . . . . . . . . . . . . . . . . . 37
arduino.cc . . . . . . . . . . . . . . . . . . . . . . 39
arguments . . . . . . . . . . . . . . . . . . . . . . 58
ARM CortexM3 . . . . . . . . . . . . . . 38, 41
array . . . . . . . . . . . . . . . . . . . . . . . . . 108
ASCII . . . . . . . . . . . . . . . . . 141, 167, 168
asm . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
assembleur . . . . . . . . . . . . . . . . . . . . . . 31
en ligne . . . . . . . . . . . . . . . . . . . . . 113
asymtrique . . . . . . . . . . . . . . . . . . . . 218
ATmega1280 . . . . . . . . . . . . . . . . . . . . 41
ATmega168 . . . . . . . . . . . . . . . . . . . . . 41
ATmega2560 . . . . . . . . . . . . . . . . . . . . 41
ATmega328 . . . . . . . . . . . . . . . . . . . . . 41
ATmega32U4 . . . . . . . . . . . . . . . . . . . 39
ATmega8 . . . . . . . . . . . . . . . . . . . . . . . 41
Atmel . . . . . . . . . . . . . . . . . . . . . 9, 22, 41
atof . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
atoi . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
atol . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
attachInterrupt . . . . . . . . . . . . . . 297, 300
Augmenter lindentation . . . . . . . . . . . 50
Augustin dHippone . . . . . . . . . . . . . 221
automate . . . . . . . . . . . . . . . . . . . . . . 124
automate fini . . . . . . . . . . . . . . . . . . . 172
automatophones . . . . . . . . . . . . . . . . . 320
avertisseur sonore cinq tons . . . . . . 319
AVR . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
341
Index
B
BASIC . . . . . . . . . . . . . . . . . . . . . 31, 270
BCD . . . . . . . . . . . . . . . . . . . . . . . . . . 228
beginTransmission . . . . . . . . . . . . . . 189
Bessel . . . . . . . . . . . . . . . . . . . . . . . . 239
bibliothque . . . . . . . . . . . . . . . . . . . . 160
binary coded decimal . . . . . . . . . . . . 228
biphase . . . . . . . . . . . . . . . . . . . . . . . . 249
bit de parit . . . . . . . . . . . . . . . . . . . . 166
bit-banging . . . . . . . . . . . . . . . . . . . . 199
bitClear . . . . . . . . . . . . . . . . . . . . . . . 275
bit_is_set . . . . . . . . . . . . . . . . . . . . . . 154
bitRead . . . . . . . . . . . . . . . . . . . . . . . . 94
bits
darrt . . . . . . . . . . . . . . . . . . . . . . 163
de dpart . . . . . . . . . . . . . . . . . . . . 163
bitSet . . . . . . . . . . . . . . . . . . . . . . . . . 275
Blink . . . . . . . . . . . . . . . . . . . . . . . . . . 15
BO . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
BOD . . . . . . . . . . . . . . . . . . . . . . . . . 314
boolean . . . . . . . . . . . . . . . . . . . . . . . . 63
boolen . . . . . . . . . . . . . . . . . . . . . . . . 63
bootloader . . . . . . . . . . . . . . . . 33, 41, 56
BOR . . . . . . . . . . . . . . . . . . . . . . . . . . 314
boucle phase asservie . . . . . . . . . . . . 24
bourrage de zros . . . . . . . . . . . . . . . 183
break . . . . . . . . . . . . . . . . . . . . . . . . . 254
brown out . . . . . . . . . . . . . . . . . . . . . . . 26
detector . . . . . . . . . . . . . . . . . . . . . 314
reset . . . . . . . . . . . . . . . . . . . . . . . . 314
bus de communication srielle . . . . . . 28
buzzer . . . . . . . . . . . . . . . . . . . . . . . . 316
C
C, langage . . . . . . . . . . . . . . . . . . . 31, 57
C++ . . . . . . . . . . . . . . . . . . . . . . . . 32, 57
CAN (bus) . . . . . . . . . . . . . . . . . . 28, 164
CAN (convertisseur) . . . . . . . . . . 26, 115
342
capteur
de pression . . . . . . . . . . . . . . . . . . . 189
de temprature . . . . . . . . . . . . . . . . 152
de temprature sans contact . . . . . . 329
capture . . . . . . . . . . . . . . . . . . . . . . . . 284
caractre . . . . . . . . . . . . . . . . . . . . . . . . 62
Carnet de croquis . . . . . . . . . . . . . . . . 47
carte dextension . . . . . . . . . . . . . . . . . 40
case . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
cbi . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
CGPM . . . . . . . . . . . . . . . . . . . . . . . . 221
chane de caractres . . . . . . . . . . . . . . . 63
CHANGE . . . . . . . . . . . . . . . . . . . . . . 300
char . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
chargeur damorage . . . . . . . . 33, 41, 56
charlieplexing . . . . . . . . . . . . . . . . . . . 78
chenillard . . . . . . . . . . . . . . . . . . . . . . . 92
chien de garde . . . . . . . . . . . . . . . 30, 314
Clear Timer on Compare match . . . . 284
CNA (convertisseur) . . . . . . . . . . 27, 122
codage
de Manchester . . . . . . . . . . . . 163, 249
par modulation de position dimpulsion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
code excutable . . . . . . . . . . . . . . . . . . 32
Coller . . . . . . . . . . . . . . . . . . . . . . . . . . 50
coloration syntaxique . . . . . . . . . . . . . . 64
COM0A0 . . . . . . . . . . . . . . . . . . . . . . 290
comma separated values . . . . . . . . . . 258
commentaires . . . . . . . . . . . . . . . . . . . . 63
imbriqus . . . . . . . . . . . . . . . . . . . . . 64
Commenter/Dcommenter . . . . . . . . . . 50
communication
asynchrone . . . . . . . . . . . . . . . . . . . 162
synchrone . . . . . . . . . . . . . . . . . . . . 164
comparateur analogique . . . . . . . 151, 284
compilateur . . . . . . . . . . . . . . . . . . . . . 32
Confrence gnrale des poids et mesures
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Index
constrain . . . . . . . . . . . . . . . . . . . . . . 143
continue . . . . . . . . . . . . . . . . . . . . . . . 254
contrle de redondance cyclique . . . . 203
conversion de type de donne . . . . . . 118
convertisseur
analogique-numrique . . . . . . . 26, 115
numrique-analogique . . . . . . . 27, 122
Copier en tant quHTML . . . . . . . . . . 50
Copier pour le forum . . . . . . . . . . . . . 50
Couper . . . . . . . . . . . . . . . . . . . . . . . . . 49
CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
CR . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
CRC . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Crer une bibliothque . . . . . . . . . . . 209
croquis . . . . . . . . . . . . . . . . . . . 46, 51, 60
CSV . . . . . . . . . . . . . . . . . . . . . . . . . . 258
CTC . . . . . . . . . . . . . . . . . . . . . . . . . . 284
cyclic redundancy check . . . . . . . . . . 203
D
DAC . . . . . . . . . . . . . . . . . . . . . . . . . 122
Data Direction Register . . . . . . . . . . 110
DCF77 . . . . . . . . . . . . . . . . . . . . . . . . 222
DDR . . . . . . . . . . . . . . . . . . . . . . . . . 110
dbogueur in situ . . . . . . . . . . . . . . . . . 34
dbordement de la pile . . . . . . . . . . . 303
default . . . . . . . . . . . . . . . . . . . . . . . . . 68
delay . . . . . . . . . . . . . . . . . . 64, 132, 234
delayMicroseconds . . . . . . . . . . . . . . 234
Dpannage . . . . . . . . . . . . . . . . . . . . . 53
detachInterrupt . . . . . . . . . . . . . 297, 300
dtecteur
dobscurit . . . . . . . . . . . . . . . . . . . 315
de son . . . . . . . . . . . . . . . . . . . . . . 278
Device Firmware Update . . . . . . . . . . 33
DFU . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
DI . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
DIDR0 . . . . . . . . . . . . . . . . . . . . . . . . 153
DIDR1 . . . . . . . . . . . . . . . . . . . . . . . . 153
DIDR2 . . . . . . . . . . . . . . . . . . . . . . . . 153
Diecimila . . . . . . . . . . . . . . . . . . . . 10, 40
diffrentielle . . . . . . . . . . . . . . . . . . . 135
digitalRead . . . . . . . . . . . . . . . . . . . . . 71
digital-to-analog converter . . . . . . . . 122
digitalWrite . . . . . . . . . . . . . . . . . . 64, 71
diviseur . . . . . . . . . . . . . . . . . . . 235, 241
division
virgule flottante . . . . . . . . . . . . . . 118
dentiers . . . . . . . . . . . . . . . . . . . . . 118
DMA . . . . . . . . . . . . . . . . . . . . . . . . . . 30
DO . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Domenico Scarlatti . . . . . . . . . . . . . . 319
double . . . . . . . . . . . . . . . . . . . . . . . . . 62
do-while . . . . . . . . . . . . . . . . . . . . . 81, 82
DS18B20 . . . . . . . . . . . . . . . . . . . . . . 322
DS18S20 . . . . . . . . . . . . . . . . . . . . . . 322
Due . . . . . . . . . . . . . . . . . . . . . 38, 40, 41
Duemilanove . . . . . . . . . . . . . . . . . . . . 40
E
EDI . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
diteur de liens . . . . . . . . . . . . . . . . . . . 32
EEPROM . . . . . . . . . . . . . . . . . . . . . . . 22
EIA/TIA-232-E . . . . . . . . . . . . . . . . . 164
metteur-rcepteur asynchrone universel
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
endTransmisison . . . . . . . . . . . . . . . . 189
Enregistrer . . . . . . . . . . . . . . . . . . . 46, 48
Enregistrer sous . . . . . . . . . . . . . . . . 48
entre-sortie usage gnral . . . . . . . . 71
Environnement . . . . . . . . . . . . . . . . . . . 53
environnement de dveloppement intgr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
EPROM . . . . . . . . . . . . . . . . . . . . . . . . 21
Erasable Programmable Read-Only
Memory . . . . . . . . . . . . . . . . . . . . . . 21
343
Index
escape sequence . . . . . . . . . . . . . . . . 262
ET . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Ethernet . . . . . . . . . . . . . . . . . . . . 28, 164
EUSART . . . . . . . . . . . . . . . . . . . . . . . 29
Exemples . . . . . . . . . . . . . . . . . . . . . . . 47
EXOR . . . . . . . . . . . . . . . . . . . . . . . . 184
exp . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
extensible mark-up language . . . . . . 258
extern . . . . . . . . . . . . . . . . . . . . . 273, 276
F
FALLING . . . . . . . . . . . . . . . . . . . . . . 300
Fast PWM . . . . . . . . . . . . . . . . . . . . . 235
Fermer . . . . . . . . . . . . . . . . . . . . . . . . . 47
filtre
numrique rponse impulsionnelle
infinie . . . . . . . . . . . . . . . . . . . . . . . 138
passe-bande . . . . . . . . . . . . . . . . . . 239
passe-bas . . . . . . . . . . . . . . . . . . . . 138
passe-haut . . . . . . . . . . . . . . . . . . . 138
firmware . . . . . . . . . . . . . . . . . . . . . . . 24
float . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Foire aux questions . . . . . . . . . . . . . . . 54
fonction . . . . . . . . . . . . . . . . . . . . . 58, 79
fondamental . . . . . . . . . . . . . . . . . . . . 237
for . . . . . . . . . . . . . . . . . . . . . . . . . 81, 82
Formatage automatique . . . . . . . . . . . 52
Fortran . . . . . . . . . . . . . . . . . . . . . . . . . 31
France Inter . . . . . . . . . . . . . . . . . . . . 222
Freeduino . . . . . . . . . . . . . . . . . . . . . . . 45
Freescale . . . . . . . . . . . . . . . . . . . . . . 197
frquence dchantillonnage . . . . . . . 132
FTDI . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
G
General Purpose Input Output . . . 26, 71
GGA . . . . . . . . . . . . . . . . . . . . . . . . . 168
goto . . . . . . . . . . . . . . . . . . . . . . . . . . 269
344
GPIO . . . . . . . . . . . . . . . . . . . . . . . 26, 71
GPS . . . . . . . . . . . . . . . . . . . . . . . . . . 168
graphiques vectoriels . . . . . . . . . . . . . 258
Graver la squence dinitialisation . . . 53
H
harmoniques . . . . . . . . . . . . . . . . . . . . 237
HD44780 . . . . . . . . . . . . . . . . . . . . . . 159
Hello World . . . . . . . . . . . . . . . . . . 14, 57
HIGH . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Hitachi . . . . . . . . . . . . . . . . . . . . . . . . 159
Hope RF . . . . . . . . . . . . . . . . . . . . . . . 189
horloge . . . . . . . . . . . . . . . . . . . . . . . . . 24
atomique . . . . . . . . . . . . . . . . . . . . . 221
HP03 . . . . . . . . . . . . . . . . . . . . . . . . . 189
hypot . . . . . . . . . . . . . . . . . . . . . . . . . 144
I
IC . . . . . . . . . . . . . . . . 28, 164, 187, 329
IS . . . . . . . . . . . . . . . . . . . . . 28, 164, 220
ICR . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
ICSP . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
if-else . . . . . . . . . . . . . . . . . . . . . . . 59, 66
IIR . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
imbriquer des interruptions . . . . . . . . 302
Importer bibliothque . . . . . . . . . 51, 52
Imprimer . . . . . . . . . . . . . . . . . . . . . . . 48
In-Circuit Serial Programming . . . . . . 33
indexOf . . . . . . . . . . . . . . . . . . . . . . . . 175
infinite impulse response . . . . . . . . . . 138
Inkscape . . . . . . . . . . . . . . . . . . . . . . . 258
INPUT . . . . . . . . . . . . . . . . . . . . . . . . . 61
Input Capture Register . . . . . . . . . . . 241
INPUT_PULLUP . . . . . . . . . . . . . . 61, 73
In-System Programming . . . . . . . . . . . 33
int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
int8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Index
intgrale . . . . . . . . . . . . . . . . . . . . . . . 135
Intel . . . . . . . . . . . . . . . . . . . . . . . 21, 329
Inter Integrated Circuits . . . . . . . . . . 187
interface de programmation applicative
. . . . . . . . . . . . . . . . . . . . . . . . . 54, 109
interrupt nesting . . . . . . . . . . . . . . . . 302
interrupt service routine . . . . . . . . . . 292
interruptions . . . . . . . . . . . . . . . . 25, 287
interrupts . . . . . . . . . . . . . . . . . . . . . . 297
INTx . . . . . . . . . . . . . . . . . . . . . . . . . 300
IrDA . . . . . . . . . . . . . . . . . . . . . . 28, 164
ISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ISR . . . . . . . . . . . . . . . . . . . . . . 273, 292
J
Jean-Baptiste de La Quintinie . . . . . . 109
Joint Test Action Group . . . . . . . . . . . 30
journal lumineux dfilant . . . . . . . . . . 95
JTAG . . . . . . . . . . . . . . . 28, 30, 164, 314
K
kibi . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
klaxon italien . . . . . . . . . . . . . . . . . . . 319
L
langage de balisage extensible . . . . . 258
latitude . . . . . . . . . . . . . . . . . . . . . . . . 175
LCD . . . . . . . . . . . . . . . . . . . . . . . . . . 159
LDR . . . . . . . . . . . . . . . . . . . . . . . . . . 316
LED infrarouge . . . . . . . . . . . . . . . . . 271
Lonardo . . . . . . . . . . . . . . . . . . . . . . . 39
LF . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
light dependent resistor . . . . . . . . . . . 316
Lilypad . . . . . . . . . . . . . . . . . . . . . . . . 39
LIN . . . . . . . . . . . . . . . . . . . . . . . 28, 164
Linker . . . . . . . . . . . . . . . . . . . . . . . . . 32
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Li-Po . . . . . . . . . . . . . . . . . . . . . . . . . 320
LiquidCrystal . . . . . . . . . . . . . . . . . . . 160
longitude . . . . . . . . . . . . . . . . . . . . . . 175
loop . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
LOW . . . . . . . . . . . . . . . . . . . . . . . 64, 300
M
M2M . . . . . . . . . . . . . . . . . . . . . . . . . 157
MA . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Mac OSX . . . . . . . . . . . . . . . . . . . . . . 13
machine-to-machine . . . . . . . . . . . . . 157
macros . . . . . . . . . . . . . . . . . . . . 291, 327
main . . . . . . . . . . . . . . . . . . . . . . . 60, 315
mark . . . . . . . . . . . . . . . . . . . . . . 165, 272
Math . . . . . . . . . . . . . . . . . . . . . . . . . . 144
math.h . . . . . . . . . . . . . . . . . . . . . . . . 144
Maxim . . . . . . . . . . . . . . . . . . . . 188, 322
MCS-48 . . . . . . . . . . . . . . . . . . . . . . . . 21
MCS-51 . . . . . . . . . . . . . . . . . . . . . . . . 21
MCU . . . . . . . . . . . . . . . . . . . . . . . . . . 21
MCUSR . . . . . . . . . . . . . . . . . . . . . . . 314
Mega . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Mega ADK . . . . . . . . . . . . . . . . . . . . . 39
Mega1280 . . . . . . . . . . . . . . . . . . . . . . 40
Mega2560 . . . . . . . . . . . . . . . . . . . . . . 40
megaAVR . . . . . . . . . . . . . . . . . . . . . . 41
Melexis . . . . . . . . . . . . . . . . . . . . . . . 329
mmoire
flash . . . . . . . . . . . . . . . . . . . . . . . . . 24
morte . . . . . . . . . . . . . . . . . . . . . . . . 21
ROM effaable . . . . . . . . . . . . . . . . 21
vive . . . . . . . . . . . . . . . . . . . . . . . . . 21
zombie . . . . . . . . . . . . . . . . . . . . 22, 24
345
Index
menu
Aide . . . . . . . . . . . . . . . . . . . . . . . . . 53
Croquis . . . . . . . . . . . . . . . . . . . . . . 51
des onglets . . . . . . . . . . . . . . . . . . . . 54
dition . . . . . . . . . . . . . . . . . . . . . . . 49
Fichier . . . . . . . . . . . . . . . . . . . . . . . 47
Outils . . . . . . . . . . . . . . . . . . . . . . . . 52
mthode . . . . . . . . . . . . . . . . . . . . . . . . 58
micro (-contrleur) . . . . . . . . . . . . . . . 21
Micro (modle de carte) . . . . . . . . . . . 40
Microchip . . . . . . . . . . . . . . . . . . . . . . 22
microcontrleur . . . . . . . . . . . . . . . . . . 21
micrologiciel . . . . . . . . . . . . . . . . . . . . 24
micros . . . . . . . . . . . . . . . . . . . . 224, 234
Microwire . . . . . . . . . . . . . . . . . . 28, 197
Microwire/Plus . . . . . . . . . . . . . . . . . 197
millis . . . . . . . . . . . . . . . . . . 98, 224, 234
Mini . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Mise en page . . . . . . . . . . . . . . . . . . . . 48
MISO . . . . . . . . . . . . . . . . . . . . . . . . . 196
misophonie . . . . . . . . . . . . . . . . . . . . 145
MLI . . . . . . . . . . . . . . . . . . . . . . . 27, 122
phase correcte . . . . . . . . . . . . . . . 235
rapide . . . . . . . . . . . . . . . . . . . . . . . 235
MLX90614 . . . . . . . . . . . . . . . . . . . . 329
modulation
damplitude . . . . . . . . . . . . . . . . . . 237
de largeur dimpulsion . . . . . . . 27, 122
Moniteur srie . . . . . . . . . . . . . . . . . . . 77
Moniteur srie . . . . . . . . . . . . . 46, 53, 77
monome . . . . . . . . . . . . . . . . . . . . . . . . 40
MOSI . . . . . . . . . . . . . . . . . . . . . . . . . 196
Motorola . . . . . . . . . . . . . . . . . . . . . . 197
MSF . . . . . . . . . . . . . . . . . . . . . . . . . . 222
C . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
multiplexeur . . . . . . . . . . . . . . . . . . . . 26
multitche . . . . . . . . . . . . . . . . . . . . . 313
Wire . . . . . . . . . . . . . . . . . . . . . . . . . 197
346
N
NAN . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
NEC-1 . . . . . . . . . . . . . . . . . . . . . . . . 263
nested comments . . . . . . . . . . . . . . . . . 64
NMEA0183A . . . . . . . . . . . . . . . . . . 168
NMI . . . . . . . . . . . . . . . . . . . . . . . . . . 298
noInterrupts . . . . . . . . . . . . . . . . . . . . 297
Nokia 6100 . . . . . . . . . . . . . . . . . . . . . 198
nombre
virgule flottante . . . . . . . . . . . . . . . 62
entier . . . . . . . . . . . . . . . . . . . . . . . . 62
NON . . . . . . . . . . . . . . . . . . . . . . . . . . 133
non sign . . . . . . . . . . . . . . . . . . . . . . . 63
NON-ET . . . . . . . . . . . . . . . . . . . . . . 133
non-maskable interrupt . . . . . . . . . . . 298
NON-OU . . . . . . . . . . . . . . . . . . . . . . 133
Not a Number . . . . . . . . . . . . . . . . . . . . 59
noTone . . . . . . . . . . . . . . . . . . . . . . . . 147
Nouveau . . . . . . . . . . . . . . . . . . . . . 46, 47
numrisation . . . . . . . . . . . . . . . . . . . 115
O
OCIE0A . . . . . . . . . . . . . . . . . . . . . . . 291
OCR . . . . . . . . . . . . . . . . . . . . . . . . . . 241
OCR0A . . . . . . . . . . . . . . . . . . . . . . . 291
OCRxA . . . . . . . . . . . . . . . . . . . . . . . 240
Optiboot . . . . . . . . . . . . . . . . . . . . . . . 315
orgue de Barbarie . . . . . . . . . . . . . . . . 320
oscillateur . . . . . . . . . . . . . . . . . . . . . . . 24
OU . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
OU exclusif . . . . . . . . . . . . . . . . 184, 245
OUTPUT . . . . . . . . . . . . . . . . . . . . . . . 61
Output Compare Register . . . . . . . . . 241
Ouvrir . . . . . . . . . . . . . . . . . . . . . . 46, 47
Index
P
Packet Error Checking . . . . . . . . . . . 329
Pandore . . . . . . . . . . . . . . . . . . . . . . . 332
partie
commande . . . . . . . . . . . . . . . . . . . 124
oprative . . . . . . . . . . . . . . . . . . . . 124
Pascal . . . . . . . . . . . . . . . . . . . . . . . . . 31
PB5 . . . . . . . . . . . . . . . . . . . . . . . . . . 111
PCIE0 . . . . . . . . . . . . . . . . . . . . . . . . 306
PCIFR . . . . . . . . . . . . . . . . . . . . . . . . 306
PCINTx . . . . . . . . . . . . . . . . . . . 300, 304
PCMSK0 . . . . . . . . . . . . . . . . . . . . . . 305
PCMSK1 . . . . . . . . . . . . . . . . . . . . . . 305
PCMSK2 . . . . . . . . . . . . . . . . . . . . . . 305
PCMSKx . . . . . . . . . . . . . . . . . . . . . . 305
PEC . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Phase Correct PWM . . . . . . . . . . . . . 235
photorsistance . . . . . . . . . . . . . . . . . 316
PIC16C84 . . . . . . . . . . . . . . . . . . . . . . 22
PID . . . . . . . . . . . . . . . . . . . . . . . . . . 125
pile (mmoire) . . . . . . . . . . . . . . . . . . 303
pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
change interrupt flag register . . . . 306
change mask . . . . . . . . . . . . . . . . . 305
change . . . . . . . . . . . . . . . . . . . . . . 300
Pindare . . . . . . . . . . . . . . . . . . . . . . . 332
pinMode . . . . . . . . . . . . . . . . . . . . 61, 71
PINx . . . . . . . . . . . . . . . . . . . . . . . . . 111
PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
PMbus . . . . . . . . . . . . . . . . . . . . . . . . 187
pointeurs . . . . . . . . . . . . . . . . . . . . . . 173
pont en H . . . . . . . . . . . . . . . . . . . . . . 127
POR . . . . . . . . . . . . . . . . . . . . . . . . . . 314
port
parallle . . . . . . . . . . . . . . . . . . . . . 158
srie . . . . . . . . . . . . . . . . . . . . . 53, 165
PORTB . . . . . . . . . . . . . . . . . . . . . . . 111
ports . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
PORTx . . . . . . . . . . . . . . . . . . . . . . . . 111
pow . . . . . . . . . . . . . . . . . . . . . . . . . . 143
power-on reset . . . . . . . . . . . . . . . . . . 314
prdiviseur . . . . . . . . . . . . . . . . . . . . . . 29
Prfrences . . . . . . . . . . . . . . . . . . . . . 48
prescaler . . . . . . . . . . . . . . . 29, 235, 241
printf . . . . . . . . . . . . . . . . . . . . . . . . . 150
processeur . . . . . . . . . . . . . . . . . . . 23, 53
Processing . . . . . . . . . . . . . . . . . . . . . . 37
Programmateur . . . . . . . . . . . . . . . . . . 53
programmation in situ . . . . . . . . . . . . . 33
proportionnelle, rponse . . . . . . . . . . 135
prototype dune fonction . . . . . . . . . . 209
pull-down . . . . . . . . . . . . . . . . . . . . . . . 73
pull-up . . . . . . . . . . . . . . . . . . . . . . . . . 73
pulse width modulation . . . . . . . . . . . 122
pulseIn . . . . . . . . . . . . . . . . . . . . 248, 284
PWM . . . . . . . . . . . . . . . . . . . . . . . . . 122
Q
QSPI . . . . . . . . . . . . . . . . . . . . . . . . . 197
quantification . . . . . . . . . . . . . . . . . . . 115
quartz . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Quitter . . . . . . . . . . . . . . . . . . . . . . . . . 49
R
RAM . . . . . . . . . . . . . . . . . . . . . . . . . . 21
random . . . . . . . . . . . . . . . . . . . . 105, 318
Random Access Memory . . . . . . . . . . . 21
randomSeed . . . . . . . . . . . . . . . . 105, 318
rapport signal-bruit . . . . . . . . . . . . . . 255
RAZ . . . . . . . . . . . . . . . . . . . . . . . 26, 314
RC5 . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Read-Modify-Write . . . . . . . . . . . . . . 111
Read-Only Memory . . . . . . . . . . . . . . . 21
Rduire lindentation . . . . . . . . . . . . . . 50
Rfrence . . . . . . . . . . . . . . . . . . . . . . . 54
347
Index
registre
dcalage . . . . . . . . . . . . . . . 200, 275
de direction de donnes . . . . . . . . . 110
rgulateur
PID . . . . . . . . . . . . . . . . . . . . . . . . . 134
proportionnel intgral driv . . . . . 125
Rparer encodage et recharger . . . . . . 52
rponse indicielle . . . . . . . . . . . . . . . . 125
requestFrom . . . . . . . . . . . . . . . . . . . 189
rseau RC . . . . . . . . . . . . . . . . . . . . . . 24
reset . . . . . . . . . . . . . . . . . . . . . . . 26, 314
rsistances de rappel . . . . . . . . . . . . . . 73
internes . . . . . . . . . . . . . . . . . . . . . . 73
rsonateur . . . . . . . . . . . . . . . . . . . . . . 24
Rtablir . . . . . . . . . . . . . . . . . . . . . . . . 49
retour chariot . . . . . . . . . . . . . . . . . . . 168
return . . . . . . . . . . . . . . . . . . . . . . . . . . 59
RISING . . . . . . . . . . . . . . . . . . . . . . . 300
ROM . . . . . . . . . . . . . . . . . . . . . . . . . . 21
ronfleur . . . . . . . . . . . . . . . . . . . . . . . 315
routine dinterruption . . . . . . . . . . . . 288
RS-232 . . . . . . . . . . . . . . . . . . . . . 28, 164
RS-422 . . . . . . . . . . . . . . . . . . . . . . . . 218
RS-485 . . . . . . . . . . . . . . . . . . . . . . . . 218
S
Saint Augustin . . . . . . . . . . . . . . . . . . 285
SAM3X8E . . . . . . . . . . . . . . . . . . . . . . 41
SATA . . . . . . . . . . . . . . . . . . . . . . . . 158
saut de ligne . . . . . . . . . . . . . . . . . . . . 168
sbi . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
scalable vector graphics . . . . . . . . . . 258
SCK . . . . . . . . . . . . . . . . . . . . . . . . . . 187
SDA . . . . . . . . . . . . . . . . . . . . . . . . . . 187
SDI . . . . . . . . . . . . . . . . . . . . . . . . . . 196
SDO . . . . . . . . . . . . . . . . . . . . . . . . . . 196
seconde (unit de temps) . . . . . . . . . . 221
squence dchappement . . . . . . . . . . 262
348
Serial Monitor . . . . . . . . . . . . . . . . . . . 77
Serial.available . . . . . . . . . . . . . 144, 167
Serial.begin . . . . . . . . . . . . . . . . . 77, 167
Serial.end . . . . . . . . . . . . . . . . . . . . . . 167
Serial.find . . . . . . . . . . . . . . . . . . 169, 172
Serial.parseFloat . . . . . . . . . . . . . . . . 170
Serial.parseInt . . . . . . . . . . . . . . . . . . 170
Serial.peek . . . . . . . . . . . . . . . . . . . . . 144
Serial.print . . . . . . . . . . . . . . . . . 151, 167
Serial.println . . . . . . . . . . . . . . . . 77, 167
Serial.read . . . . . . . . . . . . . . . . . 144, 167
Serial.write . . . . . . . . . . . . . . . . . . . . . 167
setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
shield . . . . . . . . . . . . . . . . . . . . . . . 40, 41
SIGNAL . . . . . . . . . . . . . . . . . . . . . . . 291
signal de remise zro . . . . . . . . . 26, 314
SIGNAL(TIMER0_COMPA_vect) . . . 291
SIGNAL(TIMER0_OVF_vect) . . . . . . 289
simulateur de micro . . . . . . . . . . . . . . . 34
SIRCS . . . . . . . . . . . . . . . . . . . . . . . . 263
SISO . . . . . . . . . . . . . . . . . . . . . . . . . . 197
sketch . . . . . . . . . . . . . . . . . . . . 46, 51, 60
SMBus . . . . . . . . . . . . . . . . . . . . 187, 329
somme de contrle . . . . . . . . . . . . . . . 183
space . . . . . . . . . . . . . . . . . . . . . 165, 272
spaghetti code . . . . . . . . . . . . . . . . . . 270
spectre . . . . . . . . . . . . . . . . . . . . . . . . 237
SPI . . . . . . . . . . . . . . . . . . . . 28, 164, 196
sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
SSI . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
SSP . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
stack . . . . . . . . . . . . . . . . . . . . . . . . . . 303
stack overflow . . . . . . . . . . . . . . . . . . 303
startsWith . . . . . . . . . . . . . . . . . . . . . . 177
static . . . . . . . . . . . . . . . . . . . . . . . . . . 290
strcat . . . . . . . . . . . . . . . . . . . . . . . . . 173
strcmp . . . . . . . . . . . . . . . . . . . . . . . . 173
strcpy . . . . . . . . . . . . . . . . . . . . . . . . . 173
Index
Stream . . . . . . . . . . . . . . . . . . . . . . . . 178
String . . . . . . . . . . . . . . . . . . . . . . 63, 173
strlen . . . . . . . . . . . . . . . . . . . . . . . . . 173
strstr . . . . . . . . . . . . . . . . . . . . . . . . . 173
struct . . . . . . . . . . . . . . . . . . . . . . . . . 256
substring . . . . . . . . . . . . . . . . . . . . . . 175
SVG . . . . . . . . . . . . . . . . . . . . . . . . . . 258
switch . . . . . . . . . . . . . . . . . . . . . . . . . 68
switch-case-default . . . . . . . . . . . . . . . 68
symtrique . . . . . . . . . . . . . . . . . . . . . 218
System Management Bus . . . . . . . . . . 329
systme
automatis . . . . . . . . . . . . . . . . . . . 124
en boucle ouverte . . . . . . . . . . . . . 125
T
tableaux . . . . . . . . . . . . . . . . . . . . . . . 108
TCCR0A . . . . . . . . . . . . . . . . . . . . . . 290
TCCRxA . . . . . . . . . . . . . . . . . . . . . . 240
TCCRxB . . . . . . . . . . . . . . . . . . . . . . 240
Tlverser . . . . . . . . . . . . . . . . . . . 46, 48
avec un programmateur . . . . . . . . . 48
tension de rfrence . . . . . . . . . . . . . 116
TeraTerm . . . . . . . . . . . . . . . . . . . . . . 232
Texas Instruments . . . . . . . . . . . . . . . . 21
TI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
timeout . . . . . . . . . . . . . . . . . . . . . . . 248
_timer . . . . . . . . . . . . . . . . . . . . . . . . 272
Timer/Counter Control Register . . . . 241
TIMER2_COMPA_vect . . . . . . . . . . . 273
timer2_toggle_count . . . . . . . . . . . . . 273
TMS1802NC . . . . . . . . . . . . . . . . . . . . 21
toggle . . . . . . . . . . . . . . . . . . . . . . . . . 112
toInt . . . . . . . . . . . . . . . . . . . . . . . . . . 178
tone . . . . . . . . . . . . . . . . . . 147, 240, 272
Tone.cpp . . . . . . . . . . . . . . . . . . . . . . 272
touche
fantme . . . . . . . . . . . . . . . . . . . . . . 87
masque . . . . . . . . . . . . . . . . . . . . . . 88
Tout slectionner . . . . . . . . . . . . . . . . . 50
Tre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Trigonometry . . . . . . . . . . . . . . . . . . . 144
Trouver . . . . . . . . . . . . . . . . . . . . . . . . 50
dans la rfrence . . . . . . . . . . . . . . . 54
prcdent . . . . . . . . . . . . . . . . . . . . . 50
prochain . . . . . . . . . . . . . . . . . . . . . . 50
TSOP1736 . . . . . . . . . . . . . . . . . . . . . 251
TSOP34836 . . . . . . . . . . . . . . . . . . . . 251
TTL . . . . . . . . . . . . . . . . . . . . . . . . . . 165
TWI . . . . . . . . . . . . . . . . . . . 28, 187, 329
Two-Wire . . . . . . . . . . . . . . . . . . . . . 188
Interface . . . . . . . . . . . . . . . . . . . . . 187
Type de carte . . . . . . . . . . . . . . . . . . . . 53
typecast . . . . . . . . . . . . . . . . . . . . . . . 118
typedef . . . . . . . . . . . . . . . . . . . . . . . . 257
U
UAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
UART . . . . . . . . . . . . . . . . . . . . . 29, 166
uC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
UFm . . . . . . . . . . . . . . . . . . . . . . . . . . 187
uint32 . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Ultra Fast-mode . . . . . . . . . . . . . . . . 187
undefined reference . . . . . . . . . . . 60, 273
union . . . . . . . . . . . . . . . . . . . . . . . . . 256
unit
arithmtique et logique . . . . . . . . . . 23
centrale de traitement . . . . . . . . . . . . 23
Universal Asynchronous Receiver/
Transmitter . . . . . . . . . . . . . . . . . . 166
Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
unsigned . . . . . . . . . . . . . . . . . . . . . . . . 63
USART . . . . . . . . . . . . . . . . . . . . 29, 166
USART0_RX_vect . . . . . . . . . . . . . . . 292
USART0_UDRE_vect . . . . . . . . . . . . 292
349
Index
USB . . . . . . . . . . . . . . . . . . . . . . . 28, 164
Utiliser la slection pour trouver . . . . 50
V
variable
globale . . . . . . . . . . . . . . . . . . . . . . . 62
locale . . . . . . . . . . . . . . . . . . . . . . . . 62
vecteurs . . . . . . . . . . . . . . . . . . . . . . . 288
Vrifier . . . . . . . . . . . . . . . . . . . . . . . . 46
Vrifier / Compiler . . . . . . . . . . . . . . . 51
Vishay . . . . . . . . . . . . . . . . . . . . . . . . 251
Visiter Arduino.cc . . . . . . . . . . . . . . . . 54
void . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
volatile . . . . . . . . . . . . . . . . . . . . . . . . 276
W
watchdog . . . . . . . . . . . . . . . . . . . 30, 314
Waveform Generation Mode . . . . . . . 241
wearable . . . . . . . . . . . . . . . . . . . . . . . 40
WGM . . . . . . . . . . . . . . . . . . . . . . . . . 241
WGM00 . . . . . . . . . . . . . . . . . . . . . . . 290
while . . . . . . . . . . . . . . . . . . . . . . . 81, 82
Windows Vista . . . . . . . . . . . . . . . . . . 13
Windows7 . . . . . . . . . . . . . . . . . . . . . . 13
350
WindowsXP . . . . . . . . . . . . . . . . . . . . 12
Wire . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Wiring . . . . . . . . . . . . . . . . . . . . . . . . . 37
WiringS . . . . . . . . . . . . . . . . . . . . . . . . 38
wiring.c . . . . . . . . . . . . . . . . . . . 289, 290
wiring_analog.c . . . . . . . . . . . . . . . . . 152
www.arduino.cc . . . . . . . . . . . . . . . . 9, 37
www.freeduino.org . . . . . . . . . . . . . . . 45
www.ftdichip.com . . . . . . . . . . . . . . . . 14
www.inkscape.org . . . . . . . . . . . . . . . 258
www.misophonia-uk.org . . . . . . . . . . 145
www.monome.org . . . . . . . . . . . . . . . . 40
www.polyvalens.com . . . . . . . . . . . . . . 1
www.processing.org . . . . . . . . . . . . . . 37
www.wiring.org.co . . . . . . . . . . . . . . . 37
X
XML . . . . . . . . . . . . . . . . . . . . . . . . . 258
Z
zero padding . . . . . . . . . . . . . . . . . . . 183
Ziegler-Nichols . . . . . . . . . . . . . 125, 138