Rapport Esp32
Rapport Esp32
Rapport Esp32
INTRODUCTION.....................................................................................................2
1. Description matérielle......................................................................................2
1. Définition et rôle..............................................................................................6
a- INTERRUPTION EXTERNES....................................................................7
b- INTERRUPTION INTERNES.....................................................................9
CONCLUSION....................................................................................................... 13
objectif : Dans notre travail, il s'agit de faire une étude descriptive de L'ESP32(description
matérielle et brochage), ensuite expliquer le fonctionnement des interruptions sur L'ESP32 et
son exploitation avec le langage C Arduino.
INTRODUCTION
La carte ESP32 est une carte de développement basée sur le système sur une
puce ESP32, qui est un microcontrôleur à double cœur, doté de fonctionnalités
Wi-Fi et Bluetooth intégrées. Elle est largement utilisée dans le développement
de projets IoT (Internet des objets), grâce à ses capacités de connectivité sans fil,
sa faible consommation d'énergie et sa flexibilité.
L'ESP32 dispose de nombreux ports d'entrée/sortie (E/S) pour connecter divers
capteurs, actionneurs et périphériques, tels que des capteurs de température, des
capteurs de lumière, des afficheurs LED et des servomoteurs. En particulier, la
gestion des interruptions est un aspect crucial de la programmation sur l'ESP32.
Les interruptions permettent au microcontrôleur de réagir immédiatement à des
événements externes, comme le changement d'état d'un capteur, sans avoir à
vérifier en continu l'état des entrées. Cela optimise les performances et la
réactivité des applications IoT.
En utilisant des bibliothèques compatibles avec des plates-formes de
développement telles qu'Arduino et ESP-IDF (Espressif IoT Développent
Framework), il est possible d'implémenter des programmes d'interruption pour
gérer des événements en temps réel.
Une interruption est un processus qui est déclenché de manière asynchrone par
un évènement extérieur, qui interrompt momentanément l’exécution du code en
cours, pour exécuter du code plus critique.
Son rôle consiste à interrompre momentanément le programme principal exécuté
pour effectuer un autre travail. Quand cet autre travail est terminé, on retourne
à l’exécution du programme principal à l’endroit exact où il l’avait été laissé.
Cet autre travail s’appelle le programme d’interruption.
Il existe plusieurs types d’interruption que peut gérer la carte ESP32, chacune
avec un rôle spécifique. Voici les deux principaux types d'interruptions et leur
fonctionnement :
-Interruptions externes ou matérielles.
-Interruptions internes.
a- INTERRUPTION EXTERNES
Les interruptions externes sont générées par des événements externes au
microcontrôleur, comme un signal provenant d'un périphérique connecté à un
port GPIO (General Purpose Input Output).
Exemples d'événements externes :
Un bouton poussoir est pressé.
Un capteur envoie un signal (comme un capteur de mouvement PIR).
Dans notre cas avec l 'ESP32 , celui-ci surveille constamment l'état de ses
broches GPIO. Si une interruption est activée sur une broche donnée, une autre
fonction est exécutée dès que la condition d'interruption (comme un changement
d'état de la broche) est remplie.
NB : Pour l'ESP32, toutes les broches du GPIO peuvent être utilisées en
interruption, à l'exception de GPIO 6 à GPIO 11.
FONCTIONNEMENT
Le fonctionnement de l’interruption externe sur l’esp32 est le suivant :
DETECTION DE L’EVENEMENT
La détection de l’évènement est basée sur la forme du signal arrivant sur
la broche de la carte ESP32.
b- INTERRUPTION INTERNES
FONCTIONNEMENT :
INTERRUPTIONS DE TIMER
Elle permet de générer des intérruptions à des intervalles définis, d’où
déclencher des actions périodiques.
Fonctionnement :
Un timer interne compte jusqu’à une valeur prédéfinie.
Lorsqu'il atteint cette valeur, il déclenche une interruption.
Une fonction d’interruption associée à ce timer s’exécute, réalisant
l’action souhaitée (par exemple, un calcul ou une mise à jour d’état).
Exemple : Utilisation d’une minuterie pour clignoter une LED toutes les
secondes
L’utilisation des interruptions sur l’ESP32 est similaire à celle sur l’Arduino
avec la fonction attachInterrupt(). Ainsi donc pour créer l’interruption en
langage C arduino , on procède ainsi :
1. Attribuer un pin pour détecter l’interruption attachInterrupt()
Pour mieux comprendre la notion d’interruption sur l’ESP32, nous allons faire
un exemple.
EXEMPLE D’UTILISATION D’INTERRUPTION