Sie sind auf Seite 1von 24

Introduction à l’algorithmique et à la

programmation (Info 2)
Dixième cours: Introduction au microcontrôleur Arduino

Matthieu Puigt

IUT du Littoral Côte d’Opale


DUT Génie Industriel et Maintenance
matthieu.puigt@univ-littoral.fr
http://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 sur
http://todbot.com/blog/spookyarduino/,
des fonctions et bibliothèques sur
http://arduino.cc/fr/Main/ReferenceEtendue et
http://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 interfaces
d’entrées-sorties.
Plus petits, moins performants (et donc moins consommateurs
d’énergie), moins chers qu’un PC (de moins en moins vrai : cf
Raspberry 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 de
transports, etc)
Généralement, l’utilisateur ne peut communiquer avec un µc en cours
d’utilisation (pas d’interface homme-machine sur un injecteur par
exemple)
Mais environnement de développement intégré (IDE en anglais) pour le
programmer initialement.
La plupart des µc programmés en langage assembleur. D’autres (ex : les
arduino) compilent des langages de programmation (moins optimal
mais 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 IDE
permettant 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 ou
du développement
Open-source (sauf nom) : les plans sont en ligne et on peut donc
reproduire, modifier et améliorer et vendre une telle carte. L’IDE est
aussi 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 un
nouveau produit "duino"
Hardware open-source est une nouvelle révolution industrielle selon
certains experts (de nombreuses compagnies se sont lancées sur ce
marché)

M. Puigt Info 2 – Cours 10 2014–2015 4


Modèle UNO
Quelques 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)

M. Puigt Info 2 – Cours 10 2014–2015 5


Modèle UNO
Quelques 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

Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" des


interrupteurs, des boutons, contrôler des DEL et l’activation de moteurs

M. Puigt Info 2 – Cours 10 2014–2015 5


Modèle UNO
Quelques 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
• 5 ports d’entrée analogique

Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" des


interrupteurs, des boutons, contrôler des DEL et l’activation de moteurs
Les entrées analogiques (une "infinité" de valeurs) peuvent lire des
potentiomètres et autres capteurs à données variables

M. Puigt Info 2 – Cours 10 2014–2015 5


Modèle UNO
Quelques 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" des


interrupteurs, des boutons, contrôler des DEL et l’activation de moteurs
Les entrées analogiques (une "infinité" de valeurs) peuvent lire des
potentiomètres et autres capteurs à données variables
Les sorties analogiques peuvent être obtenues par des "modulations de
largeur d’impulsion"
M. Puigt Info 2 – Cours 10 2014–2015 5
Modèle UNO
Quelques 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 V
Tension d’entrée (recommendée) : 7-12 V
Tension d’entrée (limites) : 6-20 V
Intensité de courant par port E/S : 40 mA
Intensité 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"

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

IDE téléchargeable sur http://arduino.cc


Un programme s’appelle "sketch"

M. Puigt Info 2 – Cours 10 2014–2015 7


Compiler
IDE

IDE téléchargeable sur http://arduino.cc


Un programme s’appelle "sketch"

M. Puigt Info 2 – Cours 10 2014–2015 7


Compiler
IDE Transférer

Zone de statut

IDE téléchargeable sur http://arduino.cc


Un programme s’appelle "sketch"

M. Puigt Info 2 – Cours 10 2014–2015 7


Compiler
IDE Transférer

Zone de statut

IDE téléchargeable sur http://arduino.cc


Un programme s’appelle "sketch"
Compiler, remettre à zéro la carte (appuyer sur reset) et charger le
programme
M. Puigt Info 2 – Cours 10 2014–2015 7
Langage Arduino

Langage très proche du C


Beaucoup 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 ou
basse (HIGH/LOW)
digitalRead() – lit l’état du port numérique
analogRead() – lit un port analogique
analogWrite() – é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 du
programme courant
Et beaucoup d’autres "bibliothèques" et "fonctions" (on en reparlera
plus tard, en TD et TP)

M. Puigt Info 2 – Cours 10 2014–2015 8


Le squelette d’un programme

// Déclaration de variables
void 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’Arduino


Beaucoup de tutoriels en ligne peuvent vous aider
Nous allons mieux l’étudier dans le cadre de TD/TP

M. Puigt Info 2 – Cours 10 2014–2015 10

Das könnte Ihnen auch gefallen