Apprendre à développer pour créer des objets intelligents



Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Prototypage électronique

Carte Relais GSM (Manuel Utilisateur)

PIC EVAL Dev Board PIC18F97J60

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Le transistor bipolaire

Les liaisons SPI et I2C

CORRECTION TP Multimètres - Mesures de résistances - I. Mesure directe de résistors avec ohmmètre - comparaison de deux instruments de mesure

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Centrale d alarme DA996

Fiche technique CPU 314SC/DPM (314-6CG13)

Activité initiation Arduino

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

12 applications pour maîtriser le PICBASIC PB-3B - Gérard GUIHÉNEUF. Elektor-Publitronic ISBN :

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Une carte pour vos projets

TO-PASS -FAQ- Télésurveillance et contrôle à distance

Projet Robot Centaure

UP 588/13 5WG AB13

Modules d entrées/sorties pour FX série XM07 et XM14

1. PRESENTATION DU PROJET

Conférence sur les microcontroleurs.

Guide de l utilisateur. Calibreur de Courant / Voltage Modèle A

MACHINE A SOUDER MANUEL D UTILISATION

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

Hotspot Mobile 3G+ HUAWEI E587. Guide de démarrage rapide

Hotspot Mobile 4G HUAWEI E5776. Guide de démarrage rapide

Mon Mac & Moi : Addendum de 3M/023 Tout sur ipod. Réf : 3M/023A

1. Généralités Certifications Ouverture du carton Contenu de la boîte... 3

Génie Industriel et Maintenance

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Programmation C. Apprendre à développer des programmes simples dans le langage C

CARACTERISTIQUE D UNE DIODE ET POINT DE FONCTIONNEMENT

INSTALLATION MODULE WEB

Les Mesures Électriques

VIII- Circuits séquentiels. Mémoires


STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Multichronomètre SA10 Présentation générale

fullprotect inside EOLE SPEie RS E-SPEie V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Mesure. Multimètre écologique J2. Réf : Français p 1. Version : 0110

Introduction à l algorithmique et à la programmation (Info 2)

Enregistreur de Température pour PC DALLAS 1820

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

Triphasé 400 V kw. Variateur multifonction haute performance

3 ÉLÉMENTS forment un LABoratoire.

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

NOTICE D'UTILISATION DU TABLEAU D ALARMES TECHNIQUES SAT

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Un ordinateur, c est quoi?

Modules d automatismes simples

Notice technique. Système de surveillance MAS 711

Table des matières. 1. Description du matériel : Données techniques : Présentation de la serrure :... 4

energy BOX WEB Automates de GTB

crm+ capteurs à ultrasons Extrait de notre catalogue en ligne : Mise à jour :

Chapitre 1 Régime transitoire dans les systèmes physiques

J TB/TW Limiteur de température, contrôleur de température avec afficheur LCD, montage sur rail oméga 35 mm

Business Everywhere pro

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

TER Licence 3 Electronique des Télécoms Transmission GSM

INSTALLATION DE LA CLÉ 3G+ UTILISATION VOTRE COMPTE CLIENT. Clé 3G+ Elle vous permet de connecter votre ordinateur aux réseaux haut débit mobile.

Bonjour, Le document qui suit est le support de la formation ''Arduino applications distantes''.

ACS-30-EU-PCM2-x-32A Régulation et surveillance du traçage électrique des bâtiments commerciaux et résidentiels pour divers domaines d application

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

CARACTERISTIQUES RAMOS ULTRA:

Guide d installation du serveur vidéo

13/11/2009 DUT-MUX-0185 /V2.0

Caméra IP motorisée de surveillance jour et nuit

Contrôle d accès UTIL TP N 1 découverte

Présentation et installation PCE-LOG V4 1-5

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

ENREGISTREUR DE TEMPERATURE

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Guide abrégé ME301-2

Belgacom Forum TM 3000 Manuel d utilisation

Baccalauréat Professionnel Électrotechnique, Énergie, Équipements Communicants

Manuel d'utilisation de la maquette

Notice d installation de la Centrale VIGIK DGM1

