CC1101 : émetteur-récepteur RF à utiliser avec Arduino

cc1101

Dans certains projets, vous devez sûrement travailler avec la radiofréquence avec votre Arduino, ou avec toute autre carte de développement ou circuit DIY. Eh bien, si tel est votre cas, vous devriez savoir ce que Émetteur-récepteur radiofréquence (RF) CC1101. Et c’est ce que nous allons tenter de vous expliquer dans cet article.

Et avec cet autre composant électronique qui rejoint notre liste, vous pouvez travailler avec différentes fréquences de signal…

Qu’est-ce que la RF ?

spectre électromagnétique

Avec fréquence radio (RF) Nous faisons référence à une partie du spectre électromagnétique utilisée pour transmettre des informations par voie aérienne. Les ondes RF sont un type de rayonnement électromagnétique et sont produites chaque fois que de l'énergie électrique est transmise à travers un conducteur, tel qu'un câble. Le terme RF s'applique à la partie la moins énergétique du spectre électromagnétique que je vous montre dans l'image précédente, et qui se situe entre 3 hertz (Hz) et 300 gigahertz (GHz).

Vitesse de la lumière = Longueur d'onde · fréquence

La vitesse de la lumière (environ 3.000.000 2.4 5 m/s) ne change jamais, donc à mesure que la longueur d'onde du signal RF augmente, la fréquence diminue proportionnellement et vice versa. Un signal RF à fréquence relativement élevée a une longueur d'onde courte et un signal RF à fréquence inférieure a une longueur d'onde plus longue. Pour cette même raison, les signaux à basse fréquence sont plus pénétrants ou peuvent couvrir une plus grande couverture. Par exemple, si vous disposez du WiFi XNUMX Ghz, il peut atteindre plus loin et mieux franchir les barrières que le WiFi XNUMX Ghz, même si ce dernier permet des vitesses de transmission plus élevées...

Le hertz est l'unité de mesure de la fréquence des ondes et correspond à un cycle par seconde. Plus la fréquence de l’onde est élevée, plus sa longueur d’onde est courte. C’est pourquoi le rayonnement gamma est très pénétrant, car sa longueur d’onde est très petite et sa fréquence est très élevée, il est donc très énergétique.

Les ondes électromagnétiques de cette région du spectre peuvent être transmises en appliquant un courant alternatif provenant d'un générateur à une antenne. Le ondes radiofréquences, étant des ondes électromagnétiques, se déplacent à la vitesse de la lumière. À la base, un signal électrique variable dans une antenne peut produire des oscillations électromagnétiques (c'est-à-dire des ondes RF). Ceux-ci peuvent être involontaires (provoquant potentiellement des interférences avec d’autres appareils) ou intentionnels : des signaux soigneusement modulés que d’autres antennes peuvent recevoir et être interprétés comme des informations utiles.

Dans cette plage RF, nous pouvons transmettre des données à grande vitesse, par exemple, comme cela se fait dans Communication Wi-Fi et les téléphones portables, ainsi que la radio AM et FM traditionnelle.

Qu'est-ce qu'un émetteur-récepteur ?

Transducteur RF

Un émetteur-récepteur est un appareil qui combine les capacités d'un émetteur et d'un récepteur sur des circuits partagés. Cela signifie qu'il peut envoyer et recevoir des signaux, sans avoir besoin d'un émetteur d'une part et d'un récepteur de l'autre. Quelque chose d'assez pratique pour de nombreux projets de bricolage.

Les émetteurs-récepteurs peuvent être deux types généraux: full duplex et semi-duplex. Dans un émetteur-récepteur full duplex, l'appareil peut transmettre et recevoir en même temps. Un exemple courant d’émetteur-récepteur full duplex est un téléphone mobile. D'un autre côté, un émetteur-récepteur semi-duplex coupe le son d'un correspondant pendant que l'autre transmet.

Les émetteurs-récepteurs sont les pierre angulaire de la communication sans fil et sont utilisés dans une variété d'applications, des téléphones mobiles aux satellites de communication, en passant par de nombreux autres réseaux et moyens de transmission d'informations, tels que la radio, la télévision, etc.

Applications d'un émetteur-récepteur

Un émetteur-récepteur radiofréquence (RF) est un appareil multifonctionnel qui peut avoir un grand nombre d’utilisations. Par exemple, comme je l'ai dit précédemment, sa présence est essentielle dans diverses applications nécessitant une communication sans fil. Dans le domaine des télécommunications mobiles, les émetteurs-récepteurs sont utilisés dans les téléphones mobiles pour la transmission et la réception de signaux. De plus, ils sont essentiels dans des technologies telles que le WiFi et le Bluetooth, déployées dans des appareils tels que les routeurs, les ordinateurs et les appareils Internet des objets (IoT), qui dépendent de la communication sans fil pour leur fonctionnement.

Dans le domaine professionnel, les émetteurs-récepteurs RF sont indispensables dans les systèmes de sécurité. radio bidirectionnelle, comme les radios bidirectionnelles utilisées dans les applications professionnelles, les services de sécurité et d'urgence. Ces dispositifs trouvent également des applications dans les systèmes de détection, tels que les radars utilisés pour la détection d'objets, la navigation et le contrôle du trafic aérien, ainsi que dans les systèmes sonar pour les applications sous-marines.

La diffusion, Tant pour la radio que pour la télévision, cela dépend des émetteurs-récepteurs RF pour la transmission des signaux via différents supports, qu'ils soient terrestres ou satellite. De plus, dans le domaine spatial, les émetteurs-récepteurs sont essentiels à la communication entre les satellites et les stations au sol dans les systèmes de communications par satellite.

En applications de contrôle à distance et de télémétrie, les émetteurs-récepteurs RF sont utilisés pour la transmission de données à partir d'appareils électroniques, de drones ou de véhicules aériens sans pilote (UAV). Ils sont également essentiels dans les systèmes de navigation, tels que les récepteurs GPS, où ils contribuent à la localisation et à la navigation. En résumé, la polyvalence des émetteurs-récepteurs RF en fait des composants essentiels dans une variété de technologies modernes qui reposent sur la communication et la transmission de données sans fil.

Évidemment, certaines de ces applications ne sont pas à la portée du CC1101, car il a ses limites et fonctionne dans certaines gammes de fréquences. Cependant, sachez qu'il existe d'autres appareils sur le marché comme cet émetteur-récepteur pour fonctionner avec d'autres fréquences, distances, etc.

Qu’est-ce que le CC1101 ?

cc1101

El CC1101 est un émetteur-récepteur radiofréquence (RF) conçu pour fonctionner à des fréquences inférieures à 1 GHz. Cet appareil peut être utilisé conjointement avec un processeur tel qu'Arduino pour envoyer ou recevoir des données via radiofréquence. Le CC1101 peut fonctionner à n’importe quelle fréquence dans les bandes suivantes :

  • 300 à 348 MHz
  • 387 à 464 MHz
  • 779 à 928 MHz

Ces fonctionnalités font du CC1101 une option Polyvalent pour une variété de projets nécessitant une communication sans fil, y compris les projets Arduino et ESP8266/ESP321, ainsi que d'autres projets électroniques dans le domaine des communications à distance.

De plus, le CC1101 Vous permet d'ajuster le débit binaire pour différentes utilisations, permettant des vitesses de transmission plus élevées, de 0.6 Kbps à 600 Kbps. Et il prend également en charge les modulations 2-FSK, GFSK et MSK3.

Si vous êtes intéressé, vous pouvez le trouver dans les magasins spécialisés en électronique, ou encore sur les plateformes de vente en ligne comme Amazon, Aliexpress et eBay. Tiens, tu en as un recommandation d'achat:

La puissance de sortie est également programmable, pour toutes les fréquences supportant jusqu'à +10 dBm. Il la portée peut aller jusqu'à 100-150 mètres, en fonction de la fréquence. Et pour son fonctionnement, il lui faut une tension de 1.8 à 3.6V. La communication des données s'effectue via le bus SPI, il est donc facile de l'utiliser avec un MCU ou des cartes telles qu'Arduino...

Utiliser le CC1101 avec Arduino

Arduino IDE, types de données, programmation

Maintenant, une fois que vous avez compris ce qu'est le CC1101, si vous souhaitez l'utiliser avec Arduino, c'est facile à faire. Pour ce faire, la première chose est connecter correctement Connectez l'appareil ou le module RF à votre carte de développement. Attention, car le CC1101 ne tolère pas les tensions 5v et vous pouvez l'endommager, il ne se connectera donc pas à la prise 5v de l'Arduino comme nous l'avons fait avec de nombreux autres appareils. La connexion pour que cela fonctionne correctement est la suivante :

  • Vcc: il sera connecté à l'Arduino 3v3 afin d'avoir cette prise, s'il ne l'a pas et que vous n'avez que 5v, alors vous devrez le connecter à une batterie ou une source externe qui peut fournir cette tension ou le CC1101 le fera être endommagé.
  • SI: Il sera connecté à l'Arduino SCK, qui peut changer de pin selon les modèles, mais qui est généralement du D13.
  • SO: Dans ce cas il sera connecté à GO2, qui est généralement la broche D12 de l'Arduino.
  • CSN: il faut l'amener sur la broche GO0, qui est D9 de l'Arduino.
  • GND: et enfin, GND sera connecté au GND de l'Arduino ou de votre alimentation.

Une fois cela fait, il est temps d'écrire le code pour le tester dans l'IDE Arduino. Pour ce faire, je vous montre ici un exemple très basique, mais que vous pourrez modifier à votre guise. Dans ce cas, le CC1101 fonctionnera comme récepteur Signal RF :

Notez que vous devrez installer une librairie dans votre IDE Arduino pour pouvoir travailler, cette librairie est celle d'ELECHOUSE pour le CC1101 qui vous pouvez télécharger ici.
#include <ELECHOUSE_CC1101_SRC_DRV.h>

void setup(){

    Serial.begin(9600);

    if (ELECHOUSE_cc1101.getCC1101()){         // Comprobar la conexión SPI del CC1101.
    Serial.println("Connection OK");
    }else{
    Serial.println("Connection Error");
    }

    ELECHOUSE_cc1101.Init();              // Inicializa el CC1101
    ELECHOUSE_cc1101.setCCMode(1);       // Configuración del modo de transferencia interna.
    ELECHOUSE_cc1101.setModulation(0);  // Modulación: 0 = 2-FSK, 1 = GFSK, 2 = ASK/OOK, 3 = 4-FSK, 4 = MSK.
    ELECHOUSE_cc1101.setMHZ(300,15);   // Pon la frecuencia que quieras usar para la transmisión (por defecto es 433,92 Mhz)
    ELECHOUSE_cc1101.setSyncMode(2);  // Modo de sync: 0 = No preamble/sync. 1 = 16 sync word bits detected. 2 = 16/16 sync word bits detected. 3 = 30/32 sync word bits detected. 4 = No preamble/sync, carrier-sense above threshold. 5 = 15/16 + carrier-sense above threshold. 6 = 16/16 + carrier-sense above threshold. 7 = 30/32 + carrier-sense above threshold.
    ELECHOUSE_cc1101.setCrc(1);      // 1 = CRC calculado en TX y comprobación CRC en RX habilitada. 0 = CRC deshabilitado en TX y RX.
    
    Serial.println("Rx Mode");
}
byte buffer[61] = {0};

void loop(){

    //Comprueba si se ha recibido algo en un tiempo marcado por (time in millis)
    if (ELECHOUSE_cc1101.CheckRxFifo(100)){
    
    if (ELECHOUSE_cc1101.CheckCRC()){    //Prueba CRC. Si "setCrc(false)" CRC devuelve un OK siempre.
    Serial.print("Rssi: ");
    Serial.println(ELECHOUSE_cc1101.getRssi());
    Serial.print("LQI: ");
    Serial.println(ELECHOUSE_cc1101.getLqi());
    
    int len = ELECHOUSE_cc1101.ReceiveData(buffer);
    buffer[len] = '\0';
    Serial.println((char *) buffer);
    for (int i = 0; i < len; i++){
    Serial.print(buffer[i]);
    Serial.print(",");
    }
    Serial.println();
    }
    }
}

Le CC1101 fonctionnant comme émetteur Le signal RF a un code similaire au précédent.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.