TP Cde Des Procedés
TP Cde Des Procedés
TP Cde Des Procedés
void setup()
{
Commandes d'initialisation (entrées, sorties, ...)
}
void loop()
{
Instructions ;
}
©2020 0
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
Après avoir lancé le logiciel Arduino : écrivez (ou copiez) le programme (sketch)
suivant en respectant très exactement la mise en page :
/* début du programme
Nom : Cligno_LED13
Fonctionnement : Commande sans arrêt le clignotement d'une
LED.
Les temps ON (active ou allumée) et OFF (inactive ou éteinte)
sont identiques : 0.1s. La LED celle connectée sur la broche
13.
*/
void setup()
{
pinMode(13, OUTPUT); // la broche 13 est définie en
sortie.
}
void loop()
{
digitalWrite(13, HIGH); // allume la LED
delay(100); // attend, en ms, le temps indiqué entre
parenthèses
digitalWrite(13, LOW); // éteint la LED
delay(100); // attend, en ms, le temps indiqué entre
parenthèse
}
//fin du programme//
Ce programme fait clignoter la LED du module Arduino toutes les 0.2 seconde (ON-OFF).
L'expression ON-OFF représente la période. Ici la durée ON est égale à la durée OFF (0,1 s).
digitalWrite ( n° de broche, [HIGH ou LOW] ) met un niveau haut (1) ou bas (0) sur la
broche désignée. Il s'agit bien d'une sortie logique appelée aussi TOR (Tout Ou Rien) ou
digital (en anglais).
©2020 1
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
2. Les variables
2.1. Quelques notions sur les variables
En informatique on a l'habitude d'utiliser des variables que l'on affecte aux valeurs que
l'on veut et que l'on peut même modifier tout au long d'un programme. Ces variables sont des
symboles qui associent un nom (l'identifiant) à une valeur. Ces variables sont définies en tête
de programme (on choisit obligatoirement leur type et on peut aussi leur donner une valeur.
Cette valeur peut être ensuite modifiée dans le programme).
On va utiliser la variable de type int : int est l'abréviation d'integer (nombre entier).
Placé devant le nom de la variable, il indique que celle-ci est un nombre entier sur 16 bits.
Exemple :
int durée = 5 ; // l’ordinateur doit réserver une case mémoire « temps » auquel il
associe le valeur 5.
si dans le programme il y a ça :
durée = durée + 2 ; alors la variable « durée » change : durée=7
si plus loin dans le programme il y a ça :
durée = durée*3 ; alors la variable « durée » change : durée =21
TP1 : Déclarer une variable du type entier, nommée durée , avec pour valeur 10 et
utiliser la pour la temporisation du programme précédant.
©2020 2
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
TP3 : Dans le programme précédent, utiliser le #define pour remplacer chaque pin par
LED1 ,LED2 et LED3.
if (ValK==1)
{
digitalWrite(LAMP, HIGH); // on allume la lampe
}
else
{
digitalWrite(LAMP, LOW); // éteint la Lampe
}
}
TP4 : Ecrivez le programme d’une minuterie
©2020 3
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
le terminal série
Dans cette fenêtre, vous allez pouvoir envoyer et recevoir des messages sur la liaison série de
votre ordinateur (qui est émulée par l'Arduino).
Du côté du programme, pour utiliser la liaison série et communiquer avec l'ordinateur, on
utilise un objet qui est intégré nativement dans l'ensemble Arduino : l'objet Serial.
Cet objet rassemble des informations (vitesse, bits de données, etc.) et des fonctions (envoi,
lecture de réception...) sur ce qu'est une voie série pour Arduino.
Pour commencer, il faut initialiser l'objet Serial afin de définir la vitesse de communication
entre l'ordinateur et la carte Arduino grâce à la fonction begin(). Cette vitesse doit être
identique côté ordinateur et côté programme.
Exemple : Serial.begin(9600); //établissement d'une communication série à 9600 bauds
©2020 4
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
char i = 0;
char lettre = 'a'; // ou 'A' pour envoyer en majuscule
Serial.println("------ L'alphabet ------"); //petit message d'accueil
//on commence les envois
for (i=0; i<26; i++)
{
Serial.print(lettre); //on envoie la lettre
lettre = lettre + 1; //on passe à la lettre suivante
delay(250); //on attend 250ms avant de réenvoyer
}
Serial.println(""); //on fait un retour à la ligne
delay(2000); //on attend 2 secondes avant de renvoyer l'alphabet
}
©2020 5
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
©2020 6
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
6. L’afficheur LCD
Il existe un driver "LCD" pour ce type d'afficheur. Ce composant va servir à décoder un
ensemble "simple" de bits pour afficher un caractère à une position précise ou exécuter des
commandes comme déplacer le curseur par exemple.
6.1. Brochage du LCD
©2020 7
M.GNETCHEJO
TP COMMANDE PAR ORDINATEUR DES PROCEDES INDUSTRIELS MASTER 2
TP 11 : Utilisation du LCD
#include <LiquidCrystal.h> // ajout de la librairie
const int RS=8,EN=9,D4=10,D5=11,D6=12,D7=7; // configuration des broches du LCD
LiquidCrystal lcd(RS,EN,D4,D5,D6,D7); //liaison 4 bits de données
void setup()
{
lcd.begin(16,2); // utilisation d'un écran 16 colonnes et 2 lignes
}
void loop() {
lcd.setCursor(2,0);
lcd.print("PROGRAMME TEST"); // petit test pour vérifier que tout marche
©2020 8
M.GNETCHEJO