Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Arduino IDE

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 10

Arduino IDE

Arduino IDE (Integrated Development Environment) montré dans la figure 14 est un logiciel
open-source utilisé pour programmer les cartes Arduino. Il fournit une interface conviviale et
simplifiée qui permet aux utilisateurs d'écrire, de compiler et de télécharger du code sur les
cartes Arduino.
L'Arduino IDE est conçu pour être accessible, même pour les débutants en programmation et
en électronique. Il utilise un langage de programmation basé sur le langage Wiring, qui
simplifie la syntaxe et les concepts pour faciliter l'apprentissage. Les utilisateurs peuvent
écrire leur code dans l'éditeur de texte intégré, où ils peuvent également organiser leurs
projets en plusieurs fichiers.
Une fois le code écrit, l'Arduino IDE permet de compiler le programme pour vérifier la
syntaxe et générer le code binaire adapté à la carte Arduino. Il supporte une variété de cartes
Arduino populaires, telles que l'Arduino Uno, l'Arduino Mega, l'Arduino Nano, et bien
d'autres. Les utilisateurs peuvent sélectionner la carte cible et le port de communication
appropriés pour télécharger le programme sur la carte.
En plus de la programmation, l'Arduino IDE fournit des outils pour le débogage et la
surveillance des données. Les utilisateurs peuvent afficher les messages de débogage,
surveiller les valeurs des variables en temps réel et utiliser des outils de visualisation pour
comprendre le comportement du programme.
L'Arduino IDE est disponible sur différentes plates-formes, notamment Windows, macOS et
Linux, ce qui permet aux utilisateurs de travailler sur leur système d'exploitation préféré.

Figure 1: Arduino IDE logo


Architecture matérielle
Définition du ESP32
La carte ESP32 présenté dans la figure 15 est un microcontrôleur à faible consommation
d'énergie qui intègre un processeur à double cœur, une connectivité Wi-Fi et Bluetooth, ainsi
que diverses fonctionnalités et interfaces pour le développement de projets IoT.

Figure 2: Carte ESP32


Caractéristique du ESP32 :
 Microcontrôleur
Le microcontrôleur Node MCU ESP32 illustré dans le tableau ci-dessous possède le
microprocesseur ESP-WROOM-32 (Tensilica Xtensa LX6) qui fonctionne avec une
fréquence d'horloge de 240MHz. Sa mémoire RAM est de 520 kB, La mémoire FLASH est
de 4000 kB et l'EEPROM est de 448 kB.
Il est doté d'une puce Wifi qui assure sa connexion à un réseau local ou bien de concevoir son
propre réseau pour que les autres appareils peuvent s'y connecter. De plus, ce processeur est
équipe d'une puce Bluetooth qui lui assure l'interaction avec différents appareils.
 CPU ESP-WROOM-32 (Tensilica
Xtensa LX6)
 Voltage : 3.3V
 Flash : 4000 kB
 RAM : 520 kB
 EEPROM : 448 kB
 Clock speed : 240MHz
 WiFi : Yes
 Bluetooth : Yes

Tableau 1: Caractérisique du microcontrôleur


 Alimentation électrique
La plage de tension de fonctionnement du microcontrôleur Node MCU ESP32 varie entre 7V
et 12 V due au son régulateur de tension intègre. En fonctionnement normal c'est à dire s'il
n'alimente rien, il consomme jusqu'à 45 mA. Le courant que chaque broche IO peut l'accepter
est 40 mA.
Le microprocesseur opère avec une tension de 3.3 V.
 Pinout
Le microcontrôleur NodeMCU ESP32 offre une grande flexibilité grâce à ses 48 GPIO, dont
25 sont disponibles sur les broches. Parmi ces 25 broches, 15 peuvent être utilisées comme
entrées analogiques, 25 comme sorties PWM et 9 comme capteurs capacitifs. Certaines
broches sont spécifiquement réservées aux protocoles de communication série tels que SPI,
I2C et Serial. La particularité de la carte ESP32 réside dans sa connexion WiFi intégrée, ce
qui élimine la nécessité de composants supplémentaires pour se connecter à Internet. Grâce à
cette interface WiFi, le microcontrôleur peut facilement établir des connexions sans fil et
accéder aux ressources en ligne, offrant ainsi une connectivité étendue pour les projets IoT.
Le tableau ci-dessous présente les différents GPIO de la carte ESP32.
Analog I/O 15 (2, 4, 12, 13, 14, 15, 25, 26, 27, 32, 33, 34, 35, 36, 39)
Digital I/O 4 (all except 6 to 11)
Broches PWM 16 (2, 4, 5, 6, 12, 13, 14, 15, 18, 19, 21, 25, 26, 27, 32, 33)
Communication Serial : 9 (1, 2, 3, 4, 5, 12, 13, 14, 15)
Communication I2C : 1 ((’21’, ’22’))
Communication SPI : 1 ((‘5′, ’18’, ’19’, ’23’))
Communication I2S : 1 ((’26’, ’25’, ’33’))
Touch : 9 (2, 4, 12, 13, 14, 15, 27, 32, 33)
26 (0, 1, 2, 4, 5, 7, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33,
Interrupt :
34, 35, 36, 39)
Tableau 2: Différents broches du ESP32

1.1.1 Afficheur LCD 1602A


L'afficheur LCD 1602A montré dans la figure 22, également connu sous le nom d'afficheur
à cristaux liquides 16x2, est un dispositif d'affichage couramment utilisé dans les projets
électroniques pour afficher du texte et des caractères alphanumériques. Il se compose d'un
écran à cristaux liquides (LCD) rétroéclairé et d'un contrôleur intégré qui permet de gérer
l'affichage des informations.
L'afficheur LCD 1602A dispose de 16 colonnes et 2 lignes, ce qui signifie qu'il peut
afficher jusqu'à 16 caractères sur chaque ligne. Chaque caractère est généralement composé
de 5x8 pixels, permettant
d'afficher une variété de
caractères, de symboles et de
chiffres.

Figure 3 : Afficheur LCD1602A


1.1.1.1 Principe de fonctionnement et caractéristique du LCD 10602A

 Principe de fonctionnement

Le LCD 1602A est un type d'afficheur utilisant la technologie des cristaux liquides pour
afficher des informations. Il se compose de deux panneaux de verre avec une couche de
cristaux liquides entre eux. Des électrodes placées sur les panneaux permettent de générer
des champs électriques afin de contrôler l'alignement des cristaux liquides. Lorsqu'un
courant électrique est appliqué aux électrodes, les cristaux liquides se polarisent, ce qui
altère la transmission de la lumière à travers le panneau. Cela permet de former des
caractères et des symboles qui deviennent visibles sur l'écran de l'afficheur
 Caractéristique
Grace à ses caractéristiques Le LCD 1602A est largement utilisé dans de nombreux projets
électroniques pour afficher des messages, des données en temps réel, des menus, des
indicateurs et d'autres informations :

 Chaque caractère est généralement composé de 5x8 pixels, permettant d'afficher une
variété de caractères alphanumériques, de symboles et de chiffres.

 Il peut être rétroéclairé, pour avoir une bonne visibilité lorsque la luminosité est
faible.

 Il peut être connecté à un microcontrôleur ou à d'autres circuits électroniques à l'aide


d'une interface parallèle à 4 bits ou 8 bits.

 Compatible Arduino® et Raspberry Pi

 Faible poids
 Brochage

Le brochage du LCD 1602A est présenté dans le tableau suivant :


Broche Marquage Description
1 Vss GND
2 Vdd +5/3.3 Vcc
3 V0 Réglage du contraste
4 RS Signal de sélection du registre H/L
5 R/W Signal lecture/écriture H/L
6 E Activation du signal H/L
7 DB0 Bus de données H/L
8 DB1 Bus de données H/L
9 DB2 Bus de données H/L
10 DB3 Bus de données H/L
11 DB4 Bus de données H/L
12 DB5 Bus de données H/L
13 DB6 Bus de données H/L
14 DB7 Bus de données H/L
15 A Rétroéclairage (5Vcc)
16 K Rétroéclairage (GND)

Tableau 3: Brochage du LCD 1602A


1.1.2 Module I2C
Le module I2C (Inter-Integrated Circuit) présenté dans la figure 23 est un dispositif
électronique utilisé pour faciliter la communication entre différents composants
électroniques, tels que des microcontrôleurs, des capteurs, des afficheurs, etc. Il utilise un
protocole de communication série synchrone à deux fils, composé d'une ligne de données
(SDA) et d'une ligne d'horloge (SCL). Le module I2C permet la transmission
bidirectionnelle des données entre les composants connectés, en utilisant des adresses
uniques pour chaque périphérique sur le bus.

Figure 4: Module I2C


1.1.2.1 Principe de fonctionnement et branchement du module I2C

 Principe du fonctionnement

Le module I2C fonctionne en synchronisant le périphérique maître et les périphériques


esclaves grâce à des signaux d'horloge. Le signal d'horloge émis par le périphérique maître
détermine le rythme de la communication et assure la coordination des échanges de
données. De plus, le module I2C permet une communication bidirectionnelle, permettant
aux périphériques esclaves d'envoyer des données au périphérique maître en utilisant la
même ligne SDA. Cette capacité bidirectionnelle simplifie l'échange des données entre les
divers composants d'un système électronique, offrant ainsi une communication efficace et
flexible.

Voici les étapes principales du fonctionnement du module I2C :

 Initialisation : Le périphérique maître génère un signal de démarrage (START) sur la


ligne SDA suivi de l'adresse du périphérique esclave auquel il souhaite communiquer.

 Transmission de données : Le périphérique maître envoie les données à transmettre ou


les commandes à exécuter sur la ligne SDA, tout en maintenant la ligne SCL dans un
état approprié.

 Acknowledgement (ACK) : Après l'envoi de chaque octet de données, le périphérique


récepteur (esclave) envoie un signal d'acquittement (ACK) sur la ligne SDA pour
indiquer qu'il a reçu avec succès les données.

 Réception de données : Lorsque le périphérique maître souhaite recevoir des données


d'un périphérique esclave, il attend les signaux de données envoyés par le
périphérique esclave sur la ligne SDA.

 Arrêt de communication : Une fois que le périphérique maître a terminé la


transmission ou la réception des données, il génère un signal d'arrêt (STOP) sur la
ligne SDA.

 Brochage

Le brochage du module I2C est illustré dans le tableau suivant :

Afficheur LCD I2C Carte Arduino/ESP

GND GND

VCC +5V

SDA pinout

SCL pinout

Tableau 4: Brochage du module I2C


Plus que ce brochage, il faut vérifier le cavalier montré dans la figure 24 :

Figure 5: Cavalier du module I2C


Le RFID (Radio-Frequency Identification) montré dans la figure 31 est une technologie de
transmission sans fil. Elle assure l'identification automatique et la collecte de données à
distance. Cette technologie est largement utilisée dans de nombreux domaines tels que la
gestion des stocks, la traçabilité des produits, le contrôle d'accès, le paiement sans contact,
etc. Elle offre des avantages tels que la rapidité, la précision et l'automatisation des
processus d'identification
et de suivi des objets.

Figure 6 : Puce RFID


1.1.2.2 Principe de fonctionnement et caractéristique du commutateur Intelligent

 Principe de fonctionnement

Le mode de fonctionnement du RFID (Radio-Frequency Identification) repose sur la


communication sans fil entre une balise RFID et un lecteur RFID. La balise RFID est
équipée d'une puce électronique qui contient des données spécifiques, telles qu'un numéro
d'identification unique. Le lecteur RFID émet un signal radiofréquence qui est capté par la
balise RFID à proximité.
Lorsque la balise RFID reçoit le signal du lecteur RFID, elle s'active et transmet les données
stockées dans sa puce électronique en retour. Le lecteur RFID détecte alors les données de la
balise et les transmet à un système informatique pour traitement ultérieur.

 Caractéristique du Puce RFID

Le tableau suivant présente les caractéristiques du module RFID

Alimentation 3,3 Vcc

Fréquence 13,56 MHz

Distance optimale 10 mm

Tableau 5 : Caractéristiques du Puce RFID RC-522


 Brochage

Le brochage du RFID RC-522 est montré dans le suivant :

RFID RC522 Pins ESP32 Pins

VCC +3.3V

RST D0

GND GND

MISO 19

MOSI 23

SCK 18

SS/SDA 5

Tableau 6: brochage du RC-522

1.1.3 MQTT explorer


MQTT Explorer montré dans la figure 10 est un outil logiciel utilisé pour explorer, tester et
déboguer des protocoles de messagerie basés sur MQTT (Message Queuing Telemetry
Transport). Il offre une interface utilisateur conviviale qui permet aux développeurs d'interagir
avec des brokers MQTT, de visualiser les messages publiés et souscrits, et d'analyser les
échanges de données.
MQTT Explorer offre plusieurs fonctionnalités Dans le but de simplifier le débogage le
développement des applications reposant sur MQTT . Les utilisateurs peuvent se connecter à
un broker MQTT spécifique en fournissant les informations de connexion telles que le port,
l’adresse IP, le nom d'utilisateur et le mot de passe. Une fois connectés, ils peuvent visualiser
les différents topics MQTT disponibles et souscrire à ceux qui les intéressent.
L'outil affiche les messages MQTT reçus en temps réel, avec des détails comme le topic, le
payload, le QoS (Quality of Service) et d'autres informations pertinentes. Cela permet aux
utilisateurs de suivre les échanges de données entre les clients MQTT et le broker, ce qui est
utile pour le débogage, la surveillance et la vérification du bon fonctionnement des messages
MQTT.
En résumé, MQTT Explorer est un outil logiciel qui facilite l'exploration, le test et le
débogage des protocoles MQTT. Il offre une interface conviviale pour se connecter à des
brokers MQTT, visualiser les messages publiés et souscrits, et analyser les échanges de
données. Cet outil est largement utilisé dans le développement du une applications IoT et dans
l'implémentation d’un système de messagerie basés sur MQTT.

Figure 7: MQTT explorer logo

Communication avec MQTT dans notre systeme


L'objectif principal de la communication des systèmes avec MQTT est d'établir une
architecture de messagerie bidirectionnelle, légère et flexible, permettant au système de
publier des données et s'abonner à des canaux spécifiques pour recevoir des informations
pertinentes en temps réel, de recevoir des commandes à distance et de répondre aux demandes
du système central. Cela favorise une gestion efficace des dispositifs, une coordination des
actions et une intégration harmonieuse dans l'écosystème IoT global. Ce protocole permet une
communication asynchrone, ce qui signifie que les boitiers peuvent envoyer et recevoir des
messages de manière indépendante, sans bloquer les autres opérations

Vous aimerez peut-être aussi