Vous êtes sur la page 1sur 5

TP Micro Informatique et Technologie 2019-2020

TP développement d’applications
Sous Arduino & Raspberry

Dans ce TP, on va se familiariser avec la culture Arduino et différentes interfaces


d’application, on essaiera de travailler avec le max possible de composants électroniques.
Le plan du TP est comme suit:
-Partie 1: préparer l’environnement PC pour l’utilisation des cartes Arduino
-Partie 2: initiation à Arduino à travers de simples applications
-Partie 3: interfaçage des capteurs
-Partie 4: contrôle des composants électroniques

Présentation d’Arduino
Arduino est une carte open source qui est facile à manipuler, utilisée partout dans le monde et
a pour but la facilitation du prototypage électrique et la programmation des microcontrôleurs.
La carte la plus populaire est la carte Arduino Uno, il existe tout de même une grande variété
d’autres cartes qui ont chacun un avantage en particulier comme la carte DUE, Mega, Mega
ADK, MKR1000, Due, Yun, Esplora, mini pro, micro, nano, lilypad, gemma, fio et la liste est
encore longue.

Carte Arduino UNO

SLIM CHTOUROU 1
TP Micro Informatique et Technologie 2019-2020

Fonctionnalités d’Arduino
Ces différentes cartes Arduino partagent quelques fonctionnalités en commun :
• Les pins numériques (digital) qui peuvent être utilisés pour commander un composant
électrique (avec la commande digitalWrite), ou bien lire son état (avec la commande
digitalRead), le nombre des pins numériques varie selon le type de la carte, pour la
plupart, on trouve 14 pins digitaux (notamment uno, nano…)
• Les pins analogiques : contrairement aux pins numériques qui sont binaires (délivrent
2 valeurs seulement : 0 & 1 ou bien 0v & 5v), les pins analogiques peuvent
différencier les différentes valeurs d’un voltage [0..5v], la résolution des pins
analogiques est de 10 bits, ce qui veut dire qu’il y 1024 valeurs possibles et chaque
valeur représente une valeur particulière équivalente de voltage.
• PWM : certains pins numériques ont une seconde fonction : Pulse Wave Modulation,
elle consiste à varier la durée du signal haut de façon à varier la tension moyenne. En
d’autres mots, une tension analogique peut être émulée avec des pins numériques. On
peut distinguer ces pins dans les cartes avec le symbole ~ juste à côté du pin concerné.
• Pins 5v & 0v : ces pins sont utilisés pour alimenter un composant électrique en
tension, 0v est souvent désigné comme étant la masse, ces 2 pins sont utilisés
principalement dans les capteurs qui ont besoin d’être alimentés ou bien des
composants électriques divers
• Communication série : normalement il faut un port série RS232 pour pouvoir faire ça,
mais Arduino fournit ce support par émulation via le port USB, ceci entre la carte et le
PC. Cependant, si on désire une communication série entre la carte et un autre
composant, on utilise les pins RX (pour lire les données) et TX pour envoyer des
données. RX se trouve dans le pin digital 0 et TX est dans le pin digital 1. C’est pour
cela qu’il est recommandé de ne connecter quoi que ce soit à ces deux pins lorsque la
communication série est active, ça peut altérer le contenu du message reçu ou envoyé.
Programmation d’Arduino :
Le syntaxe de base d’un programme Arduino est le suivant :
void setup()
{
//Mainly pin configuration, launched at program startup
}
void loop()
{
//The main program, to run endlessly
}

setup est la fonction où on établit les premières configurations de base (configuration du type
de sortie d’un pin, initialiser l’état d’un pin, lancer la communication série…), c’est pour cela
que cette fonction s’exécute une seule fois
La fonction loop par contre est une boucle infinie, en effet, cela est nécessaire pour maintenir
l’état des pins, détecter un changement dans un de ces pins (un capteur vient de donner une
lecture différente…), le code principal doit être mis dans cette fonction

SLIM CHTOUROU 2
TP Micro Informatique et Technologie 2019-2020

Avant d’écrire à l’intérieur de ces deux fonctions, il est possible d’écrire du code au tout
début, principalement ou faire appel à une librairie (#include <library.h>), ou bien déclarer et
initialiser le contenu des variables. On distingue plusieurs types de variables : Integer, Float,
Double, Byte, Char, String….
Les commandes de base dans Arduino sont :
• pinMode(pin_number,mode) : définit le type du pin en question (INPUT, OUTPUT,
INPUT_PULLUP). Cette opération a besoin de se lancer une fois seulement, donc on
met cette commande dans la fonction setup
• digitalWrite(pin_number,state) : pour changer l’état d’un pin numérique en HIGH (5v
ou 3.3v)) ou LOW (0v)
• digitalRead(pin_number) : pour lire l’état d’un pin numérique, la valeur retournée est
un entier: HIGH (1) ou LOW (0).
• analogRead(analog_pin_number) : lire la valeur de la tension aux bornes d’un pin
analogique, cette valeur est un entier compris entre 0 et 1023
• analogWrite(~_pin_number,value) : avec la fonctionnalité PWM, un pin numérique
spécial (~) peut émuler un signal analogique, vu que la résolution d’un pin numérique
est de 8 bits, les valeurs possibles sont entre 0 et 255
• delay(x) : retarder l’exécution de la prochaine instruction de x millisecondes
• delayMicroseconds(y) : similaire à delay, mais cette fois c’est en y microsecondes
• Serial.begin(9600) : activer la communication série. Cette opération se lance une
seule fois, donc il suffit de placer cette commande dans la fonction setup.
• Serial.print(“message“) : afficher un message ou une valeur sur le moniteur série
• Serial.println(“message“) : afficher une valeur sur le moniteur série et retourner à la
ligne
• Serial.readString() : lire le texte envoyé à la carte à travers le moniteur série

Partie 1 : préparation de l’environnement SW


ISIS
Dans cette partie, on va se familiariser un peu avec le logiciel ISIS.
Le logiciel installé ne fournit aucun raccourci, ni dans le bureau, ni dans le menu
programmes, il va falloir créer le raccourci manuellement. Le fichier exécutable ISIS.exe se
trouve dans le chemin d’accès suivant : “C:\Program Files (x86)\Labcenter Electronics\Proteus x
Professional\BIN”

ISIS est un outil de simulation qui permet de dessiner des schémas électriques et les simuler
en temps réel. On va avoir besoin de travailler avec 2 modes principaux :

• Component Mode : ce mode vous permet d’ajouter les composants électriques en


cliquant sur l’icône P (Pick from libraries). Les composants ajoutés pour un projet sont
tous listé dans ce mode, pour dessiner un composant, il suffit de le sélectionner puis

SLIM CHTOUROU 3
TP Micro Informatique et Technologie 2019-2020

cliquer dans la zone de dessin, après avoir choisi votre emplacement, cliquer une autre
fois pour placer le composant. Pour connecter un fil du composant avec un autre, il
suffit de cliquer sur l’extrémité du fil en aller jusqu’à l’extrémité de l’autre composant
et cliquer une autre fois

• Terminal Mode : ce mode vous permet d’ajouter les connectiques terminales d’un
circuit électrique (alimentation, masse). Dans ce TP, on va avoir besoin du composant
de masse principalement, le composant d’alimentation peut être utilisé pour alimenter
un autre composant électrique (relais, moteur…)
En cherchant le mot clé arduino dans le component mode, vous ne trouverez rien, c’est parce
que les cartes Arduino ne sont pas disponibles dans ce logiciel. Cependant, il est possible de
les ajouter en copiant les fichiers librairie d’Arduino dans le dossier “library” d’ISIS. Le
chemin d’accès habituel est :
“C:\Program Files (x86)\Labcenter Electronics\Proteus x Professional\LIBRARY”
Pour pouvoir tester le circuit Arduino créé dans ISIS, vous devez spécifier le fichier .hex qui contient
le programme à exécuter.
Par défaut, Arduino IDE n’indique pas où se trouve se fichier (une fois la compilation faite), pour le
savoir, allez dans les préférences d’Arduino et dans la section ”afficher les résultats détaillés pendant:
” , cocher compilation. La prochaine fois que vous compilerez le programme Arduino, plusieurs
informations sont affichées, parmi elle, se trouve un chemin d’accès d’un fichier .hex. c’est le fichier
recherché, il ne reste qu’à copier le lien et le coller dans ISIS.

Note:
-le chemin d’accès du logiciel peut varier selon la version utilisée
-si la version Windows est 32bit, alors le chemin d’accès des programmes devient “C:\Program
Files“ au lieu de “C:\Program Files (x86) “

-le raccourci du logiciel n’est pas créé au bureau, vous devez le cherche manuellement dans le
dossier ‘’BIN’’ de l’installation d’ISIS.
Arduino IDE
En insérant la carte au PC pour la première fois, le PC va essayer d’installer les drivers, pour
Linux et MacOS ça passe sans problème, pour Windows, il est possible qu’il ne réussisse pas
à installer les drivers tout seul, il faut les installer manuellement.
Dans le bureau, Faire un clic droit dans l’icône ordinateur et cliquer sur ‘’gérer’’ (EN:
manage), ensuite cliquer sur ‘’gestionnaire de périphériques’’ (EN: device manager), chercher
s’il existe un périphérique inconnu (EN : unknown device), faire un clic droit et choisir
‘’mettre à jour le pilote’’. Choisir de chercher manuellement le driver et chercher dans le
dossier drivers qui se trouve dans le dossier d’Arduino IDE. Une fois le driver installé, l’ajout
des drivers d’autres cartes (tel que mega, Yun…) se fera automatiquement désormais.
Certains des composants électriques nécessitent des librairies externes, la version Arduino
distribuée dans ce TP vient pré chargée de tous les librairies nécessaires. Cependant si un jour
vous travaillerez avec un nouveau composant qui nécessité une librairie qui n’existe pas dans
cette version, vous devez la placer dans le dossier ‘’library’’ qui se trouve dans le dossier
d’Arduino IDE.

SLIM CHTOUROU 4
TP Micro Informatique et Technologie 2019-2020

Partie 2 : premiers pas avec Arduino


Durée : 3 heures
On commence avec de simples exemples pour les débutants qui découvrent Arduino pour la
première fois ou ont une petite expérience avec.
Exercice 1:
Créer un programme qui allume une diode LED que vous connecterez au pin digital #i+2 (i le
numéro de votre équipe)
Pour éviter d’endommager la diode LED à long terme, mettre une résistance de 270Ω ou
330Ω
Exercice 2:
Modifier le programme précédent de façon à ce que la diode LED clignote (ON & OFF) à
chaque seconde
Exercice 3:
Créer un programme qui lit l’état d’un pin digital (configuré en tant que input) et en fonction
du résultat, une diode LED connectée à un autre pin digital sera allumée ou éteinte. Une
source d’alimentation est connectée à pin digital d’entrée et un bouton est placé entre eux.
Etant donné que le pin d’entrée peut être le
sujet d’interférences électriques qui peuvent
influencer la tension mesurée, une résistance
de 10kΩ sera insérée en parallèle entre le pin
d’entré et la masse comme indiqué dans la
figure à côté.
Exercice 4:
Créer une application de gestion des feux de route qui fonctionne selon le principe suivant :
• 1-le feu rouge allumé pendant 10 secondes
• 2- le feu vert allumé pendant 5 secondes
• 3- le feu orangé allumé pendant 2 secondes
Ce cycle se répète indéfiniment.
Exercice 5:
Créer un programme qui affiche un message écrit à travers le port série
Exercice 6:
Créer un programme qui lit un message envoyé à Arduino par le port série. En fonction de ce
message, l’état de 3 LEDs sera contrôlé: “on” & “off”

SLIM CHTOUROU 5