Vous êtes sur la page 1sur 36

Prototypage rapide et

ARDUINO
Objectifs
2

 Apprendre à programmer Arduino et à utiliser des


composants électroniques simple.
 Créer des systèmes électroniques plus ou moins
complexes.
Carte ARDUINO : c’est quoi
3

 Arduino est un projet créé par une équipe de


développeurs, composée de six individus : Massimo
Banzi, David Cuartielles, Tom Igoe, Gianluca Martino,
David Mellis et Nicholas Zambetti.
 C’est un outil qui va permettre aux débutants, amateurs
ou professionnels de créer des systèmes électroniques
plus ou moins complexes.
 ARDUINO :
 La carte Arduino est une plate-forme de prototypage basée sur un
micro-contrôleur AT MEL
 équipé de divers éléments qui facilitent sa mise en
oeuvre.
Arduino : utilité
4

 Le système Arduino permet :


 d'allier les performances de la programmation à celles de
l'électronique.
 De simplifier grandement les schémas électroniques et par
conséquent, le coût de la réalisation, mais aussi la charge de travail à
la conception d'une carte électronique.
 La carte Arduino est un circuit de commande qui sert
principalement à contrôler des
 actionneurs et recenser les informations des capteurs.
 Il n'est pas conçu pour alimenter les éléments qui requièrent un
certain niveau de puissance, comme des moteurs.
 Dans le cas où l'on voudrait utiliser de tels actionneurs, il faudrait
utiliser un circuit additionnel que l'on désigne par circuit de puissance
Exemple d’application avec Arduino
5

 Domaine domotique :
 contrôler des appareils de la maison (lampe, interrupteur)

 Réaliser un jeu de lumière dans sa maison

 Domaine de la santé : contrôler l’état d’un patient


 Réaliser des robots
 Contrôler des voitures (recul automatique, éviter les
chocs, ABS, etc.)
 Commander un appareil mobile
 etc.
Arduino : pourquoi?
6

 Prix:
 peu coûteux, par exemple la carte Arduino uno a un prix qui tourne
aux environs de 67DT TTC
 Bon rapport qualité/prix.
 Simulateur gratuit Autodesk tinkercard
 Compatibilité
 Linux, Windows et Mac
 Libre
 Le logiciel : gratuit et open source, développé en Java, dont la
simplicité d'utilisation relève du savoir cliquer sur la souris.
 Le matériel : cartes électroniques dont les schémas sont en libre
circulation sur internet
Schéma bloc de l’Arduino
7
Composants : ARDUINO Uno

 1 : port d’alimentation externe 1 2


 Pour fonctionner, la carte a besoin d'une
alimentation qui est comprise entre 7V et
15V
 Cette tension doit être continue et peut
par exemple être fournie par une pile 9V.
Un régulateur se charge ensuite de
réduire la tension à 5V pour le bon
fonctionnement de la carte.
 Pas de danger de tout griller donc!
Veuillez seulement à respecter l'intervalle
de 7V à 15V (même si le régulateur peut
supporter plus, pas la peine de le
retrancher dans ses limites)Le
microcontrôleur fonctionnant sous 5V

 2 : port USB
 la carte peut être alimentée en 5V par le
port USB
Composants : ARDUINO Uno

 3-4 : Connectiques appelés


PIN
 Chaque pin a un numéro
 Ce sont les entrées sorties de
notre carte
 Utiliser pour connecter
d’autres composants à la
carte.
 Cette connectique est 3
importante et a un brochage 4
qu'il faudra respecter.
 Par exemple pour connecter une
Led extérieure , il faut une
résistance en série, à la carte.
PIN : Entrées/sorties
10

 C'est par ces connexions que le micro-


contrôleur est relié au monde extérieur. Une
carte Arduino standard est dotée de :
 6 entrées analogiques
 nommé Ai, exemple A0
 14 entrées/sorties numériques dont 6 peuvent
assurer une sortie PWM
 Nommé Di, exemple D0
 Les entrées analogiques lui permettent de
mesurer une tension variable (entre 0 et 5 V)
qui peut provenir de capteurs 6 ou
d'interfaces diverses (potentiomètres, etc.).
 Les entrées/sorties numériques
 reçoivent ou envoient des signaux « 0 » ou « 1 »
traduits par 0 ou 5 V.
 comportement programmé de ces connecteurs
(entrée ou sortie):
 Dans la phase initialisation du programme
 Ou dans le corps du programme.
Les sorties numériques
11

 Ils 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.
 La puce ATMEGA n'est pas capable de sortir des tensions
variables. Heureusement, 6 des sorties numériques (N°
3, 5, 6, 9, 10, 11) peuvent produire un signal PWM. «
Pulse Width modulation » en anglais ; en français l'on
parle de MLI : « Modulation de largeur ». Il s'agit d'un
artifice permettant de produire une tension variable à
partir d'une tension fixe.
Composants : ARDUINO Uno

 5 : Le micro-contrôleur
 C’est lui qui va recevoir le
programme que vous aurez créé
et qui va le stocker dans sa
mémoire puis l’exécuter.
 Grâce à ce programme, il va
savoir faire des choses,
 faire clignoter une LED,
 afficher des caractères sur un 5
écran,
 envoyer des données à un
ordinateur, ..
ARDUINO et microcontrôleur
13

 La puce la plus courante qui équipe la carte Arduino


est la AT MEGA328.
 Certains anciens modèles ont une puce AT
MEGA168 qui est dotée d'un peu moins de mémoire.
 Tous les processeurs de la famille AT MEGA se
programment sensiblement de la même manière
mais des différences peuvent apparaître pour des
fonctions plus complexes.
 Pour plus de détails à ce sujet, référez-vous à la
rubrique Matériel du site Arduino :
http://arduino.cc/en/Main/Hardware
Composants : ARDUINO Uno

 6 : des LED dont la taille est de


l'ordre du millimètre. Ces LED
servent à deux choses :
 Flèche noire : une Led qui est
connectée à une broche du
microcontrôleur et va servir pour
tester le matériel. Quand on branche
la carte au PC, elle clignote quelques 6
secondes.
 Flèche rouge : les deux Leds qui
servent à visualiser l'activité sur la
voie série (une pour l'émission et
l'autre pour la réception). Le
téléchargement du programme dans
le micro-contrôleur se faisant par
cette voie, on peut les voir clignoter
lors du chargement.
Installation sous Linux et Mac
15

 Afin d’utiliser la carte, il faut l'installer.


 Normalement, les drivers sont déjà installés sous
GNU/Linux.
 Sous mac, il suffit de double cliquer sur le fichier
.mkpg inclus dans le téléchargement de l'application
Arduino et l’installation des drivers s’exécute de
façon automatique.
Installation sous Windows
16

 Lorsque vous connectez la carte à votre ordinateur sur le port USB :


 un petit message en bas de l'écran apparaît.
 Théoriquement, la carte que vous utilisez doit s'installer toute seule.
 Cependant, si vous êtes sous Win 7, il se peut que ca ne marche pas du premier
coup.
 Dans ce cas, laisser la carte branchée puis ensuite allez dans le panneau de
configuration.
 Une fois là, cliquez sur "système" puis dans le panneau de gauche sélectionnez
"gestionnaire de périphériques".
 Une fois ce menu ouvert, vous devriez voir un composant avec un panneau
"attention" jaune.
 Faites un clic droit sur le composant et cliquez sur "Mettre à jour les pilotes".
 Dans le nouveau menu, sélectionnez l'option "Rechercher le pilote moi-même".
 Enfin, il ne vous reste plus qu'à aller sélectionner le bon dossier contenant le
driver. Il se trouve dans le dossier d'Arduino que vous avez du décompresser un
peu plus tôt et se nomme "drivers" (attention, ne descendez pas jusqu'au dossier
"FTDI"). Par exemple, pour moi le chemin sera: [le-chemin-jusqu'au-
dossier]\arduino-0022\arduino-0022\drivers
Installation Réussie
17

 Après l'installation et une suite de clignotement sur les micro-


LED de la carte, celle-ci devrait être fonctionnelle; une petite
LEDverte témoigne de la bonne alimentation de la carte
Faut-il la carte ARDUINO ?
18

 La réponse est non,


 L’achat d’un Arduino est optionnel.
 En effet, nous pouvons exécuter nos codes pour la carte
Arduino grâce à un simulateur en ligne
AutodeskTinkerCard (https://www.tinkercad.com)
 Par contre, si vous souhaitez prototyper avec un vrai
Arduino, vous pouvez l’acheter chez un vendeur de
composants électroniques:
 Exemple
 2Btrading (sousse) : http://2betrading.com/
 Souilah (https://www.facebook.com/pages/SOS-Souilah-
Electronique/411199178934286?fref=ts)
Programmation ARDUINO
19

 Le langage Arduino est très proche du C et du C++.


 Pourtant il y a des différences surtout au niveau des
de l’écriture des fichiers
 Pas de fonction main
 Deux fonctions sont obligatoires (setup et loop)
 Et bien d’autres points de différences
Programmation
20

 Prérequis:
 Il faut avoir un minimum de connaissances de programmation

 Vous pouvez voir le cours Rappel des règles de


programmation dans la même section
Coloration syntaxique
21

 En orange, apparaissent les mots-clés reconnus par le


langage Arduino comme des fonctions existantes.
 En bleu, apparaissent les mots-clés reconnus par le
langage Arduino comme des constantes.
 En gris, apparaissent les commentaires qui ne seront
pas exécutés dans le programme.
 Il est utile de bien commenter son code pour s'y
retrouver facilement ou pour le transmettre à d'autres
personnes. L'on peut déclarer un commentaire de deux
manières différentes :
 dans une ligne de code, tout ce qui se trouve après « // » sera un
commentaire.
 on peut encadrer des commentaires sur plusieurs lignes entre « /* »
et « */ ».
Programmation ARDUINO
22

 Un programme ARDUINO
est composé de 3 parties
Les parties d’un programme ARDUINO
Partie 1 :
23

 la partie déclaration des variables (optionnelle)


Les parties d’un programme ARDUINO
Partie 2 : Fonction setup ()
24

 la partie initialisation et configuration des entrées/sorties : la fonction setup () est


appelée une seule fois lorsque le programme commence.
 C'est pourquoi c'est dans cette fonction que l'on va écrire le code qui n'a besoin
d'être exécuté qu’ une seule fois.
 On appelle cette fonction : "fonction d'initialisation". On y retrouvera la
mise en place des différentes sorties et quelques autres réglages.
 C'est un peu le check-up de démarrage. Imaginez un pilote d'avion dans sa
cabine qui fait l'inventaire :
 - patte 2 en sortie, état haut ?
 - OK
 - timer 3 à 15 millisecondes ?
 - OK
 ...
Les parties d’un programme ARDUINO
Partie 3 : loop ()
25

 Une fois que l'on a initialisé le programme il faut


ensuite créer son "cœur", autrement dit le
programme en lui même. C’est la fonction loop ()
 la partie principale : la fonction loop ()
 on va écrire le contenu du programme. Il faut savoir que cette
fonction est appelée en permanence, c'est-à-dire qu'elle est
exécutée une fois, puis lorsque son exécution est terminée, on
la ré-exécute encore et encore. On parle de boucle infinie.
1er exemple ARDUINO
26
Explication du code
27

 Les commentaires :
 /* Clignotement Allume la LED pendant 1 seconde, puis l'ét
eint pendant 1 seconde. */
 // Numéro de la broche à laquelle est

 // connectée la LED

 Déclaration d'une variable :


 int led = 13; Dans notre cas, cela signifie que
la variable appelée led qui sera un nombre (puisque elle est
précédée du mot clé int) viendra prendre la valeur 13.
Les blocs d’instructions : setup ()
28

 pinMode configure la broche spécifiée dans le


premier paramètre pour qu'elle se comporte soit en
entrée (INPUT), soit en sortie (OUTPUT) passée
avec le second paramètre :
 pinMode(led, OUTPUT);
 pinMode(led, INPUT);
Bloc d’instructions : loop()
29

 Le code qu’on vise faire est d’allumer une led pendant 1s et


l’éteindre pendant 1s pour cela, on demande au
microcontrôleur de le faire automatiquement grâce à des
instruction bien définie :
 On envisage de lier une led à la carte Arduino à travers une connectique
bien déterminée à travers un numéro
 Puis de donner l’ordre d’envoyer une tension à cette Led ou pas pour
cela, il existe une fonction qui doit donner cette tension :
 Utilisation de l a fonction suivante : digitalWrite(led, HIGH);
 Dans ce cas, le nom de la fonction est digitalWrite.
 Nous passons deux paramètres à la fonction : led et HIGH. La
fonction digitalWrite n'a pas de sortie.
 Avec cette fonction, nous allumons la broche située sur la broche passée
avec le premier paramètre (qui peut être un nombre ou une variable).
 Lorsque le second arguement est placé à HIGH, on vient allumer la LED.
Tandis qu'on éteindra la LED si le second argument passé est LOW.
Bloc d’instructions : loop()
30

 Pour attendre un temps bien déterminer, il existe


une fonction qui est nommée delay()
 Elle prend comme paramètres un nombre qui
exprime des durées en millisecondes :
 delay fait une pause dans l'exécution du programme pour la
durée (en millisecondes) passée en paramètre :
delay(1000); // attendre 1000 ms == attendre 1 s
Montage du circuit
31

 Plusieurs outils pourront être utiliser pour réaliser


des montages
 Fritzing
 Tinkercard
 Dans notre cas d’étude nous allons voir le simulateur
123 circuit (voir la présentation du TP)
 https://www.tinkercad.com
Composants du montage
32

 Pour réaliser ce montage, nous aurons


besoin de :
 Un Arduino
 Une platine de prototypage
 resistances de 220 Ω
 Un cable USB (si on a la carte sinon pas besoin)
 Une LED de votre couleur préférée
 Quelques fils de prototypage

 ATTENTION AUX PRECAUTIONS DE CABLAGE


(voir TP)
Ç a démarre
33

 Nous pouvons faire le


même câblage sans la
résistance à travers la
pin 13 de l’Arduino
 La pin 13 est une pin où
l’on a déjà la résistance
à l’intérieur de la carte
donc pas de problème si
on ne met pas la
résistance.
Montage
34

 Voir TP1
Références à voir
35

 http://eskimon.fr/73-arduino-101-
presentation#457704
 http://www.mon-club-
elec.fr/pmwiki_reference_arduino/pmwiki.php?n=
Main.MiniReference
 http://arduino.cc/en/Main/arduinoBoardUno
 http://arduino.cc/en/Reference/HomePage
Vidéos utiles
36

 Apprendre l’électronique
 https://www.youtube.com/watch?v=gs4APdOWwPk

 ARDUINO
 https://www.youtube.com/watch?v=JRiPy6XoN4o

 https://www.youtube.com/watch?v=xQBlEoci_Ws

Vous aimerez peut-être aussi