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