Module "PMOD" tranceiver 2,4 GHz

Module "PMOD" tranceiver 2,4 GHz

PMODRF2
Disponible
18,52 € TTC

Dont 0,01 € d'eco-participation déjà incluse dans le prix


15,43 € HT

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.

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 données ici  https://www.arduino.cc/en/Guide/Libraries#toc2  pour installer les librairies dans l'IDE de 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. 
Aucun avis
Il est nécessaire d'être connecté pour laisser un avis
Produit ajouté à ma liste