Guide abrégé ME401-2

Traitement de données

Mode d emploi pour lire des livres numériques

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Technique de sécurité

Études et Réalisation Génie Électrique

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

Comment télécharger et

Business Intelligence

Le multiplexage. Sommaire

Guide de l utilisateur Modem Wifi

Références pour la commande

Précision d un résultat et calculs d incertitudes

guide de votre clé 3G+ Internet Everywhere Huawei E160 l assistance en ligne Contactez votre service clients Orange :

Prise en main. Prise en main - 0

Manuel d aide à la pose

Transcription:

Arduino Apprendre à développer pour créer des objets intelligents Nicolas GOILAV Geoffrey LOI

Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RIARD dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement. Chapitre 1 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 Chapitre 2 Environnement de développement 1. Présentation............................................. 27 2. Installation.............................................. 29 2.1 Sous Windows....................................... 29 2.2 Sous Linux........................................... 31

2 Arduino Apprendre à développer pour créer des objets intelligents 2.3 Sous Mac OS......................................... 33 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 Chapitre 3 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

Table des matières 3 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 Chapitre 4 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 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

4 Arduino Apprendre à développer pour créer des objets intelligents 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 Chapitre 5 La programmation sur Arduino 1. Structure d un programme................................. 141 2. Variables et constantes spécifiques.......................... 143 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

Table des matières 5 4.2.2 Bibliothèque en C++............................ 167 4.3 Ajout de bibliothèques à son projet...................... 173 Chapitre 6 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 Chapitre 7 Les interfaces de communication 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

6 Arduino Apprendre à développer pour créer des objets intelligents 4. Communication SPI...................................... 210 4.1 Principe de communication............................ 210 4.2 Bibliothèque SPI..................................... 212 Chapitre 8 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 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 Chapitre 9 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

Table des matières 7 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 Chapitre 10 Les accessoires de l'arduino 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

8 Arduino Apprendre à développer pour créer des objets intelligents Chapitre 11 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 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

141 Chapitre 5 La programmation sur Arduino 1. Structure d un programme La programmation s ur Arduino Comme vu dans le chapitre précédent, le langage utilisé avec Arduino est très proche du langage C ou C++. C est notamment le cas pour la syntaxe et les types de variables. Cependant, ce langage présente quelques différences, principalement dans la structure d un programme. Un programme Arduino se décompose en deux parties principales : une première partie appelée setup, et une seconde appelée loop. Ces deux parties sont représentatives de la manière de fonctionner d un microcontrôleur et sont appelées dans cet ordre. En effet, un microcontrôleur est destiné à exécuter les instructions contenues dans sa mémoire de manière cyclique et infinie. Avant de s exécuter, le microcontrôleur a besoin d une phase de «configuration» de son environnement, notamment pour paramétrer des broches d entrées/sorties ou tout simplement pour fixer des variables globales. Cette phase correspond à la fonction setup. La fonction setup se présente de la manière suivante : void setup(){ [Instructions] ; } Les instructions contenues dans cette fonction ne sont exécutées qu une seule fois, et ce, lors de la mise sous tension de la carte.

142 Arduino Apprendre à développer pour créer des objets intelligents Remarque Une réinitialisation de la carte est considérée également comme une mise sous tension. La fonction setup est donc également exécutée après un reset. Une fois la configuration effectuée, le microcontrôleur débute l exécution des instructions contenues dans sa mémoire. Cette phase correspond à la fonction loop. La fonction loop se présente de la manière suivante : void loop(){ [Instructions] ; } Cette fonction s apparente à une boucle ne possédant aucune condition d arrêt. Le seul moyen de l arrêter est de couper l alimentation de la carte ou de réinitialiser la carte. Les instructions contenues dans cette fonction sont donc répétées aussi longtemps que la carte sera alimentée. Il est impératif que ces deux fonctions soient présentes dans le programme principal. L ordre d apparition de ces fonctions dans le programme n a pas d importance. Cependant, il est conseillé de garder la déclaration de ces fonctions dans cet ordre et d éviter de les séparer. Cela permet de rendre plus lisible le code, et surtout cela permet à un autre lecteur de repérer plus rapidement le début de la fonction principale. Il est également possible de déclarer des fonctions dans le même fichier que celui dans lequel est présent le programme Arduino. Ces déclarations de fonctions pourront s insérer à tout endroit du programme, du moment que la syntaxe est respectée. Enfin, il est possible, tout comme dans les programmes en C ou C++, d inclure des bibliothèques de fonctions dans son programme. Cette inclusion devra s effectuer, si nécessaire, avant la déclaration de toute fonction. Il est important de structurer efficacement son programme, afin de permettre une meilleure relecture et surtout de repérer rapidement d éventuelles erreurs. Un programme Arduino «efficace» pourrait se composer de la manière suivante : -Inclusion ou non des bibliothèques utilisées- -Déclaration des fonctions utilisées- Editions ENI - All rights reserved

