Cours Arduino

Embed Size (px)

Citation preview

  • 7/30/2019 Cours Arduino

    1/17

    Initiation Arduino

    Vous avez dit Arduino ?(extraits du manuel floss : http://fr.flossmanuals.net/arduino/index )

    Arduino est une plate-forme de prototypage d'objets interactifs usage cratif constitue d'unecarte 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 permetd'tendre les capacits de relations humain/machine ouenvironnement/machine.

    Arduino est un projet en source ouverte : la communaut importanted'utilisateurs et de concepteurs permet chacun de trouver les rponses ses questions.

    Matriel

    1

    http://fr.flossmanuals.net/arduino/indexhttp://fr.flossmanuals.net/arduino/index
  • 7/30/2019 Cours Arduino

    2/17

    La carte Arduino repose sur un circuit intgr (un mini ordinateur appelgalement micro-contrleur) associe des entres et sorties quipermettent l'utilisateur de brancher diffrents types d'lments externes.

    Il existe un grand nombre de variantes :

    le Lilipad, pour fixer sur des vtements, le RBBB qui est une carte trs

    petite et conomique etc...http://arduino.cc/en/Main/Hardware

    le Teensy, ne fait pas proprement partie des cartes Arduino, mais on peut leprogrammer partir de l'environnement Arduino. Son processeur est pluspuissant, les E/S sont plus nombreuses, il est minuscule et on peut disposerd'un interface USB MIDI natif...

    http://www.pjrc.com/teensy/

    La srie Mapple (et compatibles) est une

    plateforme 100 fois plus puissante. Laprogrammation est similaire celle del'Arduino.

    Logiciel

    L'environnement de programmation Arduino(IDE en anglais) est une application criteen Java inspire du langage Processing.

    L'IDE permet d'crire, de modifier unprogramme et de le convertir en une srie

    d'instructions comprhensibles pour lacarte.

    Quelques exemples d'applications :http://www.semageek.com/category/electronique/arduino-electronique/

    New : pour crer un nouveau programme (sketch).

    Open : ouvrir un programme existant. Le menu n'est pas droulant cause d'un bug...pourobtenir un menu droulant passer par file/open

    Save : sauvegarde le programme, si vous voulez le sauvegarder sous un autre nom, passerpar file/save as

    Serial Monitor: pour ouvrir la fentre qui permet de visualiser les donnes transmise par leport srie de l'Arduino (trs pratique pour le dbogage...)

    2

    http://arduino.cc/en/Main/Hardwarehttp://www.pjrc.com/teensy/http://www.semageek.com/category/electronique/arduino-electronique/http://arduino.cc/en/Main/Hardwarehttp://www.pjrc.com/teensy/http://www.semageek.com/category/electronique/arduino-electronique/
  • 7/30/2019 Cours Arduino

    3/17

    historique

    D'aprs Wired Magazine :

    Le projet Arduino est n en hiver 2005. Massimo Banzi enseigne dans une cole de Design Ivreaen Italie, et souvent ses tudiants se plaignent de ne pas avoir accs des solutions bas prix pouraccomplir leurs projets de robotique. Banzi en discute avec David Cuartielles, un ingnieurEspagnol spcialis sur les micro-contrleurs

    Ils dcident de crer leur propre carte en embarquant dans leur histoire un des tudiant de Banzi,David Mellis qui sera charg de crer le langage de programmation allant avec la carte. En deuxjours David crira le code! Trois jours de plus et la carte tait creIls dcidrent de lappelerArduino (un bar frquent par les lves proximit de lcole)

    Ca devient un hit tout de suite auprs des tudiants. Tout le monde arrive en faire quelquechosetrs rapidement sans mme avoir de connaissances particulire ni en lectronique ni eninformatique: rponse des capteurs, faire clignoter des leds, contrler des moteurs Ils publientles schmas, investissent 3000 euros pour crer le premier lots de cartes: 200.

    Les 50 premires partent directement des lves de lcole. En 2006 5 000 cartes venduesEn2007 plus de 30 000! en 2011 : >120 000, sans compter les clones !

    Prototype de l'Arduino.

    3

  • 7/30/2019 Cours Arduino

    4/17

    Structure d'un programme

    Le programme est lu par le micro-contrleur de haut vers le bas.Une variable doit tre dclare avant d'tre utilise par une fonction.

    La structure minimale est constitue :

    en tte : dclaration des variables, des constantes, indication de l'utilisation debibliothques etc...

    un setup (= initialisation) cette partie n'est lue qu'une seule fois, elle comprend les fonctionsdevant tre ralises au dmarrage (utilisation des broches en entres ou en sortie, miseen marche du midi, du port srie de l' I2C etc.....)

    une loop (boucle) : cette partie est lue en boucle ! C'est ici que les fonctions sont ralises.

    En plus de cette structure minimale, on peut ajouter :

    des sous-programmes ou routines qui peuvent tre appeles tous moments dansla boucle, trs pratiquer pour raliser des morceaux de codes rptitifs.

    Des callbacks , ce sont des fonctions qui sont rappeles automatiquement depuis unebibliothque.

    4

  • 7/30/2019 Cours Arduino

    5/17

  • 7/30/2019 Cours Arduino

    6/17

    Variables et constantesLes variables sont des expressions que vous pouvez utilisez dans les programmes pour stockerdes valeurs, telles que la tension de sortie d'un capteur prsente sur une broche analogique.

    Constantes prdfinies

    Les constantes prdfinies dulangage Arduino sont desvaleurs particulires ayant unesignification spcifique.

    HIGH | LOW INPUT |OUTPUT true | false

    A ajouter : constantesdcimales prdfinies

    Expressionsnumriques

    Expressionsnumriques entires

    Expressionsnumriques virgule

    Types des donnes

    Les variables peuvent tre detype varis qui sont dcrits ci-dessous.

    Synthse des types dedonnes Arduino

    boolean char byte

    int unsigned int long unsigned long float (nombres

    virgules) double (nombres

    virgules) Les chanes de

    caractres objet String NEW Les tableaux de

    variables le mot-cl void

    (fonctions) word PROGMEM

    Voir galement :

    Dclaration desvariables

    Pour info : les types dedonnes avr-c

    Conversion des typesde donnes

    char() byte() int() long() float() word()

    Porte des variables etqualificateurs

    Porte des variables static volatile const

    Utilitaires

    sizeof() (oprateur

    sizeof )

    Rfrence

    Code ASCII

    6

    http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreEntiershttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreEntiershttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreVirgulehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreVirgulehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.SyntheseTypesDonneeshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.SyntheseTypesDonneeshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Booleanhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Charhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Inthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Inthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.UnsignedInthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.UnsignedInthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Longhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.UnsignedLonghttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Floathttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Floathttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Doublehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ChainesCaractereshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ChainesCaractereshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.StringObjethttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tableauxhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tableauxhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Voidhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Wordhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PROGMEMhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DeclarationVariableshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DeclarationVariableshttp://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html#g932e6ccc3d54c58f761c1aead83bd6d7http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html#g932e6ccc3d54c58f761c1aead83bd6d7http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionCharhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionBytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionInthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionLonghttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionFloathttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionWordhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PorteeVariableshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Statichttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Volatilehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Consthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Consthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sizeofhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sizeofhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.CodeASCIIhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.CodeASCIIhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConstantesPredefinieshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreEntiershttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreEntiershttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreVirgulehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NombreVirgulehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.SyntheseTypesDonneeshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.SyntheseTypesDonneeshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Booleanhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Charhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Inthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.UnsignedInthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Longhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.UnsignedLonghttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Floathttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Doublehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ChainesCaractereshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ChainesCaractereshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.StringObjethttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tableauxhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tableauxhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Voidhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Wordhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PROGMEMhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DeclarationVariableshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DeclarationVariableshttp://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html#g932e6ccc3d54c58f761c1aead83bd6d7http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html#g932e6ccc3d54c58f761c1aead83bd6d7http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionCharhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionBytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionInthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionLonghttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionFloathttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ConversionWordhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PorteeVariableshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Statichttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Volatilehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Consthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sizeofhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sizeofhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.CodeASCII
  • 7/30/2019 Cours Arduino

    7/17

    Fonctions

    Entres/Sorties

    Numriques pinMode(broche, mode) digitalWrite(broche,

    valeur) intdigitalRead(broche)

    Entres analogiques

    intanalogRead(broche) analogReference(type)

    Sorties "analogiques"(gnrationd'impulsion)

    analogWrite(broche,valeur) - PWM

    Entres/SortiesAvances

    tone() noTone() shiftOut(broche,

    BrocheHorloge,OrdreBit, valeur)

    unsigned longpulseIn(broche, valeur)

    Communication

    Serial

    Temps

    unsigned long millis() unsigned long micros() delay(ms) delayMicroseconds(us)

    Math

    min(x, y) max(x, y) abs(x) constrain(x, a, b) map(valeur, toLow,

    fromHigh, toLow,toHigh)

    pow(base, exposant) sq(x) sqrt(x)

    Pour davantage de fonctionsmathmatiques, voir aussi lalibrairie math.h: log, log10,asin, atan, acos, etc...

    Nombres randomiss(hasard)

    randomSeed(seed) long random(max) long random(min, max)

    Trigonomtrie

    sin(rad) cos(rad) tan(rad)

    Bits et Octets

    lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit()

    Interruptions Externes

    attachInterrupt(interruption, fonction, mode)

    detachInterrupt(interruption)

    Interruptions

    interrupts() noInterrupts()

    Voir galement la librairieinterrupt.h.

    http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ReferenceEtendue

    les bibliothques (librairies).Les utilisateurs les plus avertis concoctent des bibliothques pour interfacer, le plus simplementpossible, une vaste diversit de composants (I2C, SPI...) et de fonctionnalits (MIDI, Ethernet,OSC...)

    Sans ces bibliothques, la programmation serait vraiment plus complexe ! utiliser sansmodration.

    Les bibliothques doivent tre installes dans le rpertoire libraries et doivent tre incluesdans le programme (exemple : #include ).

    7

    http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PinModehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DigitalWritehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DigitalReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DigitalReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogReferencehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogWritehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tonehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NoTonehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ShiftOuthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ShiftOuthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PulseInhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Serialhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Serialhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Millishttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Microshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Delayhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DelayMicrosecondshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Minhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Maxhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Abshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Constrainhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Maphttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Powhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sqhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sqrthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sqrthttp://www.nongnu.org/avr-libc/user-manual/group__avr__math.htmlhttp://www.nongnu.org/avr-libc/user-manual/group__avr__math.htmlhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.RandomSeedhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Randomhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Randomhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sinhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Coshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tanhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.LowBytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.HighBytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitWritehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitSethttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitSethttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitClearhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bithttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bithttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AttachInterrupthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AttachInterrupthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DetachInterrupthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DetachInterrupthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Interruptshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NoInterruptshttp://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.htmlhttp://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.htmlhttp://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.htmlhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ReferenceEtenduehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PinModehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DigitalWritehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DigitalReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogReferencehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AnalogWritehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tonehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NoTonehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ShiftOuthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PulseInhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Serialhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Millishttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Microshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Delayhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DelayMicrosecondshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Minhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Maxhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Abshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Constrainhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Maphttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Powhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sqhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sqrthttp://www.nongnu.org/avr-libc/user-manual/group__avr__math.htmlhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.RandomSeedhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Randomhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Randomhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Sinhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Coshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Tanhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.LowBytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.HighBytehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitReadhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitWritehttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitSethttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitClearhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bithttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.AttachInterrupthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DetachInterrupthttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Interruptshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NoInterruptshttp://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.htmlhttp://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.htmlhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ReferenceEtendue
  • 7/30/2019 Cours Arduino

    8/17

    Dmarrer avec Arduino sous Windows

    1 | Obtenir une carte Arduino et un cble USB

    2 | Tlcharger l'environnement Arduino

    Tlcharger le fichier ici : http://arduino.cc/en/Main/Software

    dcompresser le fichier et le copier dans mes documents

    3 | Raccorder la carte l'ordinateur

    La diode verte doit s'allumer.

    4 | Installation des pilotes du priphrique Srie-USB

    lors d'un premier raccordement d'une carte UNO l'ordinateur, ce dernier rechercheautomatiquement un pilote. Aprs quelques instants, l'ordinateur va indiquer qu'il n'a pastrouv de pilote...

    ouvrir executer en passant par le menu dmarrer

    taperdevmgmt.msc et taper sur la touche entre

    Chercher et dployer la rubrique ports (COM et LPT).

    Il doit apparatre une ligne Arduino UNO (COMxx)

    faire un click droit sur Arduino UNO (COMxx) et choisir mettre jour le pilote... .

    Choisir rechercher un pilote sur mon ordinateur

    selectionner le fichier"ArduinoUNO.inf", qui se trouve dans le repertoire drivers del'installation de l'Arduino...

    Windows va terminer l'installation des pilotes.

    5 | Lancer l'aplication Arduino

    Double -cliquer sur

    8

    http://arduino.cc/en/Main/Softwarehttp://arduino.cc/en/Main/Software
  • 7/30/2019 Cours Arduino

    9/17

    6 | Ouvrir l'exemple blink

    Ouvrir le programme (sketch)

    File > Examples > 1.Basics > Blink.

    9

  • 7/30/2019 Cours Arduino

    10/17

    7 | choisir la carte UNO

    8 | slectionner le port srie

    Choisir le port srie qui est utilis par la carte arduino : tools > serial port >

    pour connatre quel port srie est utilis par la carte Arduino, lancer le gestionnaire de priphrique

    (voir item 4).

    9 | charger le programme dans la carte Arduino

    Cliquer sur la touche upload

    aprs quelques secondes, la LED orange qui est raccorde la broche 13 devrait clignoter.

    En cas de problme : troubleshooting suggestions.

    The text of the Arduino getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the guide are released into the public domain.

    10

    http://arduino.cc/en/Guide/Troubleshootinghttp://creativecommons.org/licenses/by-sa/3.0/http://creativecommons.org/licenses/by-sa/3.0/http://creativecommons.org/licenses/by-sa/3.0/http://arduino.cc/en/Guide/Troubleshootinghttp://creativecommons.org/licenses/by-sa/3.0/http://creativecommons.org/licenses/by-sa/3.0/
  • 7/30/2019 Cours Arduino

    11/17

  • 7/30/2019 Cours Arduino

    12/17

    Schmas de rfrence

    LED :

    Une diode lectroluminescente (DEL ou LED ) est un composant opto-lectronique capable dmettre de la lumire lorsquil est parcouru par un courantlectrique.

    Une diode lectroluminescente ne laisse passer le courant lectrique que dans unseul sens (le sens passant).

    lorsqu'elle est traverse par un courant, la LED oppose une tension fixe 1,9V pour une LED rouge, 3,2V pour les diodes blanches, ou autres couleurs voir les notices des diodes avant d'utiliser.

    Le courant dans la LED est aussi limit :

    pour les LED ordinaires de 5mm, 24mA environ.

    Certaines LED munies de 5 lments dans un mme boitier absorbe jusqu' 100mA. (ces LED nepeuvent donc pas tre directement commandes par une sortie d'Arduino...)

    raccordement l'Arduino :

    calcul de la rsistance de protection :

    R=tension d ' alimentationtension LED

    intensit en Ampre

    Exemple : pour une diode rouge, l'Arduino aliment en 5V :

    R =

    12

  • 7/30/2019 Cours Arduino

    13/17

  • 7/30/2019 Cours Arduino

    14/17

    moteur :

    Les moteur lectriques courant continu consomment trop de courant pour tre commandsdirectement par une broche de l'Arduino, de plus ils sont inductifs : ils crent des surtensions leurs bornes, il faut donc protger le montage avec une diode de roue libre.

    Il en va de mme avec les relais.

    On peut aussi utiliser un transistor effet de champ type N : par exemple IRF Z34N

    Servomoteur :

    Un servomoteur est constitu d'un moteur, d'uncapteur de position et d'un rgulateur lectronique. Lefonctionnement du moteur est asservi la position del'axe.

    On le commande en lui indiquant quel angle doitprendre son axe (entre 0 et 180) le moteur se metalors en marche jusqu' ce que la position soitatteinte.

    En utilisant une bibliothque toute faite : #include

    il devient trs simple de mettre en uvre desservomoteurs de modlisme.

    Raccordement :

    marron : masse

    rouge : +5V

    orange : commande, raccorder une broche de sortie del'Arduino

    14

  • 7/30/2019 Cours Arduino

    15/17

  • 7/30/2019 Cours Arduino

    16/17

  • 7/30/2019 Cours Arduino

    17/17

    les liens :http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallationWindows

    http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterPresentationLogiciel

    http://arduino.cc/fr/Main/DebuterPresentationLogiciel

    http://arduino.cc/en/Guide/Windows#toc1

    licence : CCsources :http://arduino.cc/

    17

    http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallationWindowshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallationWindowshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterPresentationLogicielhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterPresentationLogicielhttp://arduino.cc/fr/Main/DebuterPresentationLogicielhttp://arduino.cc/en/Guide/Windows#toc1http://arduino.cc/http://arduino.cc/http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallationWindowshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterInstallationWindowshttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterPresentationLogicielhttp://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.DebuterPresentationLogicielhttp://arduino.cc/fr/Main/DebuterPresentationLogicielhttp://arduino.cc/en/Guide/Windows#toc1http://arduino.cc/