PMODRF2 Transceiver radiofréquence 2,4 GHz MRF24J40 pour arduino

    Module PmodRF2 transceiver 2,4 GHz - 1
    PMODRF2
    Peu de pièces en stock
    18,55 € TTC
    15,46 € HT

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

    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.

    Reprise 1 pour 1         Frais de port à partir de 5.90 €   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 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

    Produits associés

    Produit ajouté à ma liste