Vous êtes sur la page 1sur 23

AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :

Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 1


23

1-
Un SAP est un système technique capable d’exécuter un cycle de travail préétabli qui se
décompose en séquence(s) ou étapes. Dans un environnement industriel, ils sont
généralement gérés par des automates, à base de microprocesseurs permettant une
modification aisée des SAP contrairement à la logique câblée. Toutefois ils ont
l’inconvénient d’êtres onéreux et complexes quand il s’agit de gérer des systèmes
simples.

Par rapport à des systèmes électroniques à base de microprocesseurs et autres


composants séparés, les microcontrôleurs permettent de diminuer la taille, la
consommation électrique et le coût des produits. Ils ont ainsi permis de démocratiser
l'utilisation de l'informatique dans un grand nombre de produits et de procédés.
Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme
les contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau,
l'électroménager, les jouets, la téléphonie mobile, etc

Le circuit intégré d'un Intel 8742, PIC (microcontrôleurs de Atmel AVR dans un boîtier DIP
un microcontrôleur 8 bits la marque Microchip). monté sur une carte Arduino

source « https://fr.wikipedia.org/wiki/Microcontrôleur »
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 2
23

2-

2.1)- Historique du projet


Le projet Arduino est issu d'une équipe d'enseignants et d'étudiants de l'école de Design
d'Interaction d'Ivrea (Italie). Ils rencontraient un problème majeur à cette période
(avant 2003- 2004) : les outils nécessaires à la création de projets d'interactivité étaient
complexes et onéreux (entre 80 et 100 euros). Ces coûts souvent trop élevés rendaient
difficiles le développement par les étudiants de nombreux projets et ceci ralentissait la
mise en œuvre concrète de leur apprentissage. Jusqu'alors, les outils de prototypage
étaient principalement dédiés à l'ingénierie, la robotique et aux domaines techniques.
Ils sont puissants mais leurs processus de développement sont longs et ils sont difficiles
à apprendre et à utiliser pour les artistes, les designers d'interactions et, plus
généralement, pour les débutants.
Leur préoccupation se concentra alors sur la réalisation d'un matériel moins cher et
plus facile à utiliser. L'objectif était d'arriver à un dispositif simple à utiliser, dont les
coûts seraient peu élevés, les codes et les plans « libres » (c'est-à-dire dont les sources
sont ouvertes et peuvent être modifiées, améliorées, distribuées par les utilisateurs eux-
mêmes) et, enfin, « multi-plates-formes » (indépendant du système d'exploitation
utilisé).
Conçu par une équipe de professeurs et d’étudiants (David Mellis, Tom Igoe, Gianluca
Martino, David Cuartielles, Massimo Banzi ainsi que Nicholas Zambetti),
l'environnement Arduino est particulièrement adapté à la production artistique ainsi
qu'au développement de conceptions qui peuvent trouver leurs réalisations dans la
production industrielle.
Le nom Arduino trouve son origine dans le nom du bar dans lequel l’équipe avait
l'habitude de se retrouver. Arduino est aussi le nom d'un roi italien, personnage
historique de la ville « Arduin d’Ivrée », ou encore un prénom italien masculin qui
signifie « l'ami fort ».

Une plante qui s’arrose toute seule Une imprimante qui imprime Une robe qui s’illumine
lorsqu’elle en a besoin. des objets en 3D. quand vous êtes dans
un milieu à forte
Source ttp://fr.flossmanuals.net concentration de CO2
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 3
23

2.2)- Logiciel Arduino et cartes Arduino


Arduino est à la fois un type de cartes électroniques programmables et un logiciel qui
permet de programmer ces cartes. Arduino est devenu un standard mondial sur lequel
une communauté très large développe rapidement de nouvelles applications, de
nouveaux matériels, … le tout sous licences open hardware et open software
(matériels et logiciels libres). Arduino s'est imposé notamment dans le domaine de
l'éducation pour l'initiation à la programmation.
Le matériel compatible Arduino est fabriqué en grande série et distribué à des prix de
plus en plus bas par de nombreux fournisseurs, partout dans le monde, ce qui
contribue à son succès depuis une dizaine d'années.
Historiquement, c'est la carte Arduino qui a fait connaître Arduino vers 2010. Elle
est encore très utilisée. De nombreuses autres cartes compatibles avec le logiciel
Arduino ont été développées par la suite. Depuis 2012, c'est la carte Arduino
et ses dérivées, comme l'Arduino . Pour nos applications, nous utiliserons les
cartes Arduino et Aduino .

Le logiciel Arduino, de type EDI


