View
244
Download
2
Category
Preview:
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/index7/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.CodeASCII7/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.ReferenceEtendue7/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/Software7/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/Recommended