La programmation sur Arduino Chapitre 5 143 void setup(){ [Instructions exécutées une seule fois lors de la mise sous tension de la carte] ; } void loop(){ [Instructions exécutées en boucle par le microcontrôleur] ; } 2. Variables et constantes spécifiques Les variables et constantes utilisées par le langage Arduino partagent également cette similarité avec le langage C et C++. Les variables présentées lors du chapitre précédent sont donc toutes applicables pour la programmation sur Arduino. Il en va de même pour les constantes. Le langage Arduino présente cependant quelques constantes qui lui sont propres. Ces dernières ne se retrouvent pas dans les autres langages et ne sont applicables qu à la programmation sur Arduino. Ces constantes spécifiques sont surtout utilisées pour contrôler les broches d entrées/sorties de la carte Arduino. Plus spécifiquement, il s agit de constantes permettant de paramétrer leurs modes de fonctionnement. HIGH et LOW Ces deux constantes sont employées avec les broches digitales. Comme vu précédemment (cf. chapitre Le module Arduino, section Entrées/sorties), les broches digitales manipulent des données digitales sous forme de signaux logiques. Les deux valeurs représentables sont donc définies par ces constantes. Elles correspondent dans la pratique à des valeurs de tension qui seront utilisées par les broches de l Arduino. Ces constantes ont des propriétés particulières qui dépendent du mode de fonctionnement que l on a attribué aux broches digitales. Lorsque ces broches sont en lecture, la constante HIGH correspond à une valeur de tension supérieure à 3V. La constante LOW correspond à une valeur de tension inférieure à 1,5V. Cela signifie qu il faut fournir des valeurs de tensions comprises dans ces marges pour que la lecture de ces broches soit comprise.

144 Arduino Apprendre à développer pour créer des objets intelligents Toutes les valeurs de tension comprises entre ces deux valeurs ne peuvent être interprétées par le microcontrôleur. Il est donc impératif que la tension ne soit pas comprise entre ces deux valeurs si l on souhaite qu il n y ait pas d erreur dans le programme. Lorsque les broches sont en écriture, la constante HIGH indique au microcontrôleur de fournir aux broches concernées une tension de 5V. Le microcontrôleur fournit à l inverse une tension de 0V lorsque la constante LOW est employée. OUTPUT et INPUT Ces deux constantes servent à déterminer si les broches auxquelles elles sont appliquées fonctionnent en lecture ou en écriture. Comme seules les broches digitales peuvent fonctionner dans ces deux modes (cf. chapitre Le module Arduino, section Entrées/sorties), ces deux constantes ne s appliquent donc que pour celles-ci. Lorsqu une broche est déclarée en INPUT, elle est placée dans un état dit de haute impédance. Dans cet état, les broches ne consomment quasiment pas de courant sur les circuits auxquels elles sont raccordées. Cet état correspond au mode entrée. C est également le mode de fonctionnement par défaut de toutes les broches digitales. Lorsqu une broche est déclarée en OUTPUT, elle peut fournir ou absorber jusqu à 40 ma de courant. Il s agit du mode de sortie des broches digitales. Dans ce mode, les broches génèrent suffisamment de courant pour alimenter des LED ou de petits capteurs. Rappelons néanmoins que même si toutes les broches peuvent fournir 40 ma de courant, il existe une limite totale cumulée de courant de 200 ma environ à ce qu une carte Arduino peut fournir. Editions ENI - All rights reserved

La programmation sur Arduino Chapitre 5 145 3. Fonctions propres à l Arduino Il existe également un certain nombre de fonctions qui sont spécifiques à l utilisation sur Arduino. Ces fonctions sont directement accessibles dans l environnement de développement Arduino sans avoir à utiliser de nouvelles bibliothèques. 3.1 Entrées/sorties Les fonctions d entrées/sorties permettent d'utiliser les broches présentes sur les cartes Arduino. On peut distinguer deux types de fonctions, vu qu'il existe deux types de broches. En effet, les broches analogiques et digitales ne se contrôlent pas de la même manière et il existe des fonctions spécifiques pour ces deux cas. Broches digitales Les fonctions suivantes permettent de manipuler les broches digitales des cartes Arduino. pinmode() Les broches digitales peuvent fonctionner en lecture ou en écriture. Cette fonction permet de préciser ce mode de fonctionnement. Elle doit être idéalement appelée lors de la fonction setup() du programme principal. pinmode(numéro de la broche, mode de fonctionnement); La broche à configurer doit être précisée dans les paramètres de la fonction sous la forme d un nombre. Ce dernier est représenté par le numéro qui est gravé sur la carte. Sur les cartes Arduino Uno, ce numéro va de 0 à 13. Il est important de noter que les broches analogiques peuvent également servir d entrée/sortie digitale. Les numéros à utiliser dans ce cas, pour une carte Arduino Uno par exemple, vont de A0 à A5. Le mode de fonctionnement enfin est déclaré en utilisant les deux constantes INPUT et OUTPUT définies dans la partie précédente. Par défaut, toutes les broches sont configurées en mode INPUT. Il n est techniquement pas nécessaire de le faire si l on souhaite utiliser une broche en lecture, mais il est fortement conseillé tout de même d effectuer systématiquement ce travail de configuration pour faciliter la lisibilité du programme.

146 Arduino Apprendre à développer pour créer des objets intelligents digitalwrite() L écriture sur les broches digitales est maintenant la prochaine étape. Pour cela, la fonction digitalwrite() entre en jeu. Une broche configurée en écriture doit envoyer une valeur et cette fonction indique quelle valeur utiliser. digitalwrite(numéro de la broche, valeur à envoyer); Le numéro de la broche, comme dans la fonction précédente, doit être indiqué dans les paramètres sous la forme d un nombre. La valeur à envoyer ensuite correspond aux deux constantes HIGH et LOW introduites dans la partie précédente. digitalread() La lecture est effectuée par la fonction digitalread(). Cette fonction ne prend en paramètre que le numéro de la broche sur laquelle la lecture est souhaitée. La valeur retournée ne peut être qu'une des deux constantes HIGH et LOW. Cette constante renvoyée, même si cela n'est précisé nulle part, est d un type numérique. Il est ainsi possible de stocker cette valeur dans une variable locale dans son programme pour peu que cette variable soit du bon type. byte valeur; valeur = digitalread(numéro de la broche); Broches analogiques Les broches analogiques ont un fonctionnement différent de celui de leur contrepartie digitale. De par leur nature, elles doivent pouvoir manipuler plus que deux valeurs. Ainsi, les microcontrôleurs équipant les Arduino disposent d un certain nombre de convertisseurs analogique/numérique (6 pour les Arduino Uno et 16 pour les Arduino Mega). La fonction de ces convertisseurs est de traduire une grandeur analogique, dans notre cas une tension électrique, en une valeur numérique qu'il sera possible de manipuler dans un programme Arduino. Le convertisseur présent dans les microcontrôleurs utilisés par les cartes Arduino peut manipuler des valeurs allant jusqu à 10 bits, soit des nombres compris entre 0 et 1023. Ainsi, le nombre 0 correspond à une valeur de tension nulle ou 0V, et le nombre 1023 correspond à une valeur maximale. Editions ENI - All rights reserved