Transceiver radiofréquence MRF24J40 bande 2,4 GHz

Conçu pour être piloté par un arduino, ce module Pmod intègre un tranceiver radiofréquence 2,4 GHz IEEE 802.15.4™ MRF24J40 Microchip® permettant le développement d'applications sans fil compatible ZigBee®, MiWi™, MiWi P2P et autres protocoles sans fils propriétaires.

Prix : 18,60 €
TTC
15,50 € HT
Dont 0,04 € d'eco-participation
Product availability: Disponible
Code PMODRF2

Reprise 1 pour 1         Frais de port à partir de 9 €   infos

Fonction du moduleInterface du moduleConnectique du module


Doté d'un connecteur mâle 2 x 6 broches, ce module pourra être déporté via des cordons optionnels (voir modèles en bas de page).
 
Ce module est soumis au contrôle de la réglementation américaine relative à l’exportation (15 CFR Part 730 et. seq.). 
 
  
Exemple d'application avec 2 arduino™ (le programme consiste en un échange de données entre 2 arduino équiqés chacun d'un module PmodRF2).
   

Brochage entre arduino et Pmodrf2


La note d'application décrite ci-dessous nécessite le téléchargement préalable de librairies(s) additionnelle(s) dont les liens (github) sont indiqués en entête de programme ci-dessous. Une fois téléchargée(s), suivez les instructions pour installer des librairies sur l'Arduino

 
Programme Arduino : Programme N°1
/************************************************************************
*
* Test du module Pmod transmetteur 2.4 GHz
*
*************************************************************************
* Description: Pmod_RF2
* Les données échangées entre deux modules RF2 sont affichés
* dans le moniteur série (basé sur l'exemple de la bibliothèque).
*
* Matériel
* 1. Arduino Uno
* 2. Module Pmod RF2 (télécharger la bibliothèque
* https://github.com/karlp/Mrf24j40-arduino-library)
*
* Schéma publié sous licence CC Attribution-ShareALike (réalisé avec Fritzing)
*
* N'importez pas le programme par un copier/coller dans l'IDE de l'arduino.
* Utilisez le lien ci-dessous pour télécharger le code source.

* Code source téléchargeable ici:
************************************************************************/

// Appel des bibliothèques
#include <SPI.h>
#include <mrf24j.h>

#define Reset 6 // affectation des broches
#define CS 10
#define Interruption 2


Mrf24j mrf(Reset, CS, Interruption); // création de l'objet mrf

long last_time;
long tx_interval = 1000;
unsigned long current_time;

void setup(void)
{
Serial.begin(9600); // initialisation de la liaison série
mrf.reset();
mrf.init();
mrf.set_pan(0x0000); // adresse du canal
mrf.address16_write(0x0001); // adresse du module N°1
attachInterrupt(0, interrupt_routine, CHANGE);
last_time = millis();
interrupts();
}

void interrupt_routine()
{
mrf.interrupt_handler(); // création de l'objet mrf.interrupt
}

void loop()
{
mrf.check_flags(&handle_rx, &handle_tx);
current_time = millis();
if (current_time - last_time > tx_interval)
{
last_time = current_time;
Serial.println("Envoi de la chaine ");
mrf.send16(0x0002, "Bonjour"); // envoi de la chaine au module N°2
}
}

void handle_rx()
{
Serial.print("Reception de la chaine ");
Serial.print(mrf.get_rxinfo()->frame_length, DEC);
Serial.println(" octets");

if(mrf.get_bufferPHY())
{
Serial.println("Packet data (PHY Payload):");
for (int i = 0; i < mrf.get_rxinfo()->frame_length; i++)
{
Serial.print(mrf.get_rxbuf()[i]);
}
}

Serial.println("rnASCII data :");
for (int i = 0; i < mrf.rx_datalength(); i++)
{
Serial.write(mrf.get_rxinfo()->rx_data[i]);
}

Serial.print("rnLQI/RSSI=");
Serial.print(mrf.get_rxinfo()->lqi, DEC);
Serial.print("/");
Serial.println(mrf.get_rxinfo()->rssi, DEC);
}

void handle_tx()
{
if (mrf.get_txinfo()->tx_ok)
{
Serial.println("Transmission OK");
}
else
{
Serial.print("Echec transmission ");
Serial.print(mrf.get_txinfo()->retries);
Serial.println(" essaisn");
}
}

   
Programme Arduino : Programme N°2
/************************************************************************
*
* Test du module Pmod transmetteur 2.4 GHz
*
*************************************************************************
* Description: Pmod_RF2
* Les données échangées entre deux modules RF2 sont affichés
* dans le moniteur série (basé sur l'exemple de la bibliothèque).
*
* Matériel
* 1. Arduino Uno
* 2. Module Pmod RF2 (télécharger la bibliothèque
* https://github.com/karlp/Mrf24j40-arduino-library)
*
* N'importez pas le programme par un copier/coller dans l'IDE de l'arduino.
* Utilisez le lien ci-dessous pour télécharger le code source.

************************************************************************/

// Appel des bibliothèques
#include <SPI.h>
#include <mrf24j.h>

#define Reset 6 // affectation des broches
#define CS 10
#define Interruption 2


Mrf24j mrf(Reset, CS, Interruption); // création de l'objet mrf

long last_time;
long tx_interval = 1000;
unsigned long current_time;

void setup(void)
{
Serial.begin(9600); // initialisation de la liaison série
mrf.reset();
mrf.init();
mrf.set_pan(0x0000); // adresse du canal
mrf.address16_write(0x0002); // adresse du module N°2
attachInterrupt(0, interrupt_routine, CHANGE);
last_time = millis();
interrupts();
}

void interrupt_routine()
{
mrf.interrupt_handler(); // création de l'objet mrf.interrupt
}

void loop()
{
mrf.check_flags(&handle_rx, &handle_tx);
current_time = millis();
if (current_time - last_time > tx_interval)
{
last_time = current_time;
Serial.println("Envoi de la chaine ");
mrf.send16(0x0001, "Lextronic"); // envoi de la chaine au module N°1
}
}

void handle_rx()
{
Serial.print("Reception de la chaine ");
Serial.print(mrf.get_rxinfo()->frame_length, DEC);
Serial.println(" octets");

if(mrf.get_bufferPHY())
{
Serial.println("Packet data (PHY Payload):");
for (int i = 0; i < mrf.get_rxinfo()->frame_length; i++)
{
Serial.print(mrf.get_rxbuf()[i]);
}
}

Serial.println("rnASCII data :");
for (int i = 0; i < mrf.rx_datalength(); i++)
{
Serial.write(mrf.get_rxinfo()->rx_data[i]);
}

Serial.print("rnLQI/RSSI=");
Serial.print(mrf.get_rxinfo()->lqi, DEC);
Serial.print("/");
Serial.println(mrf.get_rxinfo()->rssi, DEC);
}

void handle_tx()
{
if (mrf.get_txinfo()->tx_ok)
{
Serial.println("Transmission OK");
}
else
{
Serial.print("Echec transmission ");
Serial.print(mrf.get_txinfo()->retries);
Serial.println(" essaisn");
}
}
 
 

Notes d'applications pour modules Pmod 

 
La note d'application ci-dessus a retenu votre attention ? Téléchargez toutes les autres notes d'applications concernant l'utilisation des modules Pmod™ avec un arduino™ Uno. 
  • Site du fabricant
    Télécharger
  • Datasheet du module
    Télécharger

Produits associés

Carte Arduino® UNO Rev 3 officielle A000066
A000066 23,00 €

La carte Arduino UNO Rev 3 A000066 est très certainement le plus modèle le plus populaire et le plus utilisé de la gamme Arduino. Conçue sur la base d'un microcontrôleur ATmega328 avec bootloader intégré, cette version est le modèle officiel fabriqué en Italie.

Carte de développement FPGA Digilent Basys 3 Artix-7
TRENZ-26083 180,00 €

Architecturée sur la base d'un puissant FPGA Xilinx™ Artix-7™, cette platine de développement est idéale pour l'apprentissage rapide des techniques de conception numérique moderne.  

Cordon Pmod 2 x 6 Pin Cable
TRENZ-24450 5,40 €

Doté de 2 connecteurs femelles 2 x 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 15 cm est tout indiqué pour être utilisé avec les modules pmod™ dotés de 2 rangées de 6 connecteurs.

Cordon Pmod 2x6 Pin to Dual 6 Pin Cable
TRENZ-24451 5,76 €

Doté d'un connecteur femelle 2 x 6 points (au pas de 2,54 mm) et de 2 sorties avec connecteur 6 points aux autres extrémités, ce cordon de longueur 15 cm est tout indiqué pour être utilisé avec les modules pmod™.

Cordon Pmod 6 Pin Cable Connector 12"
TRENZ-25250 8,16 €

Doté de 2 connecteurs femelle 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 30 cm est tout indiqué pour être utilisé avec les modules Pmod™.

Cordon Pmod 6 Pin Cable Connector 18"
TRENZ-24459 8,16 €

Doté de 2 connecteurs femelle 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 45 cm est tout indiqué pour être utilisé avec les modules pmod™.

Cordon Pmod 6 Pin Cable Connector 6"
6PINCC6 7,80 €

Doté de 2 connecteurs femelles 6 points (au pas de 2,54 mm) à chaque extrémité, ce cordon de longueur 15 cm est tout indiqué pour être utilisé avec les modules Pmod™.

Jeu de 20 straps flexibles Mâle/Femelle (15 cm)
PRT-12794 2,80 €

Jeu de 20 straps souples (15 cm) de différentes couleurs avec embouts mâle/femelle sous la forme d'une nappe de 20 fils (pouvant être désolidarisés). Idéal pour prototypage sur Arduino® et Raspberry.

Module PmodDIP - adaptateur DIL
PMODDIP 7,80 €

Ce petit module vous permettra d'utiliser les modules Pmod avec une sortie sur connecteurs 2 x 6 broches mâles sur des plaques de connexion sans soudure (type breadboard).

Chargement...
Retour en haut