arduino apprendre

117
ARDUINO Published : 2011-12-22 License : None 1

Upload: sandrine-gallard

Post on 25-Nov-2015

161 views

Category:

Documents


8 download

DESCRIPTION

Lear about arduino language

TRANSCRIPT

  • ARDUINO

    Published : 2011-12-22 License : None

    1

  • INTRODUCTION1. VOUS AVEZ DIT ARDUINO ?2. HISTORIQUE DU PROJET ARDUINO3. EXEMPLES D'USAGES4. INSTALLATION5. PRISE EN MAIN RAPIDE6. PROPOS DE CE LIVRE

    2

  • 1. VOUS AVEZ DIT ARDUINO ?Arduino est une plate-forme de prototypage d'objets interactifs usage cratif constitued'une carte lectronique et d'un environnement de programmation.Sans tout connatre ni tout comprendre de l'lectronique, cet environnement matriel et logicielpermet l'utilisateur de formuler ses projets par l'exprimentation directe avec l'aide denombreuses ressources disponibles en ligne.Pont tendu entre le monde rel et le monde numrique, Arduino permet d'tendre lescapacits de relations humain/machine ou environnement/machine.Arduino est un projet en source ouverte : la communaut importante d'utilisateurs et deconcepteurs permet chacun de trouver les rponses ses questions.

    MATRIELLa carte Arduino repose sur un circuit intgr (un mini ordinateur appel galement micro-contrleur) associe des entres et sorties qui permettent l'utilisateur de brancherdiffrents types d'lments externes :

    Ct entres, des capteurs qui collectent des informations sur leur environnementcomme la variation de temprature via une sonde thermique, le mouvement via undtecteur de prsence ou un acclromtre, le contact via un bouton-poussoir, etc.Ct sorties, des actionneurs qui agissent sur le monde physique telle une petite lampequi produit de la lumire, un moteur qui actionne un bras articul, etc.

    Comme le logiciel Arduino, le circuit lectronique de cette plaquette est libre et ses plans sontdisponibles sur internet. On peut donc les tudier et crer des drivs. Plusieurs constructeursproposent ainsi diffrents modles de circuits lectroniques programmables et utilisables avecle logiciel Arduino 1.Il existe plusieurs varits de cartes Arduino. La figure ci-dessous montre par exemple, ladernire version de la carte Arduino : la Uno , sortie en 2010.

    3

  • Cette carte lectronique peut tre autonome et fonctionner sans ordinateur ou servird'interface avec celui-ci.

    LOGICIELL'environnement de programmation Arduino (IDE en anglais) est une application crite en Javainspire du langage Processing 2 . L'IDE permet d'crire, de modifier un programme et de leconvertir en une srie d'instructions comprhensibles pour la carte.

    QUELQUES OUTILS FRQUEMMENT UTILISS AVECARDUINO4

  • Lorsque l'Arduino est connect un ordinateur, il est capable de communiquer avec diversesapplications, notamment :

    ProcessingConu par des artistes, pour des artistes, Processing 3 est un environnement de crationfrquemment utilis pour gnrer des uvres multimdias partir d'un code informatique surordinateur. L'attrait de ce logiciel rside dans sa simplicit d'utilisation et dans la diversit deses applications : image, son, applications sur Internet et sur tlphones mobiles, conceptiond'objets lectroniques interactifs.Processing fdre une forte communaut d'utilisateurs professionnels et amateurs : artistes,graphistes, vidastes, typographes, architectes, web designers et designers en gnral. Il estgalement utilis par des enseignants en arts qui souhaitent familiariser leurs tudiants avec lespotentialits artistiques de la programmation, les concepteurs du logiciel l'ayant pens dsl'origine comme un outil d'apprentissage.Un exemple de code Processing est utilis dans le projet Oscilloscope (voir section Projets , chapitre Oscilloscope )

    Pure DataPure Data 4 (souvent abrg Pd) est un logiciel de cration multimdia interactive courammentutilis dans les domaines artistique, scientifique et pdagogique. Sa popularit rside dans sespossibilits de programmation en temps rel. Plutt qu'un langage de programmation textuel,Pure Data propose un environnement de programmation graphique dans lequel l'utilisateurest invit manipuler des icnes reprsentant des fonctionnalits et les brancher ensemble.Un exemple de programme Pure Data est utilis dans le projet Texte brillant (voir section Projets , chapitre Texte brillant )

    SupercolliderSupercollider 5 est un environnement et un langage de programmation pour la synthse audioen temps rel et la composition algorithmique. Il est disponible pour toutes les plates formeset distribu sous licence GPL. Sa particularit de permettre la modification de code la voleen fait un des principaux langages de live coding. SuperCollider est un logiciel gratuit. La versionla plus rcente (3.4) est sortie en juillet 2010.

    S4A (Scratch For Arduino)Scratch For Arduino (S4A) est une modification de l'application Scratch qui permet deprogrammer simplement, facilement et intuitivement des instructions tlverser sur la carteArduino. Tout comme Arduino et Scratch, S4A est un logiciel libre donc tlchargeablegratuitement et volue avec les participations communautaires. S4A comme Scratch sontd'abord conus des fins pdagogiques et destins des enfants, adolescents, mais aussi des adultes dbutants. Ainsi, chacun peut approcher la programmation informatique pourmieux comprendre notre socit numrique . S4A peut encore tre utilis commeprototypage rapide d'un projet.

    1. Seul le nom Arduino n'est pas utilisable librement, de telle sorte toujours pouvoiridentifier le projet de ses drivs.^

    2. http://processing.org/^3. http://fr.flossmanuals.net/Processing^4. http://fr.flossmanuals.net/Puredata^5. http://fr.wikipedia.org/wiki/SuperCollider^

    5

  • 2. HISTORIQUE DU PROJET ARDUINOLe projet Arduino est issu d'une quipe d'enseignants et d'tudiants de l'cole de Designd'Interaction d'Ivrea 1 (Italie). Ils rencontraient un problme majeur cette priode (avant 2003- 2004) : les outils ncessaires la cration de projets d'interactivit taient complexes etonreux (entre 80 et 100 euros). Ces cots souvent trop levs rendaient difficiles ledveloppement par les tudiants de nombreux projets et ceci ralentissait la mise en uvreconcrte de leur apprentissage.Jusqu'alors, les outils de prototypage taient principalement ddis l'ingnierie, la robotiqueet aux domaines techniques. Ils sont puissants mais leurs processus de dveloppement sontlongs et ils sont difficiles apprendre et utiliser pour les artistes, les designers d'interactionset, plus gnralement, pour les dbutants.Leur proccupation se concentra alors sur la ralisation d'un matriel moins cher et plus facile utiliser. Ils souhaitaient crer un environnement proche de Processing, ce langage deprogrammation dvelopp ds 2001 par Casey Reas 2 et Ben Fry, deux anciens tudiants deJohn Maeda au M.I.T ., lui-mme initiateur du projet DBN 3.En 2003, Hernando Barragan, pour sa thse de fin d'tudes, avait entrepris le dveloppementd'une carte lectronique dnomme Wiring, accompagne d'un environnement deprogrammation libre et ouvert. Pour ce travail, Hernando Barragan rutilisait les sources duprojet Processing. Base sur un langage de programmation facile d'accs et adapte auxdveloppements de projets de designers, la carte Wiring a donc inspir le projet Arduino(2005).Comme pour Wiring, l'objectif tait d'arriver un dispositif simple utiliser, dont les cotsseraient peu levs, les codes et les plans libres (c'est--dire dont les sources sontouvertes et peuvent tre modifies, amliores, distribues par les utilisateurs eux-mmes) et,enfin, multi-plates-formes (indpendant du systme d'exploitation utilis).Conu par une quipe de professeurs et dtudiants (David Mellis, Tom Igoe, Gianluca Martino,David Cuartielles, Massimo Banzi ainsi que Nicholas Zambetti), l'environnement Arduino estparticulirement adapt la production artistique ainsi qu'au dveloppement de conceptionsqui peuvent trouver leurs ralisations dans la production industrielle.Le nom Arduino trouve son origine dans le nom du bar dans lequel lquipe avait l'habitude dese retrouver. Arduino est aussi le nom d'un roi italien, personnage historique de la ville ArduindIvre , ou encore un prnom italien masculin qui signifie l'ami fort .

    1. Lcole Interaction Design Institute Ivrea (IDII) est aujourdhui situe Copenhagensous le nom de Copenhagen Institute of Interaction Design .^

    2. Casey Reas tait lui-mme enseignant IVREA, pour Processing, cette poque. ^3. Design By Numbers, un langage de programmation spcialement ddi aux tudiants en

    arts visuels.^

    6

  • 3. EXEMPLES D'USAGESPlate-forme logicielle et matrielle de cration d'objets numriques, Arduino permet deprogrammer des circuits lectroniques qui interagissent avec le milieu qui les entoure.Connects notamment des capteurs sonores, thermiques, de mouvement, ces circuitslectroniques peu coteux, dnomms micro-contrleurs, peuvent en retour gnrer desimages, actionner un bras articul, envoyer des messages sur Internet, etc. Des dizaines demilliers d'artistes, de designers, d'ingnieurs, de chercheurs, d'enseignants et mmed'entreprises l'utilisent pour raliser des projets incroyables dans de multiples domaines :

    prototypage rapide de projets innovants utilisant l'lectronique, Arduino facilitantl'exprimentation en amont de la phase d'industrialisation ;production artisanale d'objets numriques et de machines-outils faible cotdans la perspective d'une culture d'appropriation technologique favorisant le bricolage etla dbrouille ;captation et analyse de donnes scientifiques (environnement, nergie, etc.) desfins ducatives, de recherche ou d'appropriation citoyenne ;spectacle vivant, grce aux nombreuses fonctions d'interaction offertes par Arduino, ilest possible de crer des performances de VJing, utiliser le mouvement des danseurspour gnrer en temps rel des effets sonores et visuels dans un spectacle ;installations d'arts numriques, Arduino permettant de raliser des uvres d'artinteragissant de manire autonome avec le public ;Mode et design textile, plusieurs stylistes et designers investissant ce domaine cratifen exploitant les possibilits offertes par l'intgration de l'lectronique notamment dansdes vtements (e-textile) ;projets pdagogiques destination d'tudiants, de professionnels ou du grand publicselon les porteurs de ces initiatives : coles suprieures, centres de formation spcialiseou des Media Labs.

    La suite de ce chapitre va vous prsenter quelques exemples de travaux raliss avec l'aided'Arduino dans diffrents contextes.

    PRODUCTION ARTISANALE D'OBJETS NUMRIQUES ET DEMACHINES-OUTILSArduino facilite le prototypage rapide de projets innovants ainsi que la production artisanaled'objets numriques et de machines-outils faible cot notamment dans la perspective d'uneculture d'appropriation technologique et citoyenne favorisant le bricolage et la dbrouille.

    Frida V

    7

  • Fix sur un vlo, Frida V prend la forme dun botier contenant un ensemble de capteurs quianalysent et compilent les informations rcoltes durant le parcours du cycliste : pollutionatmosphrique (capteurs de gaz), wifi ouvert dans la ville (routeur wifi), position gographique(GPS), documentation audiovisuelle des parcours (camra et microphone). Lensemble estassembl dans une coque rsistante et portable adaptable sur tout type de vlos.Les donnes recueillies sont archives sur un serveur et reprsentes graphiquement sur unecarte, la MeTaMap. Ces informations peuvent tre annotes par les participants en direct grceaux contrleurs de la Frida. La Frida est constitue notamment dun routeur Linux embarqu etd'un systme de micro-Arduinos. Les logiciels sont dvelopps en libre et adaptables sur denombreuses autres plates-formes matrielles de type ordiphones.Production de 16 botiers prototypes raliss en 2009 par Luka Frelih, iga Kranjec, Jure Lozi,Rok Hlavaty, Miha Turi, Igor Krianovskij (Slovnie) dans le cadre d'une rsidence de cration la Galerie Ars longa (Paris, France) en partenariat avec Ljubljana Laboratory for Digital Mediaand Cultur (Ljubljana, Slovnie) l'occasion du festival Futur en Seine (France, 2009) :www.arslonga.fr/archives/262/

    Fraiseuse numrique

    Fraiseuse numrique ralis lors du Bootcamp Make ta machine (Nantes, 2011)

    8

  • Arduino peut agir comme un automate de commande pour piloter une machine commandenumrique fabrique maison, qui cote bien moins cher qu'un modle achet, comme cettefraiseuse, inspire du modle canadien Oomloot , adapt aux mesures mtriques et ralisedurant le bootcamp Make ta machine Nantes au printemps 2011.Cette machine peut raliser des gravures, des dcoupes et des usinages dans divers matriaux(bois, aluminium, circuits lectroniques, etc.).Photographies et plan de cette machine outil : http://www.booki.cc/bootcamp-make-ta-machine

    Imprimante 3D Reprap

    RepRap est une imprimante de bureau 3D libre capable de fabriquer des objets en plastique.Comme la plupart des pices de la RepRap sont faites de cette matire et que la RepRap peutles crer, cette machine est considre comme auto-rplicable .RepRap s'inscrit dans le mouvement du matriel libre et de la fabrication de machines-outils faible cot. L'absence de brevet et la mise disposition gratuite des plans offrent la possibilit quiconque de la construire avec du temps et un minimum de matriel. Cela signifie galementque si vous avez une RepRap, vous pouvez raliser beaucoup de choses utiles, voire crer uneautre RepRap pour un ami.Projet en constante amlioration, la RepRap existe en plusieurs modles. L'lectronique depilotage de la RepRap est base sur Arduino.Initi en 2005 par Adrian Bowyer (Royaume-Uni) : http://reprap.org

    Projet Solar Sinter

    La Solar Sinter dans le dsert gyptien (Crdit photographique : Markus Kayser)

    9

  • Adoptant une approche originale o les rayons du soleil remplacent la technologie laser et lesable divers produits chimiques utiliss par certaines imprimantes 3D, Solar Sinter est unemachine nergie solaire permettant de fabriquer des objets en verre.Dans les dserts du monde, deux lments dominent : le soleil et le sable. Le premier offre unesource d'nergie potentielle immense, le second un approvisionnement presque illimit en silicesous forme de sable. Le sable de silice, lorsqu'il est chauff son point de fusion puis refroidi,se solidifie en formant du verre opaque.L'Arduino sert suivre le soleil dans son dplacement et positionner les rayons concentrspar des lentilles optiques sur une surface de sable en fonction de la forme de l'objet dsir.Ralis en 2011 par Markus Kayser (Allemagne) : www.markuskayser.com/work/solarsinter/

    PRODUCTIONS ARTISTIQUES AVEC ARDUINOGrce aux nombreuses fonctions offertes par Arduino, il est possible de crer des spectaclesd'art vivant gnrant des effets visuels et sonores originaux ainsi que des uvres d'artnumrique interagissant de manire autonome avec le public.

    Performance Solenodes Midi

    Solnodes midi lors des rencontres multimdias LabtoLab (Nantes, 2011)Solnodes midi est une performance de percutions numriques qui joue sur la rsonance desmatriaux : un Arduino quip d'un module midi actionne des petits lectro-aimants quipercutent les surfaces sur lesquelles ils sont installs au rythme d'une partition ralise sur unsquenceur musical.Selon la nature du support o les lectro-aimants sont placs (arbres, sonnettes de vlos oustructures mtalliques d'un btiment tel un balcon), les sons produits sont transforms etamplifis.Ralis en 2011 par Antoine Bellanger (France) : http://gratuitmusic.com/solenoides.html

    La Chorale roulettes

    10

  • La Chorale roulette prsente la Galerie Pierre-Franois Ouellette art contemporain lors del'exposition collective Encodeurs (Montral, 2007).La Chorale roulettes est une installation sonore utilisant Arduino qui met en scne destlphones cadran, symboles de la communication moderne. Chaque appareil a conserv sasonnerie originale. Additionnes et composes, celles-ci gnrent un rpertoire tendu o destimbres joyeux et entranants peuvent rpondre des sons dune infinie tristesse.La Chorale roulettes propose une gamme de timbres allant de la sonnerie mlodieuse au clic peine audible dun ronron mtallique assourdi.Ralis en 2007 par Darsha Hewitt et Alexandre Quessy (Canada-Qubec) :http://alexandre.quessy.net/?q=rotarianchoir

    tre aux anges, variation pour 7 angelinos

    11

  • tre aux anges prsent l'occasion du festival panOramas (Bordeaux, 2010)Alliant lments rtro et composants lectroniques, cette uvre numrique se nourrit desrseaux sociaux d'Internet pour sanimer potiquement au passage des anges : des danseuses,prisonnires de bouteilles de verre, entament leur ballet accompagn d'une petite mlodielorsque le flux de messages publics de Twitter contient les mots ange, tre ange ou trange.Un angelino est plus prcisment compose d'une danseuse contenue dans une bouteillemusicale de type Lucas Bols utilise comme un ready-made et connecte internet via unArduino. Chaque angelino ragit un mot particulier. Lors du ballet, le spectateur oul'internaute peut agir distance sur l'angelino de son choix en publiant un message sur twittercomportant l'un des mots choisis .Ralis en 2010 par Albertine Meunier (France) : www.albertinemeunier.net/etre-aux-anges/

    Bountou Kheweul

    12

  • Bountou Kheweul au 8e Forum des arts numriques de Martinique (Fort de France, 2011)Bountou Kheweul, qui signifie Porte de toutes les grces en wolof, est le rsultat d'unersidence d'artiste de Armin Kane en Martinique dans le cadre d'un projet d'essaimage depratiques artistiques numriques en Afrique de l'Ouest et dans les Carabes (projet Rose desvents numriques).Mixant illustrations au fusain et technologies interactives, Bountou Kheweul interroge les racinesdes cultures martiniquaises et sngalaises en reprant des similitudes observes et mises enscne sous forme de squences vidos et sonores.Ralis en 2011 par Armin Kane (Sngal) avec l'appui technologique de Roland Kossigan Assilevi(Togo) : http://ker-thiossane.org/spip.php?article74

    Ecologia

    uvre minimaliste, Ecologia illustre graphiquement l'tat de la dforestation dans 12 pays dumonde de 1990 2007 . A chaque anne correspond une suite de lignes traces sur les sillonsde la coupe d'un arbre, leur frquence et leur longueur variant en fonction de l'intensit et dela surface en km2 du processus de dforestation.

    13

  • Le trac des lignes a t obtenu en utilisant les capacits de calcul de l'ordinateur connect viaArduino une machine de pyrogravure spcialement conue pour graver des objets de formecirculaire.Ralis en 2010 par Lucien Langton (Suisse).

    Back

    Back au festival Afropixel (Dakar, 2010)Ralis dans le cadre d'un projet d'essaimage de pratiques artistiques numriques en Afriquede l'Ouest et dans les Carabes (projet Rose des vents numriques), Back est une installationnumrique sur le thme de la reconstruction et de la capacit de rsilience de l'art. C'estl'interaction du public qui la fois brise une poterie et la reconstruit en remontant dans letemps.Back repose sur l'utilisation d'Arduino connect des capteurs de prsence et de pression, unordinateur ainsi qu'un cran : le spectateur en s'approchant de l'installation enclenche unesquence vido o l'on voit une poterie traditionnelle africaine en suspension chuter et sebriser. En soufflant sur une feuille place dans un vase, le sens de droulement de la vidos'inverse et la poterie brise se reconstruit.Ralis en 2010 par Charles Seck (Sngal), Samba Tounkara (Sngal), Said Afifi (Maroc) etRoland Kossigan Assilevi (Togo) pour la partie technologique : www.ker-thiossane.org/spip.php?article26

    Zahra-Zoujaj (Fleur-Verre)

    14

  • Zahra-Zoujaj expose au Al-Riwaq Art Space Doha (Qatar)Aprs avoir t invit pntrer dans la Hojra, une structure de forme octogonale sertrcissant vers le haut l'instar des pyramides, le spectateur dcouvre un ensemble de 77fleurs en verre souffl suspendues au plafond, tte en bas . Chaque fleur est unique etsymbolise l'une des 77 rgles de convivialit tires du Coran. Leurs curs sont forms d'uneboule rouge identique lintrieur desquels palpite une douce lumire rouge dont lintensitbaisse et augmente en des rythmes diffrents. Exprience contemplative, ce nest quaprsquelques minutes dattention que la quinzaine de spectateurs que peut contenir la Hojra,parvient distinguer les vritables nuances colores de chacune des fleurs disposes encoupole autour de 7 cercles concentriques.Utilisant notamment Arduino, cette uvre monumentale gnrative a t ralise en 2010-2011par l'artiste Youns Rahmoun (Maroc) avec l'appui technique du Centre International dArtVerrier de Meisenthal et de Maurin Donneaud (France) pour la partie lectronique :

    Prsentation de l'installation interactive sur le site internet de Youns Rahmoun :www.younesrahmoun.com/FR/T ravaux/T ravaux.htmlCode source et plan lectronique de l'installation : http://maurin.donneaud.free.fr/? -Zahra-zoujaj

    Diffractions transmutatoires

    15

  • L'installation Diffractions Transmutatoires expose la Galerie L'Espace d'en Bas dans le cadre duFestival Mal au pixel (Paris, juin 2011) / Crdits photographiques : Galerie Espace d'en Bas la frontire de la science et de la para-science, Diffractions T ransmutatoires, rvle dans unde ses modules, la vie secrte d'une plante et ses interactions subtiles avec le mondeenvironnant. Cette installation, fruit des travaux mens depuis 2006 par les artistes HoriaCosmin Samola et Marie-Christine Driesen, requestionne la notion de perception primaire dveloppe par Cleve Baxter dans les annes 1960.Arduino a servi prototyper ce module-vgtal, en interfaant le dispositif plus ancien quirepose sur un dtecteur de mensonges. La version finalise de cette installation utilise prsent des circuits lectroniques spcifiques et davantage performants pour analyser lessignaux biologiques provenant de la plante.Ralis en 2010 par Horia Cosmin Samola (Roumanie) et Marie-Christine Driesen (France) :www.ghostlab.org/Diffractions-T ransmutatoires-2 (vido de l'installation expose l'Abbaye deNoirlac, Noirlac, 2011).

    BeamBall

    BeamBall au Comptoir suisse 2011.16

  • Au croisement de l'installation et du jeu vido, cette cration numrique simule lefonctionnement d'un flipper gant l'aide d'une balle lumineuse pilote par le spectateur.L'animation visuelle de la balle et des champignons du flipper est projete sur les structures enrelief de l'espace de jeu. Arduino sert d'interface entre les gros boutons poussoirs de laconsole utilise par le public et la partie informatique de l'installation.Ralis par Sigmasix en partenariat avec Lumens 8 :

    vido de l'installation : http://vimeo.com/30084908Site de Sigmasix : www.sigma.ch

    mots cousus

    Carte interactive sur tissu de mots cousus prsente l'exposition Renum (Nantes, 2011) mots cousus est le rsultat d'une rsidence d'artiste dans lequel des femmes retraites ontt invites tmoigner de la relation aux lieux dans lesquels elles ont travaill ainsi qu'participer la cration d'une uvre collective numrique.Quelles ont t leurs activits avant de se retrouver la retraite ? Comment imaginent-elles letravail dans une ville utopique ? Quels sont les obstacles pour y arriver ? partir dinterviews,les artistes et les participantes ont ralis ensemble deux cartographies sonores urbaines, lunephysique, sur une matire textile, lautre virtuelle, en ligne.La carte sur tissu possde des points ractifs, cousus des fils conducteurs relis des cbleslectroniques et une carte Arduino. Le spectateur entend le tmoignage associ un lieu deson choix en piquant simplement l'aide d'une aiguille coudre la surface de la carte.Cration de Nicolas Malev, Wendy Van Wynsberghe, Peter Westenberg et An Mertens ducollectif Constant (Belgique) avec la participation de femmes de la ville de Nantes (France) :www.constantvzw.org/site/ReNUM,1295.html et www.amotscousus.constantvzw.org

    MODE ET DESIGN TEXTILE

    17

  • Arduino suscite l'intrt de nombreux chercheurs et professionnels de la mode et du designtextile en offrant la possibilit d'insrer des circuits lectroniques miniaturiss dans lesvtements.

    Robes interactives Walking City et Living Pod

    Crdit photographique : Dominique LafondYing Gao est designer de mode et professeure l'Universit du Qubec Montral. traverssa recherche, elle remet en question la notion de vtement tel qu'on le connat en alliant ledesign urbain, l'architecture et le multimdia. En incorporant des lments technologiques sescrations, elle explore la construction du vtement et le dploiement de sa forme.L'Arduino est ici utilis pour modifier la structure des vtements en contrlant moteurs, valvespneumatiques et lments lumineux qui se trouvent cachs sous la surface du tissu, mais aussipour analyser l'environnement immdiat qui les entoure.Ralis en 2006 et 2008 par Ying Gao (Canada-Qubec) en collaboration avec Simon Laroche(Canada-Qubec) pour le design interactif : www.yinggao.ca

    Climate Dress

    18

  • Climate Dress au Salon Tech Textile (Francfort, 2011)Climate Dress est une robe faite de broderie conductrice, de plus d'une centaine de minusculesdiodes lumineuses, d'un dtecteur de gaz carbonique (CO2) et de cartes Arduino Lylipad trsfines conues pour s'intgrer facilement dans un tissu.Cette robe climatique s'illumine de diffrents motifs et change de rythme de pulsation selon leniveau de concentration de C02 dans l'air, permettant ainsi la personne qui la porte comme son entourage d'tre davantage conscients des problmes environnementaux.Ralis en 2011 par Hanne Louise Johannesen et Michel Guglielmi (Danemark) avec le soutien del'Alexandra Institute : www.diffus.dk/pollutiondress/intro.htm

    Textile XY

    19

  • Textile XY lors de l'exposition Futurotextiles 2006 Lille (France, 2006) la rencontre du tissage et de l'lectronique, le textile XY est un textile capteur qui permet delocaliser la position d'un contact sa surface. N de la volont de repenser l'ergonomie desinterfaces numriques, cette recherche initie en 2005 a donn naissance plusieursdveloppements de textiles tactiles.Les premiers prototypes ont t raliss en utilisant Arduino et ont permis d'imaginer desusages dans de nombreux domaines tel que la mode, les jeux pour enfants, etc.Dvelopp depuis 2005 par Maurin Donneaud et Vincent Roudaut (France) :http://xyinteraction.free.fr/wiki/pmwiki.php/FR/TextileXY/

    PROJETS PDAGOGIQUES AVEC ARDUINOPlusieurs projets pdagogiques destination d'tudiants, de professionnels ou du grand publicreposent sur l'utilisation d'Arduino.

    Valise pdagogique cration interactive

    Prsentation de la valise pdagogique Kr Thiossane, Villa des arts et du multimdia.

    20

  • Ralis dans le cadre d'un projet d'essaimage de pratiques artistiques numriques en Afriquede l'Ouest et dans les Carabes (projet Rose des vents numriques) , la Valise pdagogiquecration interactive est un ensemble matriel, logiciel et documentaire pour l'apprentissage destechnologies d'Interaction Temps Rel dans la cration contemporaine, tous champs artistiquesconfondus (arts plastiques, danse, thtre, musique, architecture, design, etc).quipe de deux cartes Arduino, la valise peut servir aussi bien de plate-forme d'apprentissagedans le cadre d'un atelier de dcouverte de l'interaction en art que d'outil de cration pourartiste en permettant d'inventer, de simuler puis de raliser des milliers de dispositifsinteractifs diffrents.Ralis en 2010-2011 par Jean-Nol Montagn (artiste plasticien), Jrme Abel (artistedveloppeur) et les lectroniciens africains de ENDA Ecopole en partenariat avec Kr Thiossane(Sngal) et le CRAS (France) : www.ker-thiossane.org/spip.php?article6

    MIAM - Mallette interactive artistique multimdia

    Illustration des priphriques et dispositifs contenus dans la Mallette Interactive ArtistiqueMultimdiaDestine tre tant un outil pdagogique quun instrument/systme vocation artistique, laMallette Interactive Artistique Multimdia (MIAM) est constitue dun ordinateur quip despriphriques les plus couramment utiliss dans les dispositifs et instruments interactifs(capteurs divers, webcam, joystick, wiimote, carte Arduino, etc.). Elle offre aux enseignants etformateurs de nombreuses ressources numriques et multimdias "prtes l'emploi" etdestines un large public pour un dcryptage et une approche de lhistoire de lart numriqueet interactif de faon didactique et illustre.Le projet de la Mallette Interactive Artistique Multimdia a reu le soutien financier du Ministrede la Culture et de la Communication (France).Ralis en 2010-2011 par les associations Labomedia et Ping (France) en collaboration avec laFabrique du Libre : http://lamiam.fr

    21

  • Atelier Jardin lectronique et environnement

    Gros plan sur une des fleurs interactives ralises par des jeunes de la Commune de Grand Yoff Dakar (Sngal, 2011).Avec lobjectif de rflchir sur la qualit environnementale des villes dans lesquelles ils vivent,une trentaine de jeunes sngalais ont particip Dakar cet atelier de cration numriqueanim par l'artiste espagnol Victor Via (www.dosislas.org). Du 19 au 30 septembre 2011, cesjeunes de 12 18 ans ont t invits construire sous une forme ludique et crative descapteurs lectroniques pour mesurer des lments de l'environnement tels que le rayonnementsolaire, la temprature, la pollution, l'humidit ou le niveau sonore de la ville.Utilisant notamment Arduino pour la partie lectronique, ces artefacts sensibles au milieu quiles entoure ont t fabriqus partir d'objets obsoltes et de matriaux de rcuprationcomme des jouets inutiliss, du carton, du ruban adhsif, du papier journal, des bouteilles enplastique et dautres matires recyclables.Le dernier jour de l'atelier, les enfants ont analys la qualit de leur environnement eninteraction avec les passants et en ralisant un jardin phmre constitu de planteslectroniques installes dans un espace public du quartier o ils vivent.Cet atelier suivi d'une exposition ont t organiss par la structure sngalaise T rias cultureavec lappui de Music et culture Vs Prod, la mairie de Grand-Yoff, les ASC (Dool, Grand-Yoff,Gangui, Rakadiou et Yaakar) , ENDA Jeunesse et Action, Jaboot, le Centre Talibou Dabo enpartenariat avec l'Ambassade d'Espagne au Sngal et de Cultura Dakar (Espagne) :www.triasculture.net/AtelierVictorVina/index.htmlLes images des ralisations prsentes dans ce chapitre sont la proprit de leurs auteursrespectifs.

    22

  • 4. INSTALLATIONL'installation de l'interface de programmation Arduino est relativement simple et possible surles plates-formes Windows, Mac OS X et Linux. L'environnement de programmation Arduino estcrit en Java et l'interface est inspire de Processing, un compilateur avr-gcc (pour leprocesseur du micro-contrleur) ainsi que d'autres logiciels libres. Puisque Arduino s'appuie surJava, il est ncessaire que la machine virtuelle Java soit installe sur votre systmed'exploitation (ou mise jour). Elle l'est normalement sur Mac OS X mais il est possible quesous Windows ou Linux, il soit demand de l'installer au cours du processus d'installationd'Arduino.Une documentation en ligne existe pour vous aider dans l'installation du logiciel Arduino l'adresse suivante :

    http://arduino.cc/fr/Main/DebuterInstallationCette aide supplmentaire peut vous tre utile pour adapter la mthode d'installation selonvotre systme d'exploitation et le type de micro-contrleur Arduino que vous possdez. Lasuite de ce chapitre reprend les tapes principales et gnrales pour l'installation de cetteapplication.Pour tlcharger le fichier d'installation, il vous suffit de vous rendre sur la page :

    http://arduino.cc/en/Main/SoftwarePour slectionner une version, cliquez sur le nom qui correspond votre systmed'exploitation et sauvegardez sur votre ordinateur le fichier correspondant. Il est noter quedans le cadre de ce manuel, la version anglaise sera utilise puisqu'elle contient habituellementdes mises jour plus rcentes que la version franaise.Pour la suite de ce chapitre, dans les noms de fichiers et dossiers, l'appendice xxxx annex Arduino fait rfrence la version de l'application Arduino utilise.

    SOUS WINDOWSIl vous faut d'abord tlcharger le fichier arduino-xxxx.zip. Une fois le tlchargement termin,vous dcompressez l'archive et dplacez la de prfrence dans le dossier C:\Program Files\ .En utilisant un cble USB, branchez votre carte Arduino votre ordinateur. Lorsque vousconnectez une carte d'interfaage Arduino pour la premire fois, Windows devrait dmarrer leprocessus d'installation du pilote (driver).Quand il est demand si Windows doit se connecter Windows Update pour rechercher lelogiciel, choisir NON, pas maintenant puis Suivant .Slectionnez l'installation depuis une liste ou un emplacement spcifique et cliquez sur Suivant .Assurez-vous que Rechercher le meilleur pilote dans ces emplacements est coch ;dcochez Rechercher dans les mdias amovibles ; cochez Inclure cet emplacement dans larecherche et ouvrir le sous-rpertoire /drivers/FTDI_USB dans le rpertoire arduino-xxxxtlcharg prcdemment (au besoin, la dernire version des pilotes peut-tre trouve sur lesite FTDI). Cliquez sur Suivant .L'assistant va ensuite rechercher le pilote et vous dire que le USB Serial Converter a ttrouv. Cliquez sur Terminer .L'assistant de Nouveau Matriel devrait apparatre nouveau : rptez la procdure nouveau. cette tape de l'installation, l'assistant devrait indiquer USB Serial Port a ttrouv . Cliquez sur Terminer .

    23

  • Rendez-vous ensuite dans le dossier C:\Program Files\arduino-xxxx et excutez le fichierarduino.exe pour lancer l'application.

    SOUS MAC OS XIl vous faut d'abord tlcharger le fichier arduino-xxxx.dmg. Une fois le tlchargement termin,l'image disque devrait se monter automatiquement. Si ce n'est pas le cas, double-cliquezdessus. Placez l'application Arduino de prfrence dans le dossier Applications de votreordinateur.Dans le cas o votre carte Arduino n'est pas de type Uno ou Mega 2560 (donc pour tous lesmodles plus anciens), il faudra galement installer les pilotes FTDI (au besoin, la dernireversion des pilotes peut-tre trouve sur le site FTDI 1 ). Pour ce faire, il faut simplementcliquer sur l'icne FTDIUSBSerialDriver_xxxxxxx.mpkg. Suite cette installation, redmarrezvotre ordinateur.Branchez la carte Arduino votre ordinateur avec le cble USB.Dans le cas o votre carte Arduino est de type Uno ou Mega 2560, une fentre apparatindiquant qu'une nouvelle interface rseau a t dtecte. Slectionnez Prfrences rseau et l'ouverture cliquez sur Appliquer . Mme si les cartes Uno ou Mega 2560 sont dcritescomme Non configur , l'installation devrait aboutir.Quittez les Prfrences systme .Vous pouvez maintenant lancer l'application Arduino partir de votre dossier Applications ou encore de votre dock si vous y avez install un alias (icne de raccourci) de l'applicationArduino.

    SOUS GNU/LINUXLa procdure d'installation sous GNU/Linux dpend de la distribution utilise et l'excution duprogramme dpend galement de l'installation d'autres pilotes ou logiciels. Pour les utilisateursde Linux, il est conseill de visiter la page suivante (en anglais) pour connatre la marche suivre :

    http://www.arduino.cc/playground/Learning/Linux

    1. http://www.ftdichip.com/FTDrivers.htm^

    24

  • 5. PRISE EN MAIN RAPIDECe chapitre vous prsente les principales fonctionnalits de l'interface de lapplication Arduino.L'application Arduino vous permet de crer et diter un programme (appel sketch) qui seracompil puis tlvers sur la carte Arduino. Ainsi, lorsque vous apportez des changements surle code, ces changements ne seront effectifs qu'une fois le programme tlvers sur la carte.Il est noter que ce manuel fait rfrence la version en anglais de ce logiciel puisqu'ellecomporte habituellement des mises jour plus rcentes que la version en franais. Que lesnon-anglophones se rassurent : le nombre rduit de fonctionnalits et l'utilisation d'icnesrendent l'interface du logiciel simple d'utilisation.

    FENTRE GNRALE DE L'APPLICATION ARDUINOLa fentre de l'application Arduino comporte les lments suivants :

    25

  • 1. un menu ;2. une barre d'actions ;3. un ou plusieurs onglets correspondant aux sketchs ;4. une fentre de programmation ;5. une console qui affiche les informations et erreurs de compilation et de tlversement

    du programme.

    LMENTS DU MENULes diffrents lments du menu vous permettent de crer de nouveaux sketchs, de lessauvegarder, de grer les prfrences du logiciel et les paramtres de communication avecvotre carte Arduino.

    Dossier de travailDans les prfrences (File > Preferences), il vous est possible de spcifier votre dossier detravail. Il s'agit du dossier o seront sauvegards par dfaut vos programmes et lesbibliothques qui pourront y tre associes. Lorsqu'un programme est sauvegard, un dossierportant le nom du programme est cr. Celui-ci contient le fichier du programme portant lenom que vous lui aurez donn suivi de l'extension .pde ainsi qu'un dossier intitul applet quicontient les diffrents lments crs et ncessaires lors du processus de compilation duprogramme et de tlversement vers la carte.

    ExemplesUne srie d'exemples est disponible sous File > Examples. Ces exemples peuvent vous aider dcouvrir et comprendre les diffrentes applications et fonctions d'Arduino.

    Outils de configuration (Tools)Dans le menu Tools, il vous est possible et essentiel de spcifier le type de carte Arduino quevous utiliserez. Sous Tools > Board, il vous faut spcifier pour quel type de carte vous compilezet tlversez le programme. Le type de carte est gnralement inscrit sur la carte elle-mme.Il est galement ncessaire lorsqu'on branche une nouvelle carte Arduino ou que l'on change decarte de spcifier le port sriel virtuel qui sera utilis pour la communication et letlversement du programme. Pour ce faire, il faut aller sous Tools > Serial Port et choisir leport appropri. Sous Windows, il s'agit la plupart du temps du port ayant un numro suprieur 3. Sous Mac OS X, il s'agit habituellement du premier lment de la liste. Une bonne techniquepour dterminer quel port correspond votre carte Arduino consiste dbrancher celui-ci,attendre un peu et de prendre note des ports dj prsents. Lorsque vous rebrancherez votrecarte Arduino et aprs un peu d'attente (ou un redmarrage de l'application), vous remarquezle port qui se sera ajout la liste. Il s'agit du port sriel virtuel li votre carte Arduino.

    BARRE D'ACTIONSBouton Verify (Vrifier) : il permet de compiler votre programme et de vrifier sides erreurs s'y trouvent. Cette procdure prend un certain temps d'excution etlorsque est termine, elle affiche un message de type Binary sketch size : ... indiquant la taille du sketch tlvers.

    Bouton Stop : arrte le moniteur sriel (certaines plates-formes seulement).

    Bouton New (Nouveau) : ce bouton permet de crer un nouveau sketch.

    Bouton Open (Ouvrir) : il fait apparatre un menu qui permet d'ouvrir un sketchqui figure dans votre dossier de travail ou des exemples de sketchs intgrs aulogiciel.

    26

  • Bouton Save (Sauvegarder) : il permet de sauvegarder votre sketch.

    Bouton Upload (Tlverser) : ce bouton permet de compiler et tlverser votresketch sur la carte Arduino.

    Bouton Serial Monitor (Moniteur sriel) : ce bouton fait apparatre le moniteursriel (voir ci-bas).

    Bouton Onglet : il permet de basculer entre les sketchs.

    MONITEUR SRIELLe moniteur sriel est utilis pour afficher l'information qui est envoye par la carte Arduinovers l'application (habituellement par le cble USB). Il permet aussi d'envoyer de l'information la carte Arduino. Pour ce faire, il suffit d'crire du texte dans le champ situ en haut de lafentre et d'appuyer sur le bouton Send . Bien videmment, avant de pouvoir faire ceci ilvous faut coder un programme appropri, prt recevoir cette information. Il est galementpossible de rgler le baudrate du moniteur sriel, qui prcise quelle vitesse le transfert desdonnes s'effectuera. Il est galement possible d'tablir une communication srielle entre lacarte Arduino et d'autres priphriques ou logiciels. Nous verrons plus en dtails cette fonctiondans les projets Texte brillant et Oscilloscope .

    27

  • 6. PROPOS DE CE LIVRELes valeurs du libre ont inspir la rdaction et la diffusion de ce manuel d'initiation Arduino,l'objectif tant la fois :

    d'offrir un public professionnel ou amateur francophone les bases d'utilisationd'Arduino ;de valoriser la communaut des dveloppeurs et experts francophones de Arduinoimpliqus dans la rdaction et la mise jour de ce manuel en franais ;de fdrer plus largement la communaut francophone d'Arduino autour d'un projetcommun de documentation (tant au niveau des co-auteurs que des commentateurs),sachant que l'ouvrage dans sa forme accessible en ligne (wiki) peut tre amlior etcomporter de nouveaux chapitres, notamment l'occasion de la parution d'une nouvelleversion d'Arduino.

    UN OUVRAGE COLLECTIFCe livre sous licence libre est une production originale en franais ; plusieurs co-auteursfrancophones de diffrents pays ont particip sa rdaction.Le cur de l'ouvrage de plus de 120 pages a t ralis en 5 jours dans le cadre d'unBookSprint qui s'est tenu Dakar (Sngal) du 19 au 23 octobre 2011, grce l'initiative et avecle soutien de l'Organisation internationale de la Francophonie (www.francophonie.org) enpartenariat avec Ker Thiossane (www.ker-thiossane.org), le Collectif Yeta(www.collectifyeta.org), Main d'oeuvres (www.mainsdoeuvres.org) et Ping (www.pingbase.net).

    Co-rdacteurs prsents lors du BookSprint :

    28

  • Kossigan Roland ASSILEVI (Togo) : Formateur numrique (Arduino, PureData...) etpersonne ressource sur des projets artistiques utilisant les technologies. Il fait partie del'quipe de Kr Thiossane, Villa pour l'art et le multimdia Dakar.Mamadou COULIBALY (Mali) : Formateur numrique (Arduino, PureData...) et personneressource sur des projets artistiques utilisant les technologies. Il fait partie de l'quipe duCollectif Yeta qui anime notamment un Media Lab Bamako.Maurin DONNEAUD (France) : Designer dinteraction, programmeur dobjets physiquesnotamment avec Arduino, intervenant au Centre de Ressources Art Sensitif (Cras) etdans des coles de design textile (ENSCI Paris, ENSAAMA Paris, CSM London) sur desprojets e-textiles.Cdric DOUTRIAUX (France) : Artiste multimdia et formateur (Arduino, etc.). Il travailleactuellement avec lassociation Nantaise PING, association ressource et ppinire deprojets innovants, au dveloppement de machines-outils commandes numriques pourlouverture dun FabLab. Il a galement particip en tant qu'intervenant au projet Rosedes vents numriques, initiative d'essaimage de pratiques artistiques utilisant lenumrique en collaboration avec Kr Thiossane et le Collectif Yeta.Simon LAROCHE (Canada-Qubec) : Artiste, enseignant et designer interactif, spcialisdans les installations audiovisuelles et la robotique. Il travaille galement commeconcepteur vido et robotique en arts vivants, cinma et mode. Simon Laroche estmembre fondateur du Projet EVA.Florian PITTET (Suisse) : Designer interactif au sein de la socit SIGMASIX cre encollaboration avec Eric Morzier, et enseignant en nouveaux mdias la Haute cole d'artsappliqus de Lausanne (Ecal).Marie-Paul UWASE (Rwanda) : Secrtaire du Rseau Africain des utilisateurs des logicielslibres (RAL), Prsidente de l'association rwandaise de promotion des logiciels libres auRwanda et enseignante universitaire.

    Facilitatrice :Elisa DE CASTRO GUERRA : Prsidente de Flossmanuals francophones, facilitatrice deBookSprints et graphiste utilisant les logiciels libres.

    Co-rdacteurs en ligne et contributions externes :Mamadou DIAGNE (dit Genova)Guillaume FOUETPascale GUST INCorinne LAURENTChristian AMBAUD

    UN OUVRAGE VIVANTCe manuel est vivant : il volue au fur et mesure des contributions. Pour consulter la dernireversion actualise, nous vous invitons visiter rgulirement le volet francophone deFlossmanuals sur le site http://fr.flossmanuals.net et plus particulirement sur la page d'accueildu manuel Arduino.N'hsitez pas votre tour amliorer ce manuel en nous faisant part de vos commentairesdans la liste de diffusion francophone de Flossmanuals, ou, si vous avez des talents derdacteur et une bonne connaissance d'Arduino, vous inscrire en tant que contributeur pourproposer la cration de nouveaux chapitres. Vous trouverez en fin d'ouvrage la liste compltedes personnes ayant particip jusqu' ce jour la co-rdaction du manuel.

    VOUS AVEZ DIT BOOKSPRINT ?Exprimente et popularise par la Floss Manuals Foundation dans le cadre de ses activits decration de manuels multilingues sur les logiciels et pratiques libres, la mthodologie duBooksprint permet de rdiger en un temps trs court des livres de qualit.Un groupe d'experts se retrouve dans un mme lieu pour rdiger durant 3 5 jours un manuel.Lusage de la plate-forme de co-rdaction en ligne permet galement d'autres personnesintresses de sassocier distance lexprience.

    29

  • UN MANUEL LIBRE DISPONIBLE SOUS PLUSIEURSFORMATS ET SUPPORTSCe livre est disponible depuis le site de Flossmanuals sous plusieurs formes : livre imprim,pages web, pdf et ePub, ce dernier format permettant de le consulter facilement sur desappareils portatifs.Publi sous licence GPLv2, ce manuel peut tre lu et copi librement.Vous consultez l'dition rvise et augmente du 22 dcembre 2011.

    30

  • LECTRONIQUE7. LES BASES DE L'LECTRONIQUE8. CAPTEURS ET ACTIONNEURS9. MICRO-CONTRLEUR10. PRCAUTIONS D'UTILISATION

    31

  • 7. LES BASES DE L'LECTRONIQUEL'lectronique est la manipulation de signaux et d'informations lectriques afin de les mesurer,les contrler ou de les modifier.Des lments dsigns composants sont assembls sous laforme de circuits. Ces assemblages peuvent tre raliss la main ou par des socitsindustrielles qui intgrent et miniaturisent ces circuits. Par exemple, le processeur de la carteArduino est un circuit intgr contenant des millions de composants.

    NOTIONS LECTRIQUES FONDAMENTALESL'lectricit est une forme d'nergie comme les nergies olienne ou hydraulique. Cette nergielectrique peut se rsumer par : mouvements des lectrons entre les atomes. Par exemple, enfrottant un ballon sur certains vtements, comme un chandail, des lectrons sont changsentre les atomes du ballon et ceux du chandail. Le ballon se charge ainsi ngativement encaptant les lectrons du vtement : nous nommons ceci l'lectricit statique . L'lectricitdevient dynamique si l'on dcharge graduellement le ballon en le laissant coller un muro des cheveux.

    Pour bien comprendre les lments de mesure de base de l'lectricit, il est pratique d'utiliserl'analogie d'un systme hydraulique. Imaginez un systme hydraulique compos de deuxrservoirs d'eau connects ensemble via un rseau de tubes.

    32

  • La tension et la diffrence de potentiel (Volts)Sur notre image, nous observons que les deux bassins sont des altitudes diffrentes (1) et(2).Ces altitudes correspondent au potentiel lectrique.La diffrence entre les deux altitudes soit le dnivel (3) correspond la tension. Ce dnivelva gnrer une pression cause de la gravit.La tension et le potentiel sont exprims en Volts (note V ou souvent U). La sourced'alimentation lectrique d'un circuit (une pile, par exemple) est une source de tension.On mesure toujours une altitude par rapport une rfrence. En lectricit, on placesouvent cette rfrence au (-) de l'alimentation (qui correspond ici au point (2)). Dans lesschmas lectroniques, cette rfrence correspond souvent la masse . Lorsqu'oninterconnecte deux circuits aliments diffremment, il est indispensable de leur donner lamme rfrence (voir chapitre Prcautions d'utilisation ).

    Le courant (Ampres)Dans notre systme, la pression gnre par le dnivel provoque un certain dbit d'eau dansle rseau de tuyaux. Le dbit correspond au courant. En lectronique, le courant est exprimen Ampres (A ou not I ou i).

    La rsistance (Ohms)Lorsque le tube se rtrcit dans notre exemple (4), une moins grande quantit d'eau peutcirculer la fois. Ce rtrcissement cre ce qu'on appelle une rsistance. La pression dusystme (ou la force avec laquelle l'eau circule) n'est pas change ; c'est plutt le dbit quichange. En lectronique, la rsistance est exprime en Ohms ( ou not R).L'quation gnrale qui lie ces trois units de mesure est : U = RISoit le voltage (U) est gal la rsistance (R) multiplie par le courant (I).

    Circuits, parallle ou srieUn circuit est un ensemble de composants lectriques.Bien que cela semble contre-intuitif premire vue, on dira qu'il est ferm lorsqu'il y a continuit dans les connexions qui lient lescomposants entre eux. Un circuit ouvert comporte une discontinuit dans les connexions.Autrement dit, lorsque le circuit est ferm, le courant passe, et lorsqu'il est ouvert, il ne passepas.Lorsqu'on dsigne un circuit comme tant en srie, cela signifie que les lments sontconnects les uns la suite des autres, sur une mme branche (5). Dans ce cas les valeurs dersistance vont s'additionner.Dans un circuit en parallle, les lments sont situs chacun sur des branches indpendantes(6). Dans ce cas, les rsistances sont situes altitude gale et donc soumises la mmetension (voltage). Dans ce cas, le courant se partage dans chacune des branche.

    AC/DCCes deux abrviations ne reprsentent pas seulement un groupe de rock. Un courantlectrique DC, parfois not CC, signifie Direct Current en anglais soit CourantContinu .C'est un courant qui ne varie pas dans le temps. Il peut tre gnr par une pile, unebatterie ou un circuit d'alimentation qui redresse un courant alternatif.Le courant DC est letype de courant habituellement utilis en lectronique. Par exemple, votre carte Arduino estalimente par ce courant.

    33

  • Le courant AC signifie Alternating Current ou Courant Alternatif . Il s'agit d'uncourant qui change de direction continuellement. Il peut tre priodique, c'est--dire que safrquence est constante. La forme la plus utilise est le courant sinusodal. Il est caractris parsa frquence note f et exprime en Hertz, qui correspond au nombre d'aller-retour parseconde. Dans certains calculs, il peut arriver que l'on ait besoin de sa pulsation souvent noteomga minuscule (w) = 2 x PI x f. Le courant lectrique utilis la maison est AC.

    MultiplesEn lectronique, les valeurs sont parfois trs petites ou trs grandes. Pour simplifier leurnotation, on rencontre souvent des prfixes qui expriment des multiples des valeurs.

    Multiple Prfixe Notation Nom10e6 / 1 000 000 mga- M million 10e3 / 1 000 kilo- k millier 10e-1 / 0.1 dci- d dixime 10e-2 / 0.01 centi- c centime 10e-3 / 0.001 milli- m millime 10e-6 / 0.00000 micro- millionime 10e-9 / 0.000000001 nano- n milliardime

    Par exemple, une valeur de 0.001 Ampres pourrait tre crite de plusieurs manires :

    1 mA = 1 milliampre = 1.10-3 A = 0.001 A

    LES COMPOSANTSLes composants sont des lments de base en lectronique qui, une fois assembls,constitueront un circuit lectronique. Chacun de ces lments a un comportement bienparticulier, dpendant de ses caractristiques et de ses conditions d'utilisation. Pour le choix etle dimensionnement des composants les plus complexes, il est utile de consulter leur fichetechnique ( datasheet en anglais).Voici une description de quelques-uns de ceux-ci.

    Rsistance

    Les rsistances sont utilises dans de nombreux cas, pour rduire une tension (voir plus loin lepont diviseur de tension), pour provoquer un courant, ou associes d'autres composantspour des circuits plus complexes (exemple : filtre RC). Sa valeur est note R et exprime enOhms.En srie, les rsistances s'additionnent : Req = R1 + R2 + R3En parallle, c'est diffrent : 1 / Req = ( 1 / R1 ) + ( 1 / R2 ) + ( 1/R3 )La formule associe la rsistance est : U = RIEn lectronique, la valeur d'une rsistance est code par des anneaux de couleurs :

    34

  • Dans l'exemple ci-haut, la rsistance est de 220 kOhms, ou 220 000 Ohms. Le premier anneauest rouge. Dans le tableau ci-bas, le chiffre qui correspond la couleur rouge est 2. Le secondanneau est galement rouge, donc notre chiffre est galement 2. Le chiffre que l'on obtient encombinant la suite les deux anneaux est donc 22. Finalement, le multiplicateur est jaune,correspondant 10 000. Donc, 22 x 100 000 nous donne 220 000, ou 220 k.

    Condensateur

    Le condensateur ( capacitor en anglais) est constitu de plaques de conducteurs, lmentsqui permettent l'change d'lectricit, spares par un isolant. Un condensateur est capabled'emmagasiner une tension lectrique, un peu la manire d'un rservoir. Sa valeurcaractristique est la capacit, note C et exprime en Farad (F). Il est souvent utilis pourfiltrer, c'est--dire lisser une tension (car il agit un peu comme un amortisseur) et il ne conduitl'lectricit que si le courant change, par exemple lors de la mise sous tension ou l'extinction ducircuit.Les rgles d'association sont l'inverse de celles des rsistances :En parallle, les condensateurs s'additionnent : Ceq = C1 + C2 + C3Tandis qu'en srie : 1 / Ceq = ( 1 / C1 ) + ( 1 / C2 ) + ( 1 / C3 )La formule associe au condensateur est : i = C ( dU / dt )Remarque : plus la tension change, plus le courant ses pattes sera fort. Il faut parfois semfier de ces pics de courant l'allumage et l'extinction du circuit.

    Bobine ( Coil )

    La bobine est un enroulement de fil conducteur. La bobine est souvent utilise pour filtrer uncourant, gnrer un champ magntique (lectroaimant) ou amplifier un signal (radio). Sa valeurcaractristique est l'inductance note L et exprime en Henry (H).La formule associe la bobine est : U = L ( di / dt )Remarque : plus la tension change, plus le courant ses bornes sera fort. Pour cette raison, ilfaut prendre quelques prcautions lorsqu'on commute une bobine dans un montage : utiliserpar exemple une diode de roue libre (voir Diode ) qui vacuera la surtension l'allumage et l'extinction.

    Transistor

    35

  • Le transistor est une association de trois couches de semi-conducteur et dont la couche dumilieu sert contrler le passage du courant dans les deux autres. Il s'agit d'un composantactif qui est souvent utilis comme interrupteur ou amplificateur, la manire d'un relais. Ilexiste diffrents types de transistor au comportement diffrent, les NPN et PNP, lestransistors effet de champ, ou MOSFET .Pour plus de dtails, consultez http://fr.wikipedia.org/wiki/T ransistor

    Diode

    La diode est compose de deux couches de semi-conducteur et ne laisse passer le courant quedans un sens : de l'anode vers la cathode ; du (+) vers le (-). Elle peut servir bloquer desretours de courants non dsirs ou construire un pont redresseur pour passer d'un courantalternatif un courant continu. Le trait prsent sur le composant indique la cathode c'est--dire la borne ngative (-).

    Diode de roue libre

    On utilise galement la diode pour liminer la surtension qui apparat dans une bobine lors del'allumage et de l'extinction. Il suffit de placer la diode en parallle avec l'inductance (labobine).C'est ce qu'on appelle une diode de roue libre . (voir projet La cigarette ne tue pasles machines ).

    LED ou DEL

    La LED est une diode lectroluminescente : elle s'allume lorsqu'un courant passe dedans. Sacathode (-) est plus courte que son anode (+). C'est un composant trs pratique pour visualiserrapidement les tats de certains circuits, car elle est facile mettre en uvre et consommetrs peu de courant (en gnral 6 20 mA). Une LED se caractrise par sa tension de seuil quiexprime la tension ses bornes lorsqu'elle est alimente.

    Quelques valeurs titre d'exempleCouleur Tension de seuil (Vf) Consommation (If) Longueur d'onde

    rouge 1,6 V 2 V 6 20 mA 650 660 nmjaune 1,8 V 2 V 6 20 mA 565 570 nm

    36

  • vert 1,8 V 2 V 6 20 mA 585 590 nmbleu 2,7 V 3,2 V 6 20 mA 470 nm

    Il n'est pas bon d'alimenter une LED directement en 5 V (via une carte Arduino) car elle est ensurtension : mme si elle fonctionne elle brlera rapidement. Pour la protger, il faut utiliser leprincipe du pont diviseur de tension (expliqu plus loin) en la cblant en srie avec unersistance, dont la valeur se calcule de la manire suivante :

    R = ( tension d'alimentation - tension de seuil ) / courantAinsi pour une LED rouge par exemple : R = ( 5 - 1,6 ) / 0,02 = 170 OhmsRemarque : la broche 13 de la carte Arduino est dj quipe d'une rsistance qui permet d'ybrancher une LED directement.

    Potentiomtre

    Le potentiomtre est en fait un composant rsistance variable, qui se rgle avec un boutonou une glissire. On change la rsistance du potentiomtre par une manipulation physique ;c'est une interface humain/machine.

    Interrupteur

    L'interrupteur ouvre ou ferme un circuit. Il est lui aussi une interface humain/machine. Il peut-tre monostable (il revient sa position initiale quand on le lche) ou bistable (il garde sadernire position). Il peut tre NO (ouvert au repos) ou NF ou NC (ferm au repos). Il existe desinterrupteurs combinant ces deux fonctions.

    Relais

    Le relais est un interrupteur lectromcanique, ce qui signifie qu'il change de position ou d'tatgrce un lectroaimant. Il peut donc tre command par un signal lectrique dans un circuit.Le relais est utilis pour relayer une commande sur un circuit de plus forte puissance (voirchapitre Prcautions d'utilisation ). Comme l'lectroaimant contient une bobine, il estncessaire d'utiliser une diode de roue libre .

    Pizolectrique

    37

  • Le pizolectrique est un composant rversible qui gnre une tension quand il est dform etqui se dforme lorsqu'il est soumis une tension. Il prend souvent la forme d'une pastille quipeut alors servir la fois de micro-contact et de haut-parleur. Il peut ainsi servir d'interfacehumain/machine. Le signal sortant d'un pizo est assez erratique.

    Cellule photolectrique

    La cellule photolectrique, ou photorsistance, est un semi-conducteur rsistance photo-variable. Elle permet de dtecter et/ou mesurer la lumire.

    Thermistance

    La thermistance est une rsistance qui varie avec la temprature. La correspondance n'est paslinaire, c'est pourquoi il est utile de se rfrer la fiche technique du composant utilis.

    Moteurimage manquanteLe moteur lectrique est un dispositif lectromcanique qui fonctionne grce l'lectromagntisme gnr par des bobines.

    Servomoteur

    Le servomoteur est un petit moteur asservi c'est--dire qu'un circuit interne contrle enpermanence sa position. Il a souvent une plage de libert rduite (moins d'un tour) mais peutatteindre coup sr une position et la maintenir avec force. Il existe de nombreux modles.Les plus petits peuvent tre actionns directement avec une carte Arduino (voir chapitre Prcautions d'utilisation ).

    Circuits intgrs

    38

  • Ce sont des circuits (donc des assemblages de composants) qui sont intgrs dans un mmebotier. Il en existe de nombreux types aux fonctionnalits et complexits diverses, du simplergulateur de tension au processeur d'ordinateur. La puce ATMEGA qui est au cur de la carteArduino est un circuit intgr. Ces composants sont trs utiles pour raliser des montagescomplexes en un minimum de place. Ils sont identifis par une rfrence visible sur leur botier.ette rfrence permet d'accder leur fiche technique (en anglais datasheet), en gnral facile trouver sur internet [rfrence du composant + datasheet ] dans un moteur de recherche.

    QUELQUES CIRCUITS DE BASEL'ide ce cette partie n'est pas de vous montrer de manire exhaustive les circuits possiblescar cette tche est irralisable. En revanche, quelques circuits constituent le b.a.-ba del'lectronique : en effet ils apparaissent dans presque tous les montages. Connatre leurfonctionnement vous permettra de comprendre plus facilement un circuit.

    Pont diviseur de tension

    Ce circuit est trs utile pour rduire une tension. Dans un pont diviseur, la tension aux bornesde la seconde rsistance est proportionnelle au rapport de celle-ci par rapport la rsistanceglobale du circuit. Dans la mtaphore de l'eau, les deux rsistances constituent un escalier ouune cascade. Sa fonction est :

    U2 = U X ( R2 / ( R2 + R1 ) )Si l'on veut mesurer, par exemple, une tension qui oscille entre 0 et 15 V avec une carteArduino qui ne supporte que 0-5 V, il faut utiliser un pont diviseur de tension constitu dedeux rsistances dont la premire vaut le double de la seconde.La tension entre les deuxrsistances oscillera entre 0 et 5 V. La valeur totale des deux rsistances dterminera laconsommation lectrique du circuit (voir Rsistance ).Exemple : avec 1 MOhm et 2 MOhms, U2= 15X(1000/(1000+2000)) = 5 VOn utilise ce modle pour limiter la tension aux bornes d'une LED lorsqu'on l'alimente avec unecarte Arduino (voir plus haut).

    Pont diviseur de courant

    39

  • Ce circuit est le pendant du pont diviseur de tension. Lorsqu'on branche deux rsistances enparallle, le courant se partage entre les deux branches proportionnellement au rapport desvaleurs des rsistances. Sa fonction est :

    I1 = I X ( R2 / ( R1 + R2 ) )

    LE MULTIMTRELe multimtre est un ensemble d'appareils de mesure comprenant habituellement un voltmtre,un ampremtre et d'un ohmmtre, pour mesurer la tension, le courant et la rsistance decomposants ou de circuits. Il comporte deux broches, habituellement rouge et noire,correspondant la polarit (positive et ngative) du multimtre. Il faut faire bien attention respecter cette polarit pour certaines mesures et de s'assurer chaque fois que la base dechaque broche est connecte la bonne entre du multimtre.Bien videmment, il fautspcifier la grandeur mesurer l'aide du slecteur du multimtre. Par exemple, pour mesurerune tension qui devrait se situer entre 0 et 5 V, on place le slecteur la barre des 20 V (sidisponible). Pour un voltage de plus petite chelle, entre 0 et 1 V par exemple, il faudrait mettrele slecteur sur le symbole 2 V.Un multimtre comporte habituellement quatre entres gnralement identifies par 10 A ou20 A, mA, COM et V ou . La base de la broche noire est toujours connecte la broche COMqui correspond au ple ngatif ou au Gnd (Ground) sur la carte Arduino ou la masse. Enfonction de la grandeur que l'on veut mesurer, le connecteur de la broche rouge se brancheaux autres entres : Entre Utilisation 10 A ou 20 A pour mesurer un courant lev

    TableauEntre Utilisation

    10 A ou 20 A pour mesurer un courant levmA pour mesurer un courant faibleV, , diode pour mesurer une tension, une diode, rsistance et continuit

    La tension se mesure en parallle et entre deux points d'un circuit, c'est--dire qu'il faut crer une nouvelle branche avec les broches du multimtre. Le circuit doit tre sous tensionpour effectuer la mesure.

    40

  • Le courant se mesure en srie, c'est--dire qu'il faut insrer le multimtre dans le circuit ouune branche.Le circuit doit tre sous tension pour effectuer la mesure. Attention ! Lorsqu'onmesure le courant d'un circuit, il faut s'assurer de brancher la base de la broche positive(rouge) dans l'entre approprie du multimtre (souvent identifie par mA ou A) en fonction dela puissance. Si ceci n'est pas fait de manire correcte, il est possible d'endommager lemultimtre. La rsistance se mesure sans tension. Pour mesurer la rsistance d'un composant, ilsuffit de connecter les deux broches du multimtre chacune des pattes du composant quel'on souhaite mesurer.Pour vrifier la continuit d'un circuit et pour voir s'il n'est pas ouvert , si une connexionn'est pas interrompue ou encore si il n'y pas de court-circuit, il est possible d'utiliser la fonction continuit du multimtre. On prend cette mesure en connectant les broches du multimtre chacune des extrmits du composant ou du circuit. Il est noter que, par exemple, uncircuit comprenant des rsistances ne prsente pas de continuit complte.Pour la ralisation de circuits lectroniques, plusieurs outils sont essentiels.Nous aborderons lesprincipaux d'entre eux au chapitre Mthodologie, section Mise en uvre.

    41

  • 8. CAPTEURS ET ACTIONNEURSL'lectronique est une branche de la physique applique qui traite de la gestion de signauxlectriques. La carte Arduino est un circuit lectronique qui peut tre programm et qui permetde faire le pont entre le monde virtuel de la programmation informatique (concepts formels etlogiques) et le monde physique (interaction lectromcanique des objets). Nous abordons ci-aprs les notions de capteurs et actionneurs ainsi de quelque sous catgories de ces deuxgrandes familles.

    LES CAPTEURSLes capteurs sont des composants matriels, qui une fois correctement connects votrecarte Arduino, peuvent fournir des informations sur le monde extrieur. Ceux-ci ont commerle de saisir une grandeur physique et de la convertir en information numrique. Il est ainsipossible de capter la plupart des phnomnes physiques comme le vent, la pression, latemprature, la lumire, la torsion, la distance, etc. L'on peut classifier l'ensemble des capteursen trois familles suivant le type d'informations qu'ils renvoient.

    Les capteurs logiques ou TORCe type de capteur renvoie une information de type logique c'est--dire 0 ou 1. En dautrestermes, la sortie peut prendre uniquement deux tats. Par exemple, un clavier est une matricede capteurs logiques car chaque touche est un interrupteur (ou un contact) qui peut tre soit ouvert soit ferm .

    Les capteurs analogiquesCe type de capteur renvoie une valeur proportionnelle la grandeur physique mesure. Parexemple une photorsistance (capteur de lumire) est un capteur qui convertit la luminosit envaleur lectrique. Il existe des capteurs analogiques qui renvoient une information linaire etd'autres dont la rponse suit une courbe diffrente. Par exemple, un potentiomtre linairesera not B (nomenclature japonaise) et A (nomenclature europenne) tandis qu'unpotentiomtre logarithmique sera not A (nomenclature japonaise) et B (nomenclatureeuropenne).

    Courbe linaire Courbe non linaire

    Pour un capteur, une courbe linaire signifie que la progression de sa valeur suit uneprogression constante et rgulire. Une courbe non linaire appartient une fonction pluscomplexe dont la valeur ne progresse pas galement dans le temps.

    LES ACTIONNEURSLes actionneurs sont des composants matriels qui, une fois correctement connects votrecarte Arduino, permettent d'agir sur le monde extrieur. Ceux-ci ont comme rle de convertirune valeur lectrique en action physique. Il existe une infinit de types d'actionneurs diffrentset certains sont plus ou moins faciles utiliser avec Arduino. Comme pour les capteurs, ilexiste une multitude de phnomnes physiques sur lesquels il est possible d'agir par le biaisd'actionneurs comme les moteurs lectriques, lectroaimants, lumires, LEDs, lmentschauffants utiliss pour concevoir une multitude d'objets et applications comme des haut-parleurs, valves hydrauliques et pneumatiques, ventilateurs, pompes, grille-pain, canon photon(un bon vieux tlviseur !), etc.

    42

  • Beaucoup de machines et objets qui nous entourent comportent la fois des capteurs et desactionneurs. Ils sont tous bass sur les principes de base de l'lectronique que nous avons vusdans le chapitre prcdent.

    43

  • 9. MICRO-CONTRLEURUn micro-contrleur est un petit processeur informatique reli des entres et des sortiesnumriques (0 ou 1) ou analogiques (tension variable). Il est capable de mmoriser et dexcuterun programme visant interprter les entres pour agir sur les sorties. Il se programme engnral l'aide d'un ordinateur mais peut fonctionner de manire autonome. En milieuindustriel, les automates programmables qui servent grer et piloter des machines en sontune illustration. Ce type de machine intervient sur la commande d'un systme mais ne peutdlivrer beaucoup de puissance. Pour cela, on relaye ses commandes avec des transistors oudes relais.Il existe de nombreux types et tailles de micro-contrleurs avec plus ou moins d'entres/sorties et d'interfaces. petite chelle, les PIC (produits par la socit Microchip) sont descircuits intgrs bien connus des lectroniciens depuis de nombreuses annes. De nombreusesautres marques comme ATMEL, STMicroelectronics, Parallax ou Motorola produisent galementdes machines de ce type. Ils sont en gnral programms en C/C++ et ncessitent desconnaissances approfondies en lectronique. La plate-forme Arduino a apport une avancemajeure dans l'accessibilit de cette technologie au plus grand nombre par sa simplicitd'utilisation et son cot abordable.Depuis lmergence de cette plate-forme, de nombreux projets parallles ont t dvelopps :par exemple Pinguino 1, Beeboard 2, Freeduino 3, Ginsing 4 ou Comet, HackteriabioElectronics 5,etc.

    ARDUINOLa carte Arduino est une plate-forme de prototypage base sur un micro-contrleur ATMELquip de divers lments qui facilitent sa mise en uvre.

    image Laurent Berthelot

    Micro-contrleurLa puce la plus courante qui quipe la carte Arduino est la ATMEGA328. Certains anciensmodles ont une puce ATMEGA168 qui est dote d'un peu moins de mmoire. Les cartesArduino Mega sont dotes d'une puce ATMEGA644 qui a plus de mmoire et d'entres/sortiesplus nombreuses. Tous les processeurs de la famille ATMEGA se programment sensiblementde la mme manire mais des diffrences peuvent apparatre pour des fonctions pluscomplexes. Pour plus de dtails ce sujet, rfrez-vous la rubrique Matriel du site Arduino :http://arduino.cc/en/Main/Hardware44

  • Dans l'interface de programmation, le menu Tools > Board permet de dfinir avec quellemachine l'on travaille (voir chapitre Prise en main rapide ). Le micro-contrleur traite desinformations reues par ses entres pour agir sur les sorties suivant un programme dfini parl'utilisateur et ce via l'environnement de programmation Arduino.

    Interface USB/srieCette partie permet d'tablir une communication avec un ordinateur, directement avec uncble USB, afin de programmer le contrleur ou d'changer des informations avec unprogramme qu'il excute. Ct ordinateur, la carte Arduino apparat au mme titre quen'importe quel priphrique USB et ncessite l'installation d'un pilote (ceci est expliqu dans lechapitre installation). Lorsqu'on utilise cette connexion, l'ordinateur assure directementl'alimentation de la carte Arduino via la liaison USB.

    AlimentationCe circuit assure l'alimentation de l'ensemble des composants et des sorties suivant deuxmodes diffrents :

    lorsque la carte est connecte un ordinateur via USB, c'est le port USB de l'ordinateurqui fournit l'nergie (5 V) ;lorsqu'on branche une source d'nergie au connecteur de la carte (batterie,transformateur ou pile), le systme peut fonctionner de manire autonome.

    Ce circuit inclut un rgulateur de tension 5 V mais il doit tre aliment entre 6 et 20 V. Onconseille en gnral de l'alimenter plutt entre 7 et 12 V pour garder une marge en bassetension et viter que le circuit ne chauffe trop (car le rgulateur de tension disperse toutesurtension en chaleur). Sur les premiers modles de cartes Arduino, un petit slecteurpermettait de choisir le mode mais depuis le modle Duemilanove , le passage de l'un l'autre mode est automatique. Il ne faut pas brancher sur le 5 V de la carte des composantsqui consomment plus de 500 mA.

    Entres/sortiesC'est par ces connexions que le micro-contrleur est reli au monde extrieur. Une carteArduino standard est dote de :

    6 entres analogiques.14 entres/sorties numriques dont 6 peuvent assurer une sortie PWM (voir explicationen bas dans la section Les sorties numriques ).

    Les entres analogiques lui permettent de mesurer une tension variable (entre 0 et 5 V) quipeut provenir de capteurs 6 ou d'interfaces diverses (potentiomtres, etc.).Les entres/sorties numriques reoivent ou envoient des signaux 0 ou 1 traduitspar 0 ou 5 V. On dcide du comportement de ces connecteurs (entre ou sortie) en gnraldans l'initialisation du programme (voir chapitre Programmer Arduino ) mais il peut treaussi chang dans le corps du programme.Lorsqu'on utilise une entre numrique, il est important de s'assurer que le potentiel de l'entre au repos est bien celui auquel on s'attend. En effet, si on laisse l'entre libre , c'est--dire cble rien, le potentiel qu'elle prendra ne sera pas ncessairement 0 V. On parle alorsde potentiel flottant car l'lectricit statique ambiante ou les perturbations lectromagntiquespeuvent faire apparaitre des valeurs trs fluctuantes. Pour s'assurer du bon fonctionnement,l'on utilise une liaison protge par une rsistance qui va tirer vers le haut (5 V) ou tirervers le bas (0 V) le potentiel au repos, comme une sorte d'lastique. On utilise en gnral unersistance de 10 kOhms.

    45

  • dans un montage tir vers le haut ou pull-up , le potentiel de l'entreau repos est 5 V.

    dans un montage tir vers le bas ou pull-down , le potentiel de l'entre aurepos est 0 V.

    Les sorties numriques peuvent actionner de nombreux composants (LED, transistor, etc.)mais elles ne peuvent pas fournir beaucoup de courant (40 mA pour une carte Arduino UNO).Pour piloter des circuits de plus forte puissance, il faut passer par des transistors ou des relais(voir chapitre Prcautions d'utilisation ).La puce ATMEGA n'est pas capable de sortir des tensions variables. Heureusement, 6 dessorties numriques (N 3, 5, 6, 9, 10, 11) peuvent produire un signal PWM. Ce sigle signifie PulseWidth modulation en anglais ; en franais l'on parle de MLI : " Modulation de largeurd'impulsion . Il s'agit d'un artifice permettant de produire une tension variable partir d'unetension fixe.La technique s'apparente approximativement du morse : le signal de sortie est modul sousforme d'un signal carr dont la largeur des crneaux varie pour faire varier la tensionmoyenne :

    Temps

    Tension

    5V

    0V

    PWM ou MLIValeur moyenne

    modulation de largeur d'impulsion ou PWM

    ISPISP signifie In-circuit Serial Programming . Dans le cas o le micro-contrleur de votre carteArduino viendrait ne plus fonctionner, il est possible de remplacer la puce dfectueuse. Ainsile port ISP vous permet de configurer votre nouvelle puce pour la rendre compatible avec l'IDEArduino. En effet le micro-contrleur de la carte Arduino possde un bootloader (ou bios) quilui permet de dialoguer avec l'IDE. Il faut pour cela acheter un programmateur ISP ou il estaussi possible d'utiliser une autre carte Arduino comme programmateur ISP.

    46

  • Circuit de commandeLa carte Arduino est un circuit de commande qui sert principalement contrler desactionneurs et recenser les informations des capteurs. Il n'est pas conu pour alimenter leslments qui requirent un certain niveau de puissance, comme des moteurs. Dans le cas ol'on voudrait utiliser de tels actionneurs, il faudrait utiliser un circuit additionnel que l'on dsignepar circuit de puissance (voir chapitre Prcautions d'utilisation ).

    CIRCUITS ADDITIONNELSIl est possible de spcialiser la carte Arduino en lassociant avec des circuits additionnels quel'on peut fabriquer soi-mme ou acheter dj monts. Lorsqu'ils se branchent directement surla carte, ces circuits s'appellent des shields ou cartes d'extension. Ces circuits spcialissapportent au systme des fonctionnalits diverses et tendues dont voici quelques exemples :

    ethernet : communication rseau ;Bluetooth ou zigbee : communication sans fil ;pilotage de moteurs (pas pas ou courant continu) ;pilotage de matrices de LEDs : pour piloter de nombreuses LEDs avec peu de sorties ;cran LCD : pour afficher des informations ;lecteur de carte mmoire : lire ou stocker des donnes ;lecteur de MP3 ;GPS : pour avoir une information de position gographique ;joystick ;etc.

    une carte Arduino quipe de plusieurs cartes d'extension

    1. http://www.pinguino.cc/^2. http://beeboard.madefree.eu/doku.php^3. http://www.freeduino.org/^4. http://www.ginsingsound.com/^5. http://hackteria.org/?p=477^6. voir Chapitre Introduction l'lectronique ^

    47

  • 10. PRCAUTIONS D'UTILISATIONIl est facile d'utiliser les nombreux exemples disponibles sur internet sans vritablementconnatre toutes les notions relatives ces projets. Cependant il existe un certain nombre denotions de base qui vous permettront de mieux comprendre vos ralisations dans le but de lesadapter plus prcisment vos besoins. Aussi, avant de se lancer dans vos premiers circuits, ilest recommand de prendre connaissance des connaissances qui suivent.

    SAVOIR RECONNATRE LES COMPOSANTSLECTRONIQUESChaque composant possde une forme particulire ainsi qu'un code couleur ou un numrod'identification qui vous permettent de connatre sa fonction et ses valeurs lectriques. Chaquecomposant possde une documentation technique communment appele Datasheet que l'onpeut facilement trouver sur internet. Cette documentation prsente les caractristiquesprcises du composant que vous souhaitez utiliser. Attention : certains composants seressemblent mais nont pas la mme fonction. Il faut toujours bien regarder les symboles qu'ilscomportent et se rfrer leur documentation technique.

    REPRSENTATIONS GRAPHIQUESIl vous sera utile de savoir dchiffrer les schmas techniques ou schematics, qui sont utilisspour dcrire les circuits lectroniques. Ces schmas utilisent des symboles standardiss pourchacun des composants. Il existe deux standards en concurrence : le standard Amricain et lestandard Europen (voir Les bases de l'lectronique ).

    PROTECTION DU PORT USBTout d'abord, il faut savoir que le port USB de votre ordinateur dlivre une quantit limite decourant lectrique. En gnral un port USB peut fournir au maximum 500 mA en 5 V. Si voussouhaitez raliser un montage qui ncessite plus de courant, il s'agira de prvoir unealimentation externe suffisamment puissante pour rpondre votre besoin.

    PROTECTION DE LA CARTE ARDUINOSachez que chacune des entres/sorties de la carte ne peut pas dlivrer plus de 20 mA. Cettequantit de courant est relativement faible mais permet, par exemple, de contrler une diodelectroluminescente DEL ou LED en anglais ainsi que des actionneurs de faible puissance telqu'un pizolectrique ou encore un petit servomoteur (voir Circuit de commande ).

    Protection des entres numriquesComme leur configuration dpend du programme rsident dans la carte Arduino, ce que l'onconsidre dans un montage comme des entres numriques peuvent accidentellement treconfigures en sortie (avec la commande pinMode) et rgles 0 V (LOW). Dans ce cas, si cette entre reoit du 5 V, il se produira un court-circuit qui risque d'endommager partiellementou intgralement la carte.Pour viter ce genre de msaventure, lorsqu'on cble une entre numrique, il est prudent d'yajouter une rsistance de 100 qui limite le courant en cas de fausse manuvre.

    PROTECTION DES COMPOSANTSChaque composant possde ses propres conventions d'utilisation. Par exemple, il existe descomposants qui possdent un sens de branchement respecter. L'on dit que ces composantssont polariss. C'est le cas des LEDs, de certains condensateurs, des diodes, etc.

    48

  • La plupart des composants ne peuvent pas fonctionner seuls, par exemple une LED a besoindune rsistance approprie pour ne pas s'user ou brler . Cette rsistance permet delimiter le courant qui traverse la LED. Le courant supprim est alors dissip en chaleur par larsistance (voir Loi d'Ohm dans le chapitre Bases de l'lectronique ).

    CIRCUITS DE COMMANDE ET DE PUISSANCELorsqu'un systme comporte des moteurs ou des actionneurs demandant un certain niveau depuissance que le micro-contrleur ne peut pas fournir, il faut avoir recours deux circuitsdistincts interconnects, appels circuit de commande et circuit de puissance . Suivant lapuissance prsente, les interconnexions entre les deux circuits ncessiteront des prcautionsparticulires.

    Circuit de commandeComme son nom l'indique, c'est dans ce circuit que sont rassembls tous les lments decontrle comme les boutons, les interfaces et le micro-contrleur. Il est aliment en bassetension : moins de 50 V, souvent 12 V, ou avec la carte Arduino 5 V. L'on pourrait l'assimiler ausystme nerveux d'un organisme : c'est ici que se prennent les dcisions mais peu d'nergie ycircule.La manire la plus simple de relayer les commandes mergeant de ce circuit pour lestransmettre au circuit de puissance est d'utiliser des transistors ou encore des relais.Lorsque les tensions d'alimentation des deux circuits sont plus importantes ou si l'on veutprotger la commande de retours accidentels de courant provenant de la puissance, desoptocoupleurs (plutt que des transistors) assurent une isolation galvanique : l'information esttransmise sous forme de lumire. Ainsi, les deux circuits sont compltement isolslectriquement.

    Circuit de puissanceCe circuit alimente les composants ncessitant beaucoup d'nergie (habituellement les moteurset autres actionneurs). Sa tension d'alimentation dpend des composants en question.En fonction de cette tension et des conditions d'utilisation, les prcautions prendre sontvariables :

    dans tous les cas, une protection contre les courts-circuits est conseille : fusible oudisjoncteur pour viter de dtruire les composants ;au dessus de 50 V, la tension peut menacer directement les humains : protgerles pices nues sous tension ;le 230 V ncessite un interrupteur diffrentiel qui protge les humains des contactsaccidentels (en gnral tout local est dot de ce dispositif). Ne pas manipuler de 230 Vsans connaissances appropries.

    Il est important de noter que ces deux circuits sont monts distinctement et sont isols l'un del'autre. Toutefois, il est primordial de lier leur masse ( Gnd ) afin qu'ils partagent le mmepotentiel de rfrence.

    COURTS-CIRCUITSVotre carte ne doit pas tre pose sur un support conducteur car elle possde sur son versodes zones nues qui ne doivent pas tres mises en contact afin de ne pas court-circuiter lescomposants entre eux. Il faut aussi ne jamais connecter directement le port not Gnd (ple ngatif) avec la broche 5 V (ple positif).

    49

  • PROGRAMMATION11. PROGRAMMER ARDUINO12. BIEN CODER13. BIBLIOTHQUE EXTERNES14. OUTILS DE PROGRAMMATION ALTERNATIFS

    50

  • 11. PROGRAMMER ARDUINOCe chapitre prsente le langage Arduino, son vocabulaire ainsi que la structuration d'unprogramme crit en Arduino.

    LE LANGAGE DE PROGRAMMATIONUn langage de programmation 1 est un langage permettant un tre humain d'crire unensemble d'instructions (code source) qui seront directement converties en langage machinegrce un compilateur (c'est la compilation). L'excution d'un programme Arduino s'effectue demanire squentielle, c'est--dire que les instructions sont excutes les unes la suite desautres. Voyons plus en dtail la structure d'un programme crit en Arduino.

    LA STRUCTURE D'UN PROGRAMMEUn programme Arduino comporte trois parties :

    1. la partie dclaration des variables (optionnelle)2. la partie initialisation et configuration des entres/sorties : la fonction setup ()3. la partie principale qui s'excute en boucle : la fonction loop ()

    Dans chaque partie d'un programme sont utilises diffrentes instructions issues de la syntaxedu langage Arduino.

    COLORATION SYNTAXIQUELorsque du code est crit dans l'interface de programmation, certains mots apparaissent endiffrentes couleurs qui clarifient le statut des diffrents lments :

    51

  • En orange, apparaissent les mots-cls reconnus par le langage Arduino comme des fonctionsexistantes. Lorsqu'on slectionne un mot color en orange et qu'on effectue un clic avec lebouton droit de la souris, l'on a la possibilit de choisir Find in reference : cette commandeouvre directement la documentation de la fonction slectionne.En bleu, apparaissent les mots-cls reconnus par le langage Arduino comme des constantes.En gris, apparaissent les commentaires qui ne seront pas excuts dans le programme. Ilest utile de bien commenter son code pour s'y retrouver facilement ou pour le transmettre d'autres personnes. L'on peut dclarer un commentaire de deux manires diffrentes :

    dans une ligne de code, tout ce qui se trouve aprs // sera un commentaire.l'on peut encadrer des commentaires sur plusieurs lignes entre /* et */ .

    LA SYNTAXE DU LANGAGEponctuationLe code est structur par une ponctuation stricte :

    toute ligne de code se termine par un point-virgule ; le contenu d'une fonction est dlimit par des accolades { et } les paramtres d'une fonction sont contenus pas des parenthses ( et ) .

    Une erreur frquente consiste oublier un de ces lments.

    Les variablesUne variable est un espace rserv dans la mmoire de l'ordinateur. C'est comme uncompartiment dont la taille n'est adquate que pour un seul type d'information. Elle estcaractrise par un nom qui permet d'y accder facilement.Il existe diffrents types de variables identifis par un mot-cl dont les principaux sont :

    nombres entiers (int) nombres virgule flottante (float) texte (String) valeurs vrai/faux (boolean).

    Un nombre dcimales, par exemple 3.14159, peut se stocker dans une variable de type float.Notez que l'on utilise un point et non une virgule pour les nombres dcimales. Dans Arduino, ilest ncessaire de dclarer les variables pour leurs rserver un espace mmoire adquat. Ondclare une variable en spcifiant son type, son nom puis en lui assignant une valeur initiale(optionnel). Exemple :int ma_variable = 45; // int est le type, ma_variable le nom et = 45 assigne une valeur.

    Les fonctionsUne fonction (galement dsigne sous le nom de procdure ou de sous-routine) est un blocd'instructions que l'on peut appeler tout endroit du programme.Le langage Arduino est constitu d'un certain nombre de fonctions, par exemple analogRead(),digitalWrite() ou delay().Il est possible de dclarer ses propres fonctions par exemple :void clignote(){ digitalWrite (brocheLED, HIGH) ; delay (1000) ; digitalWrite (brocheLED, LOW) ; delay (1000) ;}

    Pour excuter cette fonction, il suffit de taper la commande :52

  • clignote();

    On peut faire intervenir un ou des paramtres dans une fonction :void clignote(int broche,int vitesse){ digitalWrite (broche, HIGH) ; delay (1000/vitesse) ; digitalWrite (broche, LOW) ; delay (1000/vitesse) ;}

    Dans ce cas, l'on peut moduler leurs valeurs depuis la commande qui l'appelle :clignote(5,1000); //la sortie 5 clignotera viteclignote(3,250); //la sortie 3 clignotera lentement

    Les structures de contrleLes structures de contrle sont des blocs d'instructions qui s'excutent en fonction du respectd'un certain nombre de conditions.Il existe quatre types de structure :if...else : excute un code si certaines conditions sont remplies et ventuellement excutera unautre code avec sinon.exemple ://si la valeur du capteur depasse le seuilif(valeurCapteur>seuil){ //appel de la fonction clignote clignote();}

    while : excute un code tant que certaines conditions sont remplies.exemple ://tant que la valeur du capteur est suprieure 250while(valeurCapteur>250){ //allume la sortie 5 digitalWrite(5,HIGH); //envoi le message "0" au port serie Serial.println(1); //en boucle tant que valeurCapteur est suprieue 250}

    Serial.println(0);

    digitalWrite(5,LOW);

    for : excute un code pour un certain nombre de fois.exemple ://pour i de 0 255, par pas de 1for (int i=0; i

  • break; case 2: //si le message est "2" //allume que la sortie 5 digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,HIGH); break; }

    ExempleL'exemple qui suit montre l'utilisation de quelques lments de la syntaxe du langage Arduino./*Dans ce programme, un signal analogique provenant d'un capteur (potentiomtre)fait varier la vitesse de clignotement d'une LED, partir d'un certain seuil*/////declaration des variables// selection de la broche sur laquelle est connecte le capteurint brocheCapteur = 0;// selection de la broche sur laquelle est connecte la LEDint brocheLED = 13;// variable stockant la valeur du signal reu du capteurint valeurCapteur = 0;//seuil de dclenchementint seuil= 200;///////////initialisationvoid setup () { // broche du capteur configure en sortie pinMode (brocheCapteur, OUTPUT) ; // broche de la LED configure en sortie pinMode (brocheLED, OUTPUT) ;}////////////boucle principalevoid loop () { // lecture du signal du capteur valeurCapteur = analogRead (brocheCapteur) ; //condition de declenchement if(valeurCapteur>seuil){ //appel de la fonction clignote clignote(); }}/////fonction personnalise de clignotementvoid clignote(){ // allume la LED digitalWrite (brocheLED, HIGH) ; // dlai de valeurCapteur" millisecondes delay (valeurCapteur) ; // teint la LED digitalWrite (brocheLED, LOW) ; // delai de valeurCapteur" millisecondes delay (valeurCapteur) ;}

    Le principe de fonctionnement est le suivant :1. Le signal est lu avec la fonction analogRead () .2. La valeur du signal varie en 0 et 1023.3. Si la valeur dpasse le seuil, la LED est allume et teinte pendant un dlai correspondant

    la valeur du signal reu du capteur.

    Pour aller plus loinLa liste exhaustive des lments de la syntaxe du langage Arduino est consultable sur le site :http://arduino.cc/fr/Main/Reference

    1. http : //fr.wikipedia.org/wiki/Langage_de_programmation^

    54

  • 12. BIEN CODERL'utilisation d'un langage de programmation passe par lapprentissage d'un vocabulaire et d'unesyntaxe prcise. D