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 : 2,68 €
TTC
2,23 € HT
Dont 0,04 € d'eco-participation
Product availability: Peu de pièces en stock
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

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 0,15 €

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 1,36 €

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