0% ont trouvé ce document utile (0 vote)
0 vues38 pages

Arduino Cours

Ce document présente un cours sur l'utilisation d'Arduino et les systèmes embarqués, mettant en avant les caractéristiques des microcontrôleurs et leur rôle dans la conception de prototypes électroniques. Il aborde également la structure d'un programme Arduino, les capteurs et actionneurs, ainsi que l'environnement de développement. Enfin, il souligne l'accessibilité et la flexibilité d'Arduino pour les projets électroniques variés.

Transféré par

ACHRAF KESSAA
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues38 pages

Arduino Cours

Ce document présente un cours sur l'utilisation d'Arduino et les systèmes embarqués, mettant en avant les caractéristiques des microcontrôleurs et leur rôle dans la conception de prototypes électroniques. Il aborde également la structure d'un programme Arduino, les capteurs et actionneurs, ainsi que l'environnement de développement. Enfin, il souligne l'accessibilité et la flexibilité d'Arduino pour les projets électroniques variés.

Transféré par

ACHRAF KESSAA
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Arduino et Informatique Industrielle

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Généralités
 Ce cours à pour but de présenter et d’initier à l’utilisation d’Arduino. Les cartes Arduino sont conçues pour réaliser des
prototypes et des maquettes de cartes électroniques pour les systèmes embarqués.
 Ces cartes permettent un accès simple et peu couteux aux systèmes embarqués. Ainsi, il est possible de refaire sa propre carte
Arduino dans le but de l’améliorer ou d’enlever des fonctionnalités inutiles au projet.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Les systèmes embarqués
 Un système embarqué est défini comme un système électronique et informatique autonome, souvent temps réel,
spécialisé dans une tâche bien précise. Ses ressources sont généralement limitées.
 Le système comprend une partie matériel et une partie logicielle.
 Les systèmes embarqués (SE) ordinaires se basaient sur des microprocesseurs (CPU) en utilisant des puces externes
pour la mémoire et des circuits d'interface périphériques.
 Le processeur(s) utilisé peut être de type usage général ou spécialisé dans certaines classes de calcul, ou même conçu
sur mesure pour l'application visée.
 Une autre classe des SE modernes se basent sur des microcontrôleurs avec mémoires et interfaces périphériques
intégrés. Cette classe présente des avantages intéressants tels que la réduction à la fois de la consommation d'énergie,
la taille et le coût. Les microcontrôleurs offrent plus de flexibilité d’adaptation à l’application en main, et surtout ils
sont faciles d’utilisation.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Les systèmes embarqués
Caractéristiques générales des systèmes embarqués:
 Dédié à une application spécifique
 Coût réduit, maximisation rapport performance/prix
 Volume restreint (compact, pas modulaire)
 Capacité mémoire adaptée
 Capacité de calcul appropriée à l'application
 Exécution temps réel (souvent)
 Fiabilité et sécurité de fonctionnement
 Consommation d’énergie maitrisée voire très faible en cas d’utilisation sur batterie
 …

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Les microcontrôleurs (µC)

 Le microcontrôleur (µC) est un petit ordinateur sur un seul circuit intégré contenant
un processeur, mémoires, et des périphériques d’entrée/sortie programmables.
 Le microcontrôleur est un circuit programmable capable d’exécuter un programme
et qui possède des circuits d’interface intégrés avec le monde extérieur.
 Le microcontrôleur correspond au cerveau du système. C'est lui qui va traiter les
informations provenant à travers les ports d'entrées et va donner la réponse voulue à travers les ports de sorties.
Les microcontrôleurs sont utilisés pour des applications spécifiques.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Microprocesseurs Microprocessor

System Bus

Clock RAM Data Storage


Peripheral Bus

SPI, USB DAC,ADC Ethernet SD/MMC


Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Processor Core
Microcontrolleurs

System Bus

Clock RAM Data Storage


Peripheral Bus

SPI, USB DAC,ADC Ethernet SD/MMC


Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
La carte Arduino et les systèmes embarqués
La carte Arduino intègre un microcontrôleur avec d’autres périphériques et composants. Elle permet de réaliser une tâche
spécifique du système embarqué.

Système embarqué
Entrées/Sorties

Système électronique Circuit de commande La tâche est performée par la


carte Arduino

Il englobe la carte Arduino


et le langage Arduino

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


D’un cahier des charges à la réalisation

Cahier des charges

Etapes de la réalisation :
• Cahier des charges
• Identification des entrées et sorties
Entrées Circuit de commande Sorties
• Préparation du circuit de commande
• Préparation du matériel
Le circuit de commande est en interaction
• Test et validation avec les entrées/sorties
• Prototype est prêt

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


D’un cahier des charges à la réalisation

Cahier des charges

Exemple:

• Cahier des charges: On souhaite clignoter une LED tant que le bouton poussoir est activé.
• Entrée et sortie: Bouton poussoir et la LED.
• Circuit de commande:
Phase 1 : Elaboration du programme;
Phase 2 : Exécution du programme dans la carte ARDUINO.
• Matériel: BreadBoard + une LED + des fils + un bouton poussoir.
Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
ARDUINO

?
Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Historique

Son histoire a commencé en 2005 dans une


université italienne.
Permettre à des non-spécialistes en informatique et
en électronique d’utiliser la programmation pour
faire l’acquisition et le traitement des données à
l’aide des capteurs et de commander des systèmes
de manière simple.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Introduction à ARDUINO
Arduino est une plateforme électronique basée sur du matériel et des logiciels simples à utiliser. Arduino est
constituée d’une carte électronique et d’un environnement de programmation.

Carte électronique
Environnement de programmation

La carte Arduino est l’endroit où le code que vous écrivez est exécuté.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Introduction à ARDUINO

Tous les objets exécutés dans la carte Arduino suivent un modèle très simple
que nous appelons le "Dispositif Interactif". Le dispositif interactif est un
circuit électronique capable de détecter l’environnement à l’aide de capteurs
(composants électroniques qui convertissent les mesures du monde réel en
signaux électriques). Interaction avec l’environnement

La carte Arduino traite l’information qu’elle obtient des capteurs avec le comportement qui est mis en œuvre
comme programme. La carte pourra alors interagir avec le monde entier en utilisant des actionneurs, des
composants électroniques qui peuvent convertir un signal électrique en action physique.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Introduction à ARDUINO
Les capteurs sont des composants matériels, qui une fois correctement connectés à votre carte Arduino, peuvent
fournir des informations sur le monde extérieur. Ceux-ci ont comme rôle de saisir une grandeur physique et de la
convertir en information numérique. L’information obtenue est traitée par la carte Arduino.
Il est ainsi possible de capter la plupart des phénomènes physiques comme la température, la lumière, etc…

Les actionneurs sont des composants matériels qui, une fois correctement connectés à votre carte Arduino,
permettent d'agir sur le monde extérieur. Ceux-ci ont comme rôle de convertir une valeur électrique en action
physique. Comme pour les capteurs, il existe une multitude de phénomènes physiques sur lesquels il est possible
d'agir par le biais d'actionneurs comme les moteurs électriques, LED, éléments chauffants utilisés pour
concevoir une multitude d'objets et d'applications comme des haut-parleurs, valves hydrauliques et
pneumatiques, ventilateurs, pompes, grille-pain, canons à photon (un bon vieux téléviseur !), etc.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Introduction à ARDUINO
Exemple de capteurs Exemple d’actionneurs

LED
Bouton
Capteur de température poussoir
Moteur
Capteur de lumière

Potentiomètre
Entrées Sorties

Capteurs Actionneurs

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Pourquoi ARDUINO ?
• Arduino a été utilisée dans des milliers de projets et d’applications différentes. Le logiciel Arduino est facile à
utiliser et assez flexible pour les utilisateurs de réaliser des projets à moindre coût.
• Les cartes Arduino sont relativement peu coûteuses par rapport aux autres plateformes de développement.
• Le logiciel Arduino (IDE) fonctionne sur les systèmes d’exploitation Windows, Mac OS et Linux. La plupart
des systèmes de microcontrôleur sont limités à Windows.
• Environnement de programmation simple et clair. Le logiciel Arduino (IDE) est facile à utiliser pour les
débutants, mais suffisamment flexible pour que les utilisateurs avancés puissent également en profiter.
• Nombreuses bibliothèques disponibles avec diverses fonctions implémentées.

Prix d’Arduino Uno: 15 €


Logiciel: 0 €
Assistance: Forum Arduino
Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Versions d’ARDUINO
Il existe différentes versions de cartes Arduino, dont on peut trouver:

Des cartes aussi petites qu’un timbre-poste, comme les cartes Arduino Mini et Pro Mini;

Des cartes plus grandes qui ont plus d’options de connexion et des processeurs
plus puissants, comme l’Arduino Mega;

Des cartes adaptées à des applications spécifiques, comme le LilyPad pour les applications
portables.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Anatomie d’ARDUINO
La carte Arduino repose sur un microcontrôleur associé à des entrées et sorties qui permettent à l'utilisateur de
brancher différents types d'éléments externes :
• côté entrées, des capteurs qui collectent des informations sur leur environnement
• côté sorties, des actionneurs qui agissent sur le monde physique,
Le microcontrôleur est programmé pour analyser et produire des signaux électriques, de manière à effectuer des
tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le
pilotage d'un robot, etc.

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Anatomie d’ARDUINO
(1) Microcontrolleur Atmega: Il représente le coeur de la carte Arduino.

(2) Bouton de remise à zero: Il permet de remettre à zero le


microcontrolleur.

(3) Les pins d’entrées/sorties numériques (0-13): Ces pins peuvent être
utilisée pour recevoir ou envoyer des signaux numériques “0” ou “1”.

(3) Les pins de sorties analogiques (3, 5, 6, 9, 10 et 11): Ce sont des pins
numériques qui peuvent etre programmées pour délivrer des signaux
analogiques.

(4) LED: Elle est soudée sur la carte Arduino et est reliée avec la Pin 13.

(5) Port USB: Il sert à alimenter la carte Arduino, transférer le programme


et établir la communication entre Arduino et le moniteur série.
Anatomie d’ARDUINO
(6) LED de transmission et reception: Elles indiquent la communication
entre la carte Arduino et l’ordinateur. (7) (6) (5)

(7) Connecteur d’alimentation: Il permet de connecter une alimentation


à la carte Arduino quand le port USB n’est pas utilisé. Ce connecteur (4)
accepte une tension entre 5V-12V.

(8) Broche 5V et GND: Elles fournissent 5V et la masse au circuit (8)


réalisé. (3)
(9)
(9) Les pins d’entrées analogiques: Elles sont utilisées pour mesurer
Une tension variable (entre 0 et 5V) qui peut provenir des capteurs ou
d’interfaces diverses (potentiometer, etc..) (1) (2)

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Anatomie d’ARDUINO

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Programmer avec ARDUINO
 L’environnement de développementd'un programme
Arduino IDE est le logiciel utilisé qui s’exécute dans l’ordinateur. Barre de boutons
Le programme est rédigé dans le logiciel et transféré à la carte Arduino.. La structure d'un programme

Ouvrir un sketch Sauvegarder

Créer un Accès au moniteur série Fenêtre édition des


Vérifier les erreurs
nouveau sketch programmes
dans le code

Compiler le code et
transférer le programme
à la carte Arduino Console d’affichage des
Année universitaire: 2023/2024
messages de compilation
Programmer avec ARDUINO
 Le langage Arduinostructure d'un programme
Le langage Arduino se base sur le C/C++.
Le programme Arduino est un ensemble d'instructions qui seront directement converties en langage machine grâce à
un compilateur. L'exécution d'un programme Arduino s'effectue de manière séquentielle, c'est-à-dire que les
instructions sont exécutées les unes à la suite des autres. XI-B. La structure d'un programme
 La structure du programme Arduino. La structure
Led'un programme
programme est composé généralement de trois parties:
(1): Déclaration des variables (1)
(2): void setup(): Cette partie est dédiée à l’initialisation et aux
instructions de configuration de la carte Arduino, comme les
entrées/sorties, le moniteur série, etc… . (2)
(3): void loop(): Elle contient le programme principal.
Il est sous forme d’instructions qui s’exécutent en boucle tant que
la carte Arduino est ON.
(3)
Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Programmer avec ARDUINO
Le langage Arduino est constitué d’un certain nombre de fonctions pour mesurer le temps, manipuler les
entrées/sorties, etc…
Les. fonctions
XI-B La structure d'un programme
d’entrée/sortieamme
pinMode(pin,mode)
Elle sert à configurer une pin numérique pour se comporter soit comme entrée ou sortie.
Exemple: pinMode(7,INPUT); // configure la pin 7 comme entrée.

digitalWrite(pin, valeur)
Avec cette function, la pin numérique choisie prend l’état ON (valeur 1 ) ou l’état OFF (valeur 0).
Le numéro de la pin choisie doit être déclarée préalablement comme sortie en utilisant la function pinMode.
Exemple: digitalWrite(8,HIGH); // la pin 8 est ON

digitalRead(pin)
Elle lit l’état d’une pin, elle retourne 1 ou 0 .
Exemple: val = digitalRead(7); // lire l’état du pin 7
Année universitaire: 2023/2024 Pr: Mouhcine LAHAME
Programmer avec ARDUINO
 Les fonctions d’entrée/sortieamme
analogRead(pin)
Elle lit la tension appliquée à une entrée analogique.
Elle retourne une valeur entre 0 et 1023 qui corresponds à une valeur entre 0 et 5V.
Exemple: val = analogRead(0); // lire la pin 0: entrée analogique

analogWrite(pin, valeur)
Cette fonction permet d’envoyer une valeur analogique. La pin peut être 3, 5, 6, 9, 10, 11.
Pour changer le rapport cyclique du PWM. La valeur peut etre entre 0 et 255 ce qui représente une valeur dans
l’intervalle 0 et 5V.
Exemple: analogWrite(9,128);

Année universitaire: 2023/2024 Pr: Mouhcine LAHAME


Programmer avec ARDUINO
 Les fonctions du tempse
Arduino comprend des fonctions relatives au temps.
delay(valeur)
Mettre une pause au programme (en ms).
Exemple: delay(500); // une durée de 500ms est programmée pour mettre en pause le programme

delayMicroseconds(valeur)
Mettre une pause au programme (en µs).
Exemple: delayMicroseconds(1000); // attendre 1000µs (1s)

 Les fonctions de communication


La communication avec la carte Arduino et l’ordinateur est établie à travers le port USB. Pour cela, Arduino
comprend des fonctions de communication

Pr: Mouhcine LAHAME


Programmer avec ARDUINO
 Les fonctions de communication
[Link](débit)
Cette function sert à fixer le débit de communication. Pour communiquer avec l’ordinateur, le débit 9600 bauds
est généralement utilisé .
Exemple: [Link](9600);

[Link]()
Elle donne le nombre de caractères disponible pour lecture dans la file d'attente (buffer) du port série.
Elle renvoie 0 si aucun caractère n’est disponible. Sa valeur sera supérieur à 0 quand une donnée arrive.
Exemple: int val=[Link]();

[Link]()
Elle lit les données entrantes sur le port Série.
Exemple: int data = [Link]();

Pr: Mouhcine LAHAME


Programmer avec ARDUINO
Exemple:
Ecrire un programme permettant d’allumer une LED.

Le programme étape par étape:


int Led = 13; // Led est connectée au pin 13 de la carte Arduino.
Led prendera toujours le numéro 13 quand elle apparait dans les
instructions du programme.

pinMode(Led,OUTPUT); // pin 13 est une sortie numérique


Nous avons besoin d’une pin sortie pour contrôler la LED, alors
la pin 13 est choisie et configurée comme sortie.

digitalWrite(Led,HIGH); // allumer la LED


Nous désirons d’allumer la LED, alors l’état de la pin 13 est configurée en mode ON (HIGH).
Pr: Mouhcine LAHAME
Rendre l’Arduino autonome
Lorsque la carte Arduino est connectée au port USB de l’ordinateur, celui-ci lui fournit l’énergie
nécessaire à son fonctionnement.
Une fois le programme chargé, on peut débrancher le fil USB et connecter la carte soit à une pile
soit à un transformateur.

Une pile 9V et un connecteur de 2.1 mm Un transformateur qui convertie la tension


avec le + au centre. du secteur en une tension 9V DC et un
connecteur de 2.1 mm avec le + au centre.
Pr: Mouhcine LAHAME
Rendre l’Arduino autonome

Pr: Mouhcine LAHAME


: Félicitation :
Vous venez de réaliser votre premier
projet en Arduino
Logiciel de Simulation du système
Le simulateur ISIS de Proteus est un logiciel puissant, développé par la compagnie électronique Labcenter, qui s'est
positionné pour plus de 10 ans comme l'un des outils les plus utiles pour simuler les microcontrôleurs ARDUINO .

ISIS peut simuler une variété de dispositifs numériques et analogiques, comme les afficheurs sept segments, les LCD des
caractères et graphiques, les capteurs de température, d'humidité, la pression, etc. Il peut aussi simuler les actionneurs tels
que des moteurs à courant continu, les servomoteurs, les lampes à incandescence, etc.

Pr: Mouhcine LAHAME


Les tests dans le programme
Test Dans le programme
Si … if(condition)
{instructions}
Si … Sinon if(condition)
{instructions}
else
{instructions}
Si … Sinon Si … if(condition)
{instructions}
elseif(condition)
{instructions}
Faire … Tant que… do
{instructions}
while(condition) ;
Tan que … while(condition)
{instructions}
Compteur for(variable ; condition ; comptage)
{instructions}
Exemples : exécute les instructions 5 fois.
for(variable=0 ; variable == 4 ; variable+=1)
{instruction}
for(int i=0 ; i==4)
{i++
instructions}

Année universitaire: 2021/2022 Pr: Mouhcine LAHAME


Les conditions
Condition Dans le programme

Egale à ==

Supérieur >

Inférieur <

Supérieur ou égal >=

Inférieur ou égal <=

Non égal !=

Pr: Mouhcine LAHAME


Opérateurs logiques
Dans le
Opérateur logique Exemple
programme

ET logique
Vraie si les deux
&& if(condition 1 && conditions 2)
conditions sont
remplies

OU logique
Vrai si l’une ou l’autre des !! if(condition 1 !! conditions 2)
conditions est remplie

NON logique
Vrai si la condition est ! if( ! condition)
fausse

Pr: Mouhcine LAHAME

Vous aimerez peut-être aussi