introduction à l'algorithmique et à la programmation (info...
TRANSCRIPT
Introduction à l’algorithmique et à laprogrammation (Info 2)
Dixième cours: Introduction au microcontrôleur Arduino
Matthieu Puigt
IUT du Littoral Côte d’OpaleDUT Génie Industriel et Maintenance
[email protected]://www-lisic.univ-littoral.fr/~puigt/
.Retrouvez ce document sur :
http://www-lisic.univ-littoral.fr/~puigt/teaching.html
Année universitaire 2014–2015
M. Puigt Info 2 – Cours 10 2014–2015 1
Bibliographie
Ce cours est partiellement inspiré de :http://www.acm.uiuc.edu/sigbot/tutorials/2009-11-17-arduino-basics.pdf,des notes de cours disponibles surhttp://todbot.com/blog/spookyarduino/,des fonctions et bibliothèques surhttp://arduino.cc/fr/Main/ReferenceEtendue ethttp://arduino.cc/fr/Main/Librairies.
M. Puigt Info 2 – Cours 10 2014–2015 2
Un microcontrôleur (ou µc), qu’est-ce que c’est ?Definition (source Wikipedia)Circuit intégré qui rassemble les éléments essentiels d’un ordinateur :processeur, mémoires (morte et vive), unités périphériques et interfacesd’entrées-sorties.
Plus petits, moins performants (et donc moins consommateursd’énergie), moins chers qu’un PC (de moins en moins vrai : cfRaspberry PI ou Beaglebone Black par exemple)Application visée = systèmes embarqués (téléphones mobiles,baladeurs, récepteurs GPS, électroménager, automobile, systèmes detransports, etc)Généralement, l’utilisateur ne peut communiquer avec un µc en coursd’utilisation (pas d’interface homme-machine sur un injecteur parexemple)Mais environnement de développement intégré (IDE en anglais) pour leprogrammer initialement.La plupart des µc programmés en langage assembleur. D’autres (ex : lesarduino) compilent des langages de programmation (moins optimalmais plus facile)
M. Puigt Info 2 – Cours 10 2014–2015 3
Arduino ?
Start-up italienne lancée en 2005 (http://arduino.cc)Crée un microcontrôleur bas-coût (à partir de 20 e) avec un IDEpermettant de facilement le programmer, même par un débutant.Public visé : les artistes, les étudiants (université voire lycée), les"bidouilleurs" du dimanche, les experts pour certaines applications oudu développementOpen-source (sauf nom) : les plans sont en ligne et on peut doncreproduire, modifier et améliorer et vendre une telle carte. L’IDE estaussi open-source.
î Enorme communauté d’utilisateurs (Arduino Day 2014)Centaines de produits sur le marché (versions officielles, copies àl’identique à bas coût, versions améliorées). Chaque jour naît unnouveau produit "duino"Hardware open-source est une nouvelle révolution industrielle seloncertains experts (de nombreuses compagnies se sont lancées sur cemarché)
M. Puigt Info 2 – Cours 10 2014–2015 4
Modèle UNOQuelques caractéristiques :• 32 ko de ROM (dont
bootloader de 0.5 ko)• 2 ko de RAM, 1 ko
d’EEPROM• 16 MHz (Intel 8086 : de 5 à
10 MHz)
• 14 ports entrée/sortienumériques
(dont 6 MLI)
• 5 ports d’entrée analogique
M. Puigt Info 2 – Cours 10 2014–2015 5
Modèle UNOQuelques caractéristiques :• 32 ko de ROM (dont
bootloader de 0.5 ko)• 2 ko de RAM, 1 ko
d’EEPROM• 16 MHz (Intel 8086 : de 5 à
10 MHz)• 14 ports entrée/sortie
numériques
(dont 6 MLI)• 5 ports d’entrée analogique
Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" desinterrupteurs, des boutons, contrôler des DEL et l’activation de moteurs
Les entrées analogiques (une "infinité" de valeurs) peuvent lire despotentiomètres et autres capteurs à données variablesLes sorties analogiques peuvent être obtenues par des "modulations delargeur d’impulsion"
M. Puigt Info 2 – Cours 10 2014–2015 5
Modèle UNOQuelques caractéristiques :• 32 ko de ROM (dont
bootloader de 0.5 ko)• 2 ko de RAM, 1 ko
d’EEPROM• 16 MHz (Intel 8086 : de 5 à
10 MHz)• 14 ports entrée/sortie
numériques
(dont 6 MLI)
• 5 ports d’entrée analogique
Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" desinterrupteurs, des boutons, contrôler des DEL et l’activation de moteursLes entrées analogiques (une "infinité" de valeurs) peuvent lire despotentiomètres et autres capteurs à données variables
Les sorties analogiques peuvent être obtenues par des "modulations delargeur d’impulsion"
M. Puigt Info 2 – Cours 10 2014–2015 5
Modèle UNOQuelques caractéristiques :• 32 ko de ROM (dont
bootloader de 0.5 ko)• 2 ko de RAM, 1 ko
d’EEPROM• 16 MHz (Intel 8086 : de 5 à
10 MHz)• 14 ports entrée/sortie
numériques (dont 6 MLI)• 5 ports d’entrée analogique
Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" desinterrupteurs, des boutons, contrôler des DEL et l’activation de moteursLes entrées analogiques (une "infinité" de valeurs) peuvent lire despotentiomètres et autres capteurs à données variablesLes sorties analogiques peuvent être obtenues par des "modulations delargeur d’impulsion"
M. Puigt Info 2 – Cours 10 2014–2015 5
Modèle UNOQuelques caractéristiques :• 32 ko de ROM (dont
bootloader de 0.5 ko)• 2 ko de RAM, 1 ko
d’EEPROM• 16 MHz (Intel 8086 : de 5 à
10 MHz)• 14 ports entrée/sortie
numériques (dont 6 MLI)• 5 ports d’entrée analogique
Tension de fonctionnement : 5 VTension d’entrée (recommendée) : 7-12 VTension d’entrée (limites) : 6-20 VIntensité de courant par port E/S : 40 mAIntensité de courant par port E/S en 3.3 V : 50 mA
M. Puigt Info 2 – Cours 10 2014–2015 5
Que peut-on connecter à l’Arduino ?Quelques exemples
Des capteurs de température :
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Des capteurs de pression/torsion :
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Des moteurs :
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Des écrans d’affichage :
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Des relais :
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Bref, tout type de capteur (http://itp.nyu.edu/physcomp/sensors/) ou d’actionneur.
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Mais aussi des modules appelés "shields"
qu’on peut empiler :
Liste des shields : http://shieldlist.org/
M. Puigt Info 2 – Cours 10 2014–2015 6
Que peut-on connecter à l’Arduino ?Quelques exemples
Mais aussi des modules appelés "shields" qu’on peut empiler :
Liste des shields : http://shieldlist.org/
M. Puigt Info 2 – Cours 10 2014–2015 6
IDE
CompilerTransférer
Zone de statut
IDE téléchargeable sur http://arduino.ccUn programme s’appelle "sketch"
Compiler, remettre à zéro la carte (appuyer sur reset) et charger leprogramme
M. Puigt Info 2 – Cours 10 2014–2015 7
IDE Compiler
Transférer
Zone de statut
IDE téléchargeable sur http://arduino.ccUn programme s’appelle "sketch"
Compiler, remettre à zéro la carte (appuyer sur reset) et charger leprogramme
M. Puigt Info 2 – Cours 10 2014–2015 7
IDE CompilerTransférer
Zone de statut
IDE téléchargeable sur http://arduino.ccUn programme s’appelle "sketch"
Compiler, remettre à zéro la carte (appuyer sur reset) et charger leprogramme
M. Puigt Info 2 – Cours 10 2014–2015 7
IDE CompilerTransférer
Zone de statut
IDE téléchargeable sur http://arduino.ccUn programme s’appelle "sketch"Compiler, remettre à zéro la carte (appuyer sur reset) et charger leprogramme
M. Puigt Info 2 – Cours 10 2014–2015 7
Langage Arduino
Langage très proche du CBeaucoup de fonctions très simples
pinMode() – choisit un port comme entrée ou sortie (INPUT/OUTPUT)digitalWrite() – affecte à un port numérique la valeur haute oubasse (HIGH/LOW)digitalRead() – lit l’état du port numériqueanalogRead() – lit un port analogiqueanalogWrite() – écrit une valeur MLI "analogique"delay() – attend une durée de temps définie (en ms)millis() – fournit le temps épuisé (en ms) depuis le lancement duprogramme courant
Et beaucoup d’autres "bibliothèques" et "fonctions" (on en reparleraplus tard, en TD et TP)
M. Puigt Info 2 – Cours 10 2014–2015 8
Le squelette d’un programme
// Déclaration de variablesvoid setup(){// Initialisation des variables
}void loop(){// Cette fonction est appelée indéfiniment,// après le setup
}
M. Puigt Info 2 – Cours 10 2014–2015 9
Conclusion
Nous avons vu une rapide introduction à l’ArduinoBeaucoup de tutoriels en ligne peuvent vous aiderNous allons mieux l’étudier dans le cadre de TD/TP
M. Puigt Info 2 – Cours 10 2014–2015 10