Le module Arduino 1. Introduction au microcontrôleur 9 1.1 Principales notions 9 1.2 Programmation 11 2. Présentation générale 12 3. Description technique 13 3.1 Alimentation 13 3.2 Horloge 14 3.3 Reset 15 3.4 Entrées/sorties 16 3.5 Mémoire 18 4. Historique de l Arduino 19 5. Matériel 20 5.1 Fer à souder 20 5.2 Breadboard 21 5.3 Multimètre 23 5.4 Câble d alimentation 25 Environnement de développement 1. Présentation 27 2. Installation 29 2.1 Sous Windows 29 2.2 Sous Linux 31 2.3 Sous Mac OS 33 1/9
3. Interface de développement 33 3.1 Démarrer sur l environnement 33 3.2 Créer un nouveau projet 36 3.3 Ouvrir un projet existant 37 3.4 Fonctionnalités utiles 38 3.5 Communiquer avec la carte Arduino 42 4. Première application : faire clignoter une LED 46 Les bases de l'électronique 1. Introduction 51 2. Quelques notions d électricité 52 2.1 Intensité, tension et puissance 52 2.1.1 Intensité d un courant électrique 52 2.1.2 Tension d un courant électrique 54 2.1.3 Puissance d'un courant électrique 55 2.2 Courant continu et courant alternatif 55 2.2.1 Courant continu 55 2.2.2 Courant alternatif 56 2.3 Fil de terre, fil neutre et fil de phase 57 3. Composants de base 58 3.1 Diodes/LED 58 3.2 Résistances 61 3.3 Transistors 62 3.3.1 Introduction aux transistors 62 3.3.2 Transistors bipolaires 62 3.3.3 Transistors à effet de champ 65 3.4 Condensateurs 66 3.5 Bobines 69 2/9
4. Principes fondamentaux 71 4.1 Loi d Ohm 71 4.2 Loi des nœuds 74 4.3 Loi des mailles 75 5. Lecture et compréhension des schémas électriques 76 5.1 Montages en série 76 5.2 Montages en dérivation 78 6. Découverte d autres composants 80 6.1 Découverte de nouveaux composants 80 6.1.1 Multiplexeurs et démultiplexeurs 80 6.1.2 Relais 82 6.1.3 Photocoupleurs 83 6.2 Lecture de datasheets 84 6.3 Exemple de datasheet : le transistor 85 7. Premier branchement : relier la carte à une diode 90 Les bases de la programmation 1. Introduction 95 2. Quelques notions d informatique 96 3. Langage de programmation 96 3.1 Syntaxe de programmation 96 3.2 Inclusions et définitions 98 4. Variables et constantes 99 4.1 Définitions 99 3/9
4.2 Types de variables et constantes 103 4.3 Portée des variables 107 5. Opérations basiques 108 5.1 Opérations mathématiques 108 5.2 Opérations logiques 112 5.3 Opérations trigonométriques 114 6. Structures de contrôle 116 6.1 Structures conditionnelles 116 6.2 Boucles 119 7. Structures de données 121 7.1 Définitions générales et introduction à la complexité 121 7.2 Structures linéaires 123 7.3 Choix d'une structure de données 129 8. Fonctions 130 8.1 Définition d une fonction 130 8.2 Création d'une fonction 132 8.3 Appel d'une fonction 135 9. Compilation 138 9.1 Définition 138 9.2 Lecture des erreurs de compilation 139 La programmation sur Arduino 1. Structure d un programme 141 2. Variables et constantes spécifiques 143 4/9
3. Fonctions propres à l Arduino 145 3.1 Entrées/sorties 145 3.2 Gestion du temps 149 3.2.1 Fonctions de pause 149 3.2.2 Fonctions de décompte 150 3.3 Génération de nombres aléatoires 152 3.4 Manipulation de bits 154 3.5 Gestion des interruptions 156 4. Bibliothèques et objets 160 4.1 Définitions 160 4.2 Création d'une bibliothèque 161 4.2.1 Bibliothèque en C 161 4.2.2 Bibliothèque en C++ 167 4.3 Ajout de bibliothèques à son projet 173 Les entrées/sorties 1. Introduction 177 2. Les types d entrées 178 2.1 Les entrées digitales 178 2.2 Les entrées analogiques 180 2.3 Les entrées PWM 183 3. Les types de sorties 186 3.1 Les sorties digitales 186 3.2 Les sorties PWM 189 Les interfaces de communication 5/9
1. Présentation des interfaces 191 1.1 Liaison asynchrone 191 1.2 Liaison synchrone 192 2. Communication Serial 192 2.1 Principe de communication 192 2.2 Bibliothèque Serial 194 2.3 Exemple d utilisation de Serial 200 3. Communication I 2 C 201 3.1 Principe de communication 201 3.2 Bibliothèque Wire 203 3.2.1 Fonctions maîtres 204 3.2.2 Fonctions esclaves 205 3.2.3 Fonctions de lecture et d écriture 206 3.3 Exemple d utilisation de l I 2 C 208 4. Communication SPI 210 4.1 Principe de communication 210 4.2 Bibliothèque SPI 212 Les cartes Arduino 1. Introduction 215 2. Arduino Uno 216 2.1 Présentation de l Arduino Uno 216 2.2 Avantages et inconvénients 222 3. Arduino Mega 223 3.1 Présentation de l Arduino Mega 223 3.2 Avantages et inconvénients 226 6/9
4. Arduino Nano 227 4.1 Présentation de l Arduino Nano 227 4.2 Avantages et inconvénients 230 5. LilyPad Arduino 231 5.1 Présentation de la LilyPad Arduino 231 5.2 Avantages et inconvénients 235 6. Adapter la carte Arduino à son projet 236 Les shields 1. Définitions et utilisations 237 2. Le protoshield : construire vos propres shields 238 2.1 Définition générale 238 2.2 Utilisation d'un protoshield 239 3. Le module XBee : communiquer avec l extérieur 240 3.1 Définition générale 240 3.2 Intérêts et inconvénients 242 3.3 Utilisation d un module XBee 242 4. Les shields Ethernet/Wi-Fi : relier son Arduino à Internet 251 4.1 Définition générale 251 4.2 Le shield Ethernet 251 4.3 Le shield Wi-Fi 259 4.4 Le shield GSM 261 Les accessoires de l'arduino 7/9
1. Introduction 267 2. L écran LCD : communiquer avec l environnement 267 2.1 Brancher un écran 267 2.2 Utilisation d un écran 271 2.3 Réalisation d'une interface graphique 274 2.4 Utilisation de l écran pour exécuter des commandes 275 3. Les capteurs : connaître son environnement 278 3.1 Capteurs de distance 278 3.2 Capteurs de température 283 3.3 Capteurs de lumière 286 3.4 Capteurs d orientation 288 3.5 Capteurs de déplacement 294 4. Les moteurs : se déplacer dans son environnement 299 4.1 Définition générale 299 4.2 Types de moteurs 300 4.2.1 Servomoteurs 300 4.2.2 Moteurs pas à pas 302 4.2.3 Moteurs à courant continu 303 4.3 Mise en marche et arrêt d'un moteur 304 4.3.1 La bibliothèque Servo 304 4.3.2 La bibliothèque Stepper 306 5. Savoir s adapter à son environnement automatiquement 307 Vers l'internet des objets et la robotique 1. Internet des objets, objets connectés et objets intelligents 309 1.1 Définition générale 309 1.2 Intérêts, avantages et inconvénients 310 8/9
1.3 Réalisation d'objets intelligents avec Arduino 311 1.4 Cas particulier de la domotique 311 1.5 Application domotique : relier une lampe à une carte Arduino 313 2. Robotique 314 2.1 Définition générale 314 2.2 Réalisation de robots avec Arduino 315 2.3 Applications robotiques 316 Index 317 9/9