(Environnement de Développement Intégré), a
cependant le gros inconvénient de nécessiter
une programmation en langage C.
Le logiciel Arduino peut être téléchargé
gratuitment suivant ce lien :
https://www.arduino.cc/en/Main/Software
1. un menu ; 2. une barre d'actions ;

3. un ou plusieurs onglets correspondant aux sketchs ;

4. une fenêtre de programmation ;

5. une console qui affiche les informations et erreurs


de compilation et de téléversement du programme.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 4
23

Les cartes Arduino sont des cartes électronique basées sur un composant
programmable appelé . Celui qui équipe l’arduino Nano est
ATmega328 (fabriqué par Atmel) : il intègre un processeur 8 bits capable d'exécuter un
programme à une fréquence de 16 MHz (soit environ 16 millions d'instructions par
seconde, ou 62.5 ns par instruction), avec 2 Ko de mémoire RAM pour les données,
32 Ko de mémoire Flash pour le programme, des fonctions périphériques
(convertisseur analogique numérique, port USB). Les performances sont très loin de
celles d'un smartphone standard : un microcontrôleur ATmega328 est mille fois moins
rapide, il a un million de fois moins de mémoire, ... Mais ces performances sont
suffisantes pour de nombreuses applications, d'autant que le prix est faible (quelques
euros dans notre cas) de même que la consommation.

Cette partie permet d'établir une communication avec un ordinateur, directement avec
un câble USB, afin de programmer le contrôleur ou d'échanger des informations avec
un programme qu'il exécute. Côté ordinateur, la carte Arduino apparaît au même titre
que n'importe quel périphérique USB et nécessite l'installation d'un pilote . Lorsqu'on
utilise cette connexion, l'ordinateur assure directement l'alimentation de la carte
Arduino via la liaison USB.

Ce circuit assure l'alimentation de l'ensemble des composants.


Ce circuit inclut un régulateur de tension à 5V mais il peut être alimenté entre 7 et 12V.
Il ne faut pas brancher sur le 5 V de la carte des composants qui consomment plus de
500 mA.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 5
23

C'est par ces connexions que le micro-contrôleur est relié au monde extérieur. Une
carte Arduino Nano est dotée de :
- 8 entrées lui permettent de mesurer une tension variable (entre 0 et 5
V) qui peut provenir de capteurs ou d'interfaces diverses (potentiomètres, etc.)..
- 22 entrées/sorties dont 6 peuvent assurer une sortie (tension
variable). Les entrées/sorties numériques reçoivent ou envoient des signaux « 0 » ou « 1
» traduits par 0 ou 5V. Lorsqu'on utilise une entrée numérique, il est important de
s'assurer que le potentiel de l'entrée « au repos » est bien celui auquel on s'attend. En
effet, si on laisse l'entrée « libre », c'est-à-dire câblée à rien, le potentiel qu'elle prendra
ne sera pas nécessairement 0V. On parle alors de potentiel flottant car l'électricité
statique ambiante ou les perturbations électromagnétiques peuvent faire apparaitre des
valeurs très fluctuantes. Pour s'assurer du bon fonctionnement, l'on utilise une liaison
protégée par une résistance qui va « tirer vers le haut » (5V) ou « tirer vers le bas » (0V)
le potentiel au repos. On utilise en général une résistance de 10 kOhms.
Courant CC par broches d’E/S = 40 mA
- Le bouton poussoir repéré ou Reset permet de réinitialiser le fonctionnement du
microcontrôleur. Cela est utile lorsqu'on souhaite relancer l'exécution du programme
depuis le début.
- Les ou G correspondent à la masse (Ground = référence 0V).
- Les ou V correspondent à l'alimentation 5V de la carte. L'alimentation
Vcc peut être fournie par le port micro USB, ou directement sur une broche Vcc.
- La , disponible via le connecteur coaxial. C'est l'entrée du régulateur 5V.

Source : Document de
cours LP2I. M. PERS.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 6
23

3-

D'une manière générale, une carte électronique programmable exécute un programme


qui lit des informations sur des entrées et en déduit les informations à générer sur des
sorties. Ces sorties correspondent soient à des informations pour l'utilisateur soit à des
commandes de la chaîne d'énergie. L'objectif étant de faire un programme le plus
simple possible, notre premier programme ne prendra en compte aucune entrée. Il ne
gèrera qu'une seule sortie dont l'état sera directement visible, sans aucun appareil de
mesure et sans aucun câblage particulier. En effet, toutes les cartes électroniques
programmables Arduino possèdent une LED connectée à la sortie 13 de telle sorte
qu'elle est allumée quand la sortie 13 est à l'état haut (+5V ici), et éteinte quand la
sortie 13 est à l'état bas (0 V).
- Structure du programme (algorithme) permettant de faire clignoter une LED
Répéter indéfiniment
Allumer la LED
Attendre le temps où la LED reste allumée
Eteindre la LED
Attendre le temps où la LED reste éteinte

Un programme Arduino comporte 3 parties :


1. la partie déclaration des variables (optionnelle) :
2. la partie et : la fonction
3. la partie principale ( t) : la fonction
Ouvrez l’IDE Arduino et cliquez sur « Nouveau » ou « Fichier » « Nouveau »
Il est recommandé d’enregistrer son code au fil et à mesure. Pour cela cliquez sur
« Fichier », puis « Enregistrer sous » et saisissez le nom de votre choix.
ommençons par définir la broche sur laquelle se trouve la
LED ou
La fonction déclare une variable de type entier. Elle peut stocker des valeurs allant
de -32768 à 32767
Dans la syntaxe Arduino, à la fin de chaque ligne de code, il faut mettre « »
Il faut avoir la bonne habitude de commenter son code, pour s’en souvenir. Il faut
écrire . Si le commentaire est long, on peut le mettre entre
. Vous remarquerez que ces commentaires sont grisés. Pendant le
téléversement, le logiciel ne prend pas en compte ces commentaires. On peut de cette
façon ignorer certaines lignes de code sans avoir besoin de les effacer du programme.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 7
23

L’instruction est utilisé uniquement pour déclarer des fonctions.

Le bloc d’instructions regroupe toutes les instructions qui seront


exécutées au démarrage du programme. est exécutée une seule fois, après
chaque mise sous tension ou reset (réinitialisation) de la carte Arduino.
L’instruction configure la broche spécifiée pour qu’elle se comporte soit

en entrée « », soit en sortie « ».

L’instruction met une broche numérique configurée en sortie au


niveau logique (ou bien ), sa tension est mise à 5V (3,3V) ; soit au niveau

(ou bien ), sa tension est mise à 0V.

Le bloc d’instructions contient les instructions que l’on


souhaite voir exécutées encore et encore tant que l’Arduino est branché.
L’instruction fait une pause dans l’exécution du programme pour la durée
spécifiée en millisecondes.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 8
23

Cliquez sur le bouton « Vérifier » pour compiler le programme.


Connectez votre carte Arduino à l’ordinateur à l’aide du câble USB.
Cliquez sur « outils ». Choisissez le « type de carte » et le « port » de la carte.
Cliquez sur le bouton « Teléverser »
Si tout s’est bien passé, quelques instants après, la LED sur votre carte Arduino doit se
mettre à clignoter. Bravo !
4-
On désire réaliser un feu tricolore avec 3 leds sur une breadboard (platine de
prototypage).
Les 3 LED (une verte connectée à la PIN 3, une orange connectée à la PIN 2 et une
rouge connectée à la PIN 4) doivent s’allumer comme suit :
- Rouge (1,6V ; 20mA) allumée pendant 5 secondes
- Verte (1,8V ; 20mA) allumée pendant 4 secondes
- Orange (1,6 V; 20mA) allumée pendant 1 seconde

4.1) Représentez le schéma / montage sur FRITZING.


Fritzing est un logiciel opensource permettant de représenter des circuits électroniques.
Il est gratuitement téléchargeable à cette adresse http://fritzing.org/download/

4.2) Calculez et choisissez les résistances. On rappelle que la carte ARDUINO Nano
délivre un signal de sortie de 5V.
On calcule alors R = U-UL / IL = (5-1,6)/0,02 = 170 Ω. Valeurs normalisées proches :
150 Ω, 180 Ω pour la gamme E12. Mais si on prend en compte la tolérance, il vaut
mieux choisir une résistance de 220 Ω. La valeur de cette résistance est codée par les
anneaux de couleurs : rouge-rouge-marron-argent.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 9
23

4.3) Ecrivez le programme dans l’IDE Arduino et téléversez sur la carte Arduino.
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 10
23

4.4) Réalisez le câblage et faites le test


AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 11
23

5-
Signal logique (de type tout ou rien) : variation d'une grandeur physique image de
l'information considérée, codée par une variable logique prenant 2 valeurs
uniquement (appelées états logiques) :
0 = niveau bas, 1 = niveau haut.
Les deux états logiques correspondent par défaut à deux niveaux de tension.
Pour une carte Arduino, le 0 logique correspond à un niveau bas de tension, proche
de 0V, tandis que le 1 logique correspond à un niveau haut de tension, proche de 5V
pour les systèmes alimentés sous 5V.
La grandeur physique considérée ici est une tension continue, mais on peut considérer
aussi un courant, une fréquence, un temps, un rapport cyclique, ...
Un signal numérique est un cas plus général où l'information est codée sur plus qu'un
bit, avec différents codes possibles. Les broches numériques d'une carte Arduino
peuvent servir à la fois pour un signal logique et un signal numérique, en entrée ou en
sortie.
Généralement on se contente de laisser le logiciel Arduino définir automatiquement si
une broche doit être configurée en entrée ou en sortie suivant qu'on souhaite lire ou
écrire une information sur cette broche.

Schéma 1 : une variable d’entrée Schéma 2 : deux variables d’entrée


AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 12
23

5.1) Ecrivez le programme dans l’IDE Arduino et téléversez sur la carte Arduino.

A L
0
1

Equation :
……………..

Fonction
……………

5.2) Reprenez le programme précèdent en modifiant comme suit.

A L Equation : ……………..…….....
0
1
Fonction …………………...…..
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 13
23

5.3) Ajoutez un 2ème bouton poussoir au montage précédent.


Ecrivez le programme dans l’IDE Arduino et téléversez sur la carte Arduino.

A B L
0 0
0 1
1 0
1 1

Equation :
……………..…….....

Fonction
…………………...…..

5.4) Reprenez le programme précèdent en modifiant comme suit.


A B L
0 0
0 1
1 0
Equation : ……………..……..... 1 1
Fonction …………………...…..
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 14
23

5.5- Application 1
Donnez la table de vérité de l’équation logique V = [a+(b.c )].d
Complétez le programme et téléversez sur la carte.
Réalisez le câblage. V est une LED. a,b,c et d sont des boutons poussoirs.
A partir de la table de vérité, vérifiez expérimentalement l’équation.

a b c d V
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 15
23

6.1)
On désire automatiser le triage de pièces A et B provenant de deux machines à
mouler la porcelaine. Les pièces sont de section et hauteur identiques et ne diffèrent
que par leur forme extérieure. Elles arrivent par quantité et ordre quelconques. Leur
arrivée et leur évacuation après triage sont obtenues par gravité.

La première version est à visionner suivant ce lien :


L’arrivée d’une pièce est détectée par le capteur . Le poussoir la positionne au
poste de triage. Si c’est une pièce A, elle n’atteint pas le capteur . Le poussoir ,
en fin de course, revient en position initiale. Par contre, si c’est une pièce B, les
capteurs et sont informés. Elle sera dirigée vers le poste 2 par le vérin avant
que le poussoir ne revienne.

Conditions initiales ET arrivée d’une pièce

1 Positionner la pièce au poste de tri

Pièce positionnée au poste de tri

2 Effectuer le tri

Tri effectué
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 16
23

Actionneurs Préactionneurs Evènements Capteurs


Tâche
Désignation Rep Désignation Rep Désignation Rep Désignation Rep
Positionner Tige rentrée 1C-
la pièce au Vérin à double 1C Distributeur 5/2
1D
poste de effet bistable Tige sortie1C+ Capteur à 1S
triage cmde méca
Capteur à
Diriger la Tige rentrée 2C- 2S0
Vérin à double Distributeur 5/2 cmde méca
pièce B au 2C 2D
effet monostable Capteur à
poste 2 Tige sortie 2C+ 2S1
cmde méca
Arrivée Détecteur
3S
d’une pièce proximité
Pièce B au Détecteur
4S
poste de tri proximité

0 0
……………………...………

1 1C+ 1

……………………...… ……………………...………

2 L 2C+ 2

……………………...………

3 2C- 1C- 3
……………………...……

Etape Activation Désactivation 1D+ = ……………………………………………


0
1D- = ………………………………………………
1
2 2D+ = …………………………………………
3
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 17
23
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 18
23
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 19
23

1C 2C

1Q4 1Q2 2Q4 2Q2

4 2 4 2
14.1 12.0 14.1

5 3 5 3
1D 1 2D 1

24V 0V
+5V +5V
2F 1KA1 1KA2 2KA1
BN BN
BK BK
BU BU
24V
PNP PNP
4S 3S 2F NC NO NC NO NC NO
4Z 3Z
0V
1K1 1K2 2K1

+ S - + S - + S -

R1

R2

1S 2S0
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 20
23

https://store.arduino.cc/arduino-nano
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 21
23

https://store.arduino.cc/arduino-mega-2560-rev3
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 22
23
AUTO / TF1 LTB PROGRAMMATION D’UN SAP EN Elève :
Prof : M. Eric ASSI LANGAGE ARDUINO 2017 - 2018 23
23

Branchement d’une LED

Vous aimerez peut-être aussi