Vous êtes sur la page 1sur 48

Découverte des cartes

Arduino

Présenté par

CHOUKIR DOUAE
CPGE – Safi 2023/2024
Plan
1 Généralités

2 Présentation du carte Arduino

3 Présentation du logiciel

4 Fonctionnalité de base

5 Exemple d’application

2
17/01/2024 16:21:24
1 Généralités 2 3 4 5

Carte Arduino : ça sert à quoi ?


 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 à l’informatique embarquée.


De plus, elles sont entièrement libres de droit, autant sur l’aspect du code source (Open
Source) que sur l’aspect matériel (Open Hardware).

 Le langage Arduino se distingue des langages utilisés dans l’industrie de l’informatique


embarquée par sa simplicité. En effet, beaucoup de librairies et de fonctionnalités de
base sont disponibles ce qui permet de faciliter la réalisation des prototypes ou des petites
applications.
3
17/01/2024 16:21:24
1 Généralités 2 3 4 5

Exemples d’application
 Mesure et détection
Station météorologique automatisée,
suivi du soleil pour orientation des panneaux solaires,
système de sécurité domestique ou professionnel.
 Contrôle
Petits robots,
drones multi-rotor,
 Automatisation
Serre automatisée,
 Art
Contrôle d'éclairage et sonore dynamique,
4
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino : qu'est-ce que c'est ?


 La carte Arduino est une plate-forme de prototypage basée sur un microcontrôleur ATMEL.

 Un microcontrôleur est une petite unité de calcul accompagné de mémoire, de ports


d’entrée/sortie et de périphériques permettant d’interagir avec son environnement.

5
17/01/2024 16:21:24 Architecture interne de base d’un microcontrôleur
1 2 Présentation du carte Arduino 3 4 5

Différentes cartes Arduino


 Il existe de nombreux modèles d'Arduino officiels, avec des fonctions particulières :

6
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino Uno


 Un des modèles les plus répandu de carte Arduino est l’Arduino UNO.

 Elle possède toutes les fonctionnalités d’un microcontrôleur classique en plus de sa


simplicité d’utilisation.

 Elle est basée sur un microcontrôleur ATMEL de référence ATMega328 cadencé à 16 MHz.

 Les principales caractéristiques sont :


FLASH = mémoire programme de 32Ko
SRAM = données (volatiles) 2Ko
EEPROM = données (non volatiles) 1Ko

7
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino Uno

8
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino Uno


 Le microcontrôleur fonctionnant sous 5V, la carte peut être alimentée
en 5V par le port USB [4] ou bien par une alimentation externe [5] qui
est comprise entre 7V et 12V.

 Arduino Uno offre 14 pins d’entrée/sortie numérique


dont 6 pouvant générer des PWM [2] (Pulse Width Modulation).

 Elle permet de mesurer des grandeurs analogiques grâce à


ces 6 entrées analogiques [3].

 Chaque broche est capable de délivré un courant de 40mA


pour une tension de 5V.
9
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino Uno


 Entrées/sorties numériques : de D0 à D13
- Chacun des connecteurs peut être configuré par programmation en entrée ou en sortie.
- Les signaux véhiculés par ces connecteurs sont des signaux logiques, c'est-à-dire qu'ils
ne peuvent prendre que deux états : HAUT (5 Volts) ou BAS (0 Volt), par rapport au
connecteur de masse GND, qui lui est toujours, par définition, à 0 Volt.
- Les broches pouvant générer des PWM ou MLI (Modulation de Largeur d'Impulsion)
sont identifiées par un "~". Il s'agit des broches 3, 5, 6, 9, 10 et11 .
 Entrées analogiques A0 à A5
La carte Arduino Uno possède 6 entrées analogiques, reliées à un convertisseur
analogique/numérique qui renvoie un code numérique sur 10 bits, soit une valeur
comprise entre 0 et 1023. 10
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino Mega 2560


 Arduino Mega 2560 est basée sur un ATMega2560 cadencé à 16 MHz.
 Les principales caractéristiques sont :
FLASH = mémoire programme de 256Ko
SRAM = données (volatiles) 8Ko
EEPROM = données (non volatiles) 4Ko

 Elle dispose de 54 E/S numériques dont 14


PWM, 16 entrées analogiques et 4 UARTS.

 Elle est idéale pour des applications exigeant


des caractéristiques plus complètes que la Uno.
11
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Carte Arduino Nano


 Arduino Nano est essentiellement un Arduino UNO réduit, ce qui le rend très
pratique pour les espaces restreints et les projets pouvant nécessiter une réduction
de poids, basée sur un ATMega328 couplé à un quartz de 16 MHz.

 La carte Arduino Nano est constituée de 14 broches d’entrées/sorties numériques, dont


6 sont utilisables en PWM, de 8 broches d’entrées analogiques, d’une connectique mini-
USB à la place d’un port USB classique.

12
17/01/2024 16:21:24
1 2 Présentation du carte Arduino 3 4 5

Modules électroniques et shields


 Des modules électroniques sont des mini-cartes qui sont utilisables avec arduino, faciles
de réaliser et d'expérimenter un montage spécifique avec des cartes précâblées commes des
capteurs de température, des module de détection à ultra-sons ou même des afficheurs
LCD.

Module détection ultra-son Module Afficheur LCD Module capteur de température

13
17/01/2024 16:21:25
1 2 Présentation du carte Arduino 3 4 5

Modules électroniques et shields


 Un shield est une carte que l’on connecte directement sur la carte Arduino dans le but d’ajouter
des composants supplémentaires sur la carte permettant ainsi d’assurer une fonction donnée.

 Ces shield viennent généralement avec une librairie permettant de les contrôler : des shields
Ethernet, de contrôle de moteur, lecteur de carte SD, etc.
Carte Arduino + Shields Shield Wifi
Relais

Shield de commande de moteurs

 Le principal avantage de ces shields est leurs simplicités d’utilisation : il suffit de les emboiter
sur la carte Arduino pour les connecter. 14
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Logiciel IDE Arduino


 Il est gratuit et téléchargeable sur le site
officiel Arduino :
https://www.arduino.cc/en/Main/Software

 L’interface de l’IDE Arduino est plutôt simple


et pratique, il offre une interface minimale et
épurée pour développer un programme sur les
cartes Arduino.
[1] Editeur de code.
[2] Barre d’outils rapide.
[3] Barre de menus.
[4] Console d’affichage.
15
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Logiciel IDE Arduino

• Bouton 1 : vérifier le programme,


• Bouton 2 : Envoi du programme sur l’Arduino,
• Bouton 3 : Créer un nouveau fichier,
• Bouton 4 : Ouvrir un fichier existant,
• Bouton 5 : Enregistrer un fichier.

16
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Langage Arduino
 Le langage Arduino est inspiré de plusieurs langages. On retrouve notamment des
similarités avec le C, le C++ et le Java. Le langage impose une structure particulière
typique de l’informatique embarquée.
 Le programme principal consiste en deux fonctions :
- La fonction setup : contiendra toutes les opérations nécessaires à
la configuration de la carte (directions des entrées sorties, débits de
communications série, etc.).
- La fonction loop : est exécutée en boucle après l’exécution de la
fonction setup. Elle continuera de boucler tant que la carte n’est
pas mise hors tension.
17
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Déclaration des variables


Nom Contenu Taille en octet Plage de valeurs

(unsigned) int Entier 2 (16 bits) ([0; 65535]) [-32768 ; 32767] signé

(unsigned) long Entier 4 (32 bits) ([0; 4294967296]) [-2147483648 ; 2147483647] signé

float/double Nombre réel 4 (32 bits) [-3,4028235E+38 ; 3,4028235E+38]

String Chaine de caractères variable Aucune

(unsigned) char Entier ou caractère 1 (8 bits) ([0; 255]) [−128; 127] signé

boolean Booléen 1 (1 bit) True / False


18
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Langage Arduino
 Le programme se déroule
de la façon suivante :

1. Prise en compte des instructions


de la partie déclarative,

2. Exécution de la partie configuration


( fonction setup( ) ),

3. Exécution de la boucle sans fin


( fonction loop ( ) ): le code compris
dans la boucle sans fin est exécuté
indéfiniment .

19
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Déclaration des variables


 La déclaration des variables suit cette syntaxe :
<type> <nom> ([<longueur du tableau>]) (= valeur) ;

 Pour déclarer une constante, il suffit d’ajouter « const » devant le type : const int val = 20 ;
 On peut aussi les déclarer de cette façon sans « ; » à la fin de l’instruction : #define val 20

float num = 12.2345 ;


char lettre = ‘d’ ;
String texte = “Bonjour” ;
long tableau [5] ;
boolean led = true ;
20
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Opérateurs mathématiques et logiques


 Les opérateurs les plus courants pour les types de bases :

= (affectation) == (comparaison) != (différence)


<, >, <=, >=, && (et logique), || (ou logique), ! (non logique).

 Les opérateurs mathématiques : (+, -, *, /, %)

 Les opérateurs logiques bit à bit:

^ (XOR), & (et), | (ou), ~(non)


<< (décalage logique à gauche), >> (décalage logique à droite)).

21
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Boucles
 Une boucle for sert à exécuter une série d’instructions un nombre définit de fois.

 Ce nombre est contrôlé par un compteur que l’on incrémente ou décrémente :

for (initialisation; condition; incrémentation) {


instructions; }

 Une boucle while sert à exécuter une série d’instructions tant qu’une condition est vérifiée.

while (condition) {
instructions; }

22
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Conditions
 Les instructions contenues dans le « if » sont exécutées lorsqu’une (ou plusieurs) condition est
vrai, si ce n’est pas le cas, ce sont les instructions contenues dans le « else » qui sont exécutées :

if (condition) { if (condition) {
instructions; } instructions; }
else { else if (condition) {
instructions; } instructions; }
else if (condition) {
instructions; }
else {
instructions; } 23
17/01/2024 16:21:25
1 2 3 Présentation du logiciel 4 5

Conditions
 l’instruction conditionnelle à choix multiples « switch case » permet de tester des valeurs
particulières pour la variable qui est testée.
switch (variable) {
case valeur1 :
 « break » permet de sortie du « switch »
instructions;
break;
 « default » permet de prendre en compte les cas case valeur2 :
qui ne sont pas explicités dans les différents « case ». instructions;
break;
default :
instructions; }
break; } 24
17/01/2024 16:21:25
1 2 3 4 Fonctionnalité de base 5

Entrées / sorties
 Le langage Arduino vient avec un nombre important de fonction de base permettant
d’interagir avec son environnement.
 Avant d’effectuer une mesure ou d’envoyer une commande. Il est nécessaire de définir la
direction des broches utilisées. Pour cela on fait appel à la fonction pinMode (X,Y).

void setup() {
pinMode(1,OUTPUT) ; // Broche 1 en sortie
pinMode(2,INPUT) ; // Broche 2 en entrée
}

25
17/01/2024 16:21:25
1 2 3 4 Fonctionnalité de base 5

Entrées / sorties
 digitalRead (pin) : mesure une donnée numérique sur une des broches, la broche en
question doit être réglée en entrée.
 digitalWrite (pin, value) : écrit une donnée numérique sur une des broches, la broche
concernée doit être réglée en sortie. Le paramètre value doit être égal à HIGH (état 1 soit
5V) ou LOW (état 0 soit 0V). void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
} 26
17/01/2024 16:21:25
1 2 3 4 Fonctionnalité de base 5

Entrées / sorties
 analogRead (pin) : mesure une donnée analogique sur une des broches (compatible
seulement), la broche doit être réglée sur entrée.
 analogWrite (pin, value) : écrit une donnée sous forme de PWM sur une des broches
(compatible uniquement), la broche doit être réglée en sortie. Le paramètre value doit
être compris dans l’intervalle [0;255].
void setup() {
pinMode(6, OUTPUT);
}
void loop() {
analogWrite(6, 85);
27
17/01/2024 16:21:25 }
1 2 3 4 Fonctionnalité de base 5

Timers
 La fonction Delay() suspend le programme durant un laps de temps (en millisecondes)
spécifié comme paramètre. (Il y a 1000 millisecondes dans une seconde) .

void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
} 28
17/01/2024 16:21:25
1 2 3 4 Fonctionnalité de base 5

Envoi du programme à l’arduino

29
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Programmation

 Le but est d’écrire un programme qui fait clignoter une led rouge , connectée
sur la broche 9 , à une fréquence de 0,5 Hz.
void setup() {
pinMode(9, OUTPUT);
void loop() {
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
} 30
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

 Le but est de réaliser le montage suivant sous ISIS, et tester le même exemple sur
la carte Arduino.

31
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

 La simulation est un outil très puissant pour comprendre comment le


périphérique fonctionnera après l'implémentation en réel.
 Avant de commencer un projet, il est recommandé de le simuler et
de vérifier virtuellement que cela fonctionne.
 Le logiciel ISIS de Proteus Professional est un logiciel de base de
simulation.

32
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


Barres d’outils de commande :

Barre de menu

Barre d’outils Vue d'ensemble du schéma Zone


d’orientation rectangulaire
de travail ou
d'édition des
schémas
Barre d’outils
de sélection Sélecteur d'objets
de mode

Panneau de contrôle des animations


33
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

1. Télécharger ISIS de proteus.


2. Télécharger IDE Arduino sur https://www.arduino.cc/en/Main/Software
3. Télécharger la bibliothèque Arduino pour ISIS

34
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

1. Télécharger ISIS de proteus.


2. Télécharger IDE Arduino sur https://www.arduino.cc/en/Main/Software
3. Télécharger la bibliothèque Arduino pour ISIS
Le téléchargement du fichier zip de la bibliothèque

4. Extraire le ficher et coller son contenu dans le répertoire


C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY

35
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

36
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


5. Lancement du logiciel et création du projet Arduino Proteus

Lancer Proteus…
vous allez obtenir
l’interface suivante.
Après cliquer sur
l’icône la dessus.

37
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


6. Placement des composants

Dans l’interface, vous


allez trouver à gauche
sous le cadre deux
boutons portant les
lettre P et L.
Cliquez sur celui qui
porte la lettre P .

38
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


6. Placement des composants

Tapez le mot Arduino


dans la zone de texte
keyword et
sélectionnez la carte
Arduino uno comme
dans la figure suivante
et puis cliquez sur ok,
suivez les mêmes
étapes pour les autres
composants tels que la
résistance (RES) et la
LED (LED-RED).

39
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


7. Élaboration du circuit
 On doit lier entre ces composants maintenant, pour ce faire, on peut appuyer sur le crayon qui
apparaît dans la zone de dessin. Nous allons lier le pin 9 de notre carte arduino au Resistor et
ce resistor va être lier à notre LED. (La carte arduino contient des pins numérotés de 0 à 13).

40
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


8. Le code avec Arduino IDE

Ecrivez le code après cliquez


sur le bouton "vérifier " .
Il se peut qu'il vous demande
d’enregistrer le code,
enregistrez-le et attendez la fin
de la compilation.

41
17/01/2024 16:21:23
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

Après la fin de la compilation, vous devez copier le chemin de fichier .hex, ce chemin se trouve
dans la partie consacré à l'affichage des messages de compilation :

42
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


Si la console d'affichage
n'affiche pas en détails les
résultats de compilation ,
cliquez sur ‘fichier’ >>
‘Préférences’ et cochez cette case

43
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis

Après avoir copier le chemin du


fichier .hex, retournez à notre circuit,
cliquez sur la carte arduino dans le
circuit , vous allez obtenir une boite
de dialogue, collez le chemin de
fichier .hex dans la zone de program
file comme suit et cliquez sur ok.

44
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 1 : Simulation sur Proteus Isis


9. La simulation de projet Project LED

Vous pouvez maintenant simuler


votre projet, en cliquant sur le bouton
Play de l'ISIS.
Le LED dans le circuit devrait
clignoter maintenant.

45
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 2 :
 Réalisez un montage qui permet d’allumer une LED branchée sur le PIN 9 une fois le
bouton poussoir (A5) est poussé et elle s’éteint une fois ce bouton est relâché.

46
17/01/2024 16:21:25
1 2 3 4 5 Exemple d’application

Exemple 2 : project LED_BP


 Réalisez un montage qui permet d’allumer une LED branchée sur le PIN 9 une fois le
bouton poussoir (A5) est poussé et elle s’éteint une fois ce bouton est relâché.

47
17/01/2024 16:21:25
Merci de votre attention

Vous aimerez peut-être aussi