Microcontrôleurs Lab

Table des matières

NRF24L01 est l’un des communicateurs RF légaux pour les applications modernes. NRF24L01 est le moins cher et il est livré avec de grandes fonctionnalités. Un seul module communique à la fréquence de 2,4 GHz, ce qui le rend légal. Il peut transmettre et recevoir des données par un seul module. L’émission-réception n’est pas sa seule capacité, il peut communiquer avec un total de 6 autres modules NRF24L01 identiques en même temps. Le dispositif s’interface avec l’application Arduino et couvre toutes sortes d’applications de télécommande. Ce module sans fil utilise le protocole de communication SPI et offre un débit de données de 10MBs avec une plage d’adresses de 125, ce qui en fait le module RF le plus fiable. Le module RF utilise le module GFSK pour émettre les données.

Configuration du brochage du NRF24L01

Dans le NRF24L01 il n’y a pas de broches spéciales, toutes les broches qu’il propose pour communiquer sont présentes dans tous les microcontrôleurs et la carte. Le dispositif s’interfacera avec un microcontrôleur externe/Arduino par le biais de ces broches pour fonctionner. Il est composé de 8 broches. Toutes les broches disponibles sont:

Broches d’alimentation

VCC

La broche d’alimentation du module est VCC, qui se connecte avec l’alimentation.

GND

nRF24L01 fonctionne avec un autre microcontrôleur et il aura besoin d’une masse commune pour fonctionner avec lui. La broche GND résoudra l’exigence de la masse commune.

Pins de communication

CE

CE est une broche d’activation, qui active la transmission/réception du module. Elle n’activera le dispositif que lorsqu’il y a un état HAUT sur elle-même.

CSN

Cette broche sert à activer l’écoute et le traitement des données du microcontrôleur. Pour maintenir la communication des données entre le microcontrôleur et le module, elle doit être à l’état HAUT.

SCK

C’est la broche d’impulsion d’horloge de la communication SPI dans le nRF24L01. Les données vont se déplacer entre le module et le microcontrôleur selon l’impulsion d’horloge sur la broche SCK.

MOSI

Les données transmises par le microcontrôleur à travers les broches SPI vont être reçues par le nRF24L01 sur la broche MOSI.

MISO

Les instructions transmises par le nRF24L01 à l’aide des broches SPI vont être reçues par le microcontrôleur sur la broche MISO.

Broche d’interruption IRQ

IRQ est une broche d’interruption, qui génère l’événement chaque fois qu’une nouvelle donnée est disponible pour les broches SPI. Elle aide à envoyer une rétroaction à l’émetteur.

Fonctionnalité du module RF NRF24L01

  • Il fonctionne à la fréquence de 2,4GHz, ce qui le rend légal dans presque tous les pays.
  • Un seul module peut agir à la fois comme émetteur ou récepteur.
  • Une antenne intégrée peut envoyer les données jusqu’à 100 mètres.
  • Un module nRF24L01 peut communiquer avec un maximum de 6 autres modules à la fois.
  • Il nécessite 3,3 volts pour fonctionner mais les tensions ne peuvent s’étendre que jusqu’à 3,6V sinon il ne prendra pas beaucoup de temps pour chauffer et brûler.
  • Le dispositif a un oscillateur intégré de 16MHz.
  • La vitesse de transmission du nRF24L01 est de 256kbps à 2Mbps.
  • Le dispositif a une gamme de 125 canaux qui donne la caractéristique d’exploiter 125 réseaux différents à un seul endroit.
  • Les fréquences des canaux varient de 2400MHz à 2525MHz.

Applications du NRF24L01

  • Dans la création d’un petit réseau maillé, le nRF24L01 est le meilleur choix à utiliser.
  • Les applications de contrôle à distance au niveau du développement et du commerce fonctionnent à merveille avec le nRF24L01.
  • La plupart des applications IoT au niveau de la maison ont ce module sans fil mais à un petit niveau seulement.

Comment utiliser le module de communication NRF24L01

Le nRF24L01 est utilisable avec tous les microcontrôleurs et les cartes intelligentes mais pour l’utiliser, il faut comprendre certaines broches et informations de données. Pour utiliser le module, connectez-le avec un autre microcontrôleur avec le protocole SPI. Tout d’abord, donnez l’entrée de puissance aux dispositifs et ensuite attachez leurs broches SPI selon le circuit donné.

Après l’avoir attaché gardez à l’esprit qu’il y a deux façons dont le nRF24L01 peut fonctionner. La première est émetteur et la seconde et récepteur. Pour communiquer en tant qu’émetteur et récepteur, le microcontrôleur doit d’abord savoir. Dans l’application moderne, l’Arduino est le seul dispositif qui supporte la communication la plus efficace de la communication nRF24L01.

Interfaçage avec Arduino

Il y a beaucoup de travail et de recherche sur le nRF24L01 sur internet qui peut aider à l’utiliser dans de nombreuses applications mais il y a la base de ce module dans Arduino que chaque développeur devrait comprendre. Le fonctionnement de base du nRF24L01 est l’émetteur et le récepteur, dans Arduino, les deux sont réalisables par les méthodes suivantes. Voici le circuit pour Arduino UNO.

Comment utiliser comme un émetteur Exemple

Quand le nRF24L01 agira comme un émetteur alors il peut seulement transmettre des données à un seul canal à un autre module. Pour l’utiliser comme un émetteur le programme dans Arduino devrait avoir connu. Après avoir téléchargé le programme, il n’y a pas de moyens sans programmation, les modes entre l’émetteur et le récepteur sont modifiables. Pour l’utiliser comme émetteur, le code suivant devrait être téléchargé:

Détails sur le code de l’émetteur

La communication entre Arduino et le nRF24L01 dépend des bibliothèques suivantes:

#include <nRF24L01.h>#include <RF24.h>#include <SPI.h>

Comme nous le savons, chaque carte Arduino a une broche SPI spécifique de MISO, MOSI et SCK. Donc, Arduino n’aura pas à en parler mais les broches CSN et CE doivent être initialisées. La bibliothèque nRF24L01 a une fonction intégrée pour obtenir le PIN de CSN et CE qui est:

RF24 radio(3, 2);

Le nombre 3 représente la broche CE et 2 représente la broche CSN. Les deux sont modifiables selon n’importe quelles broches numériques ; ici, elles le sont selon le circuit donné ci-dessus.

Après cela, le module doit s’initialiser en utilisant la commande suivante :

radio.begin();

L’adresse est définissable avec 5 bits pour le dispositif auquel il doit communiquer le récepteur. N’importe quel nombre de 5 bits est utilisable.

radio.openWritingPipe(10101);

Après cela, le module doit connaître son mode. Soit il fonctionne comme un récepteur ou un émetteur. La commande suivante fera du nRF24L01 un émetteur.

 radio.stopListening();

Alors le périphérique est utilisable comme émetteur. La seule chose connue à initialiser est l’envoi de données. Gardez toujours à l’esprit que seuls 32 octets de données sont envoyables à la fois en raison de la limitation du module. La commande suivante aidera à définir cela:

const char data = "DATA";radio.write(&data, sizeof(data));

Les données d’émission sont définissables dans le setup ou la boucle du programme.

Comment utiliser le NRF24L01 comme récepteur Exemple

La partie ci-dessus concerne la méthode d’émission mais la méthode de réception n’est pas différente de l’émetteur. Dans l’émetteur, seules trois instructions vont changer.

  • Le canal d’adresse, qui n’était pas disponible dans l’émetteur
  • L’initialisation du module en tant que récepteur
  • Méthode de réception et de vérification des données

Voici le code suivant pour le récepteur.

Détail du code du récepteur

Comme vous le faites remarquer, seules trois parties sont différentes pour le récepteur par rapport à l’émetteur.

La première partie est la partie adresse :

radio.openReadingPipe(0,10101);

Dans la partie adresse, il y a deux parties maintenant.La deuxième est la partie adresse qui définit l’adresse du dispositif de transmission. La première partie qui est “0” définit le canal. Comme nous avons parlé ci-dessus que le module offre 6 canaux pour communiquer à la fois, la première partie de la programmation aidera à construire plusieurs canaux.

La deuxième partie est l’initialisation du module comme un émetteur. Pour initialiser le module en tant qu’émetteur, initialiser la commande suivante:

radio.startListening();

La troisième est la réception des données.

if (radio.available())

Il aidera à connaître les données entrantes

radio.read( data, size );

Il aidera à lire les données.

Exemple du NRF24L01

Il y a un tas d’applications que le nRF24L01 peut utiliser mais faire un maillage est une des meilleures capacités du nRF24L01 qui le rend différent d’un autre module. Pour l’utiliser comme un maillage total de 3-7 modules devrait être disponible. Suivez l’image donnée.

Puis l’instruction suivante devrait être utilisée pour initialiser les différents canaux à l’extrémité du récepteur.

Le récepteur est incapable de différencier les dispositifs, donc les développeurs gardent toujours à l’esprit que les données ne devraient pas être les mêmes entre les émetteurs.

Diagramme 2D

Modules alternatifs :

  • Module XBee S2C
  • SX1278 LoRa RF Module
  • SIM900A Module GSM
  • ESP12E Module WiFi
  • PN532 Module RFID NFC
  • Module Bluetooth HM-10
  • HC-.05 Module Bluetooth
  • Module récepteur RF 433MHz
  • Module émetteur RF 433MHz
  • TSOP1738 Récepteur IR
  • Carte WiFi Arduino MKR1000

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.