CC1101: Πομποδέκτης RF για χρήση με Arduino

Cc1101

Σίγουρα σε ορισμένα έργα πρέπει να δουλέψετε με ραδιοσυχνότητες με το Arduino σας ή με οποιαδήποτε άλλη πλακέτα ανάπτυξης ή κύκλωμα DIY. Λοιπόν, αν αυτή είναι η περίπτωσή σας, θα πρέπει να ξέρετε τι CC1101 πομποδέκτης ραδιοσυχνοτήτων (RF).. Και αυτό θα προσπαθήσουμε να σας εξηγήσουμε σε αυτό το άρθρο.

Και με αυτό το άλλο ηλεκτρονικό εξάρτημα που εντάσσεται στη λίστα μας, μπορείτε να εργαστείτε με διαφορετικές συχνότητες σήματος…

Τι είναι το RF;

ηλεκτρομαγνητικό φάσμα

με ραδιοσυχνότητα (RF) Αναφερόμαστε σε ένα μέρος του ηλεκτρομαγνητικού φάσματος που χρησιμοποιείται για τη μετάδοση πληροφοριών μέσω του αέρα. Τα κύματα RF είναι ένας τύπος ηλεκτρομαγνητικής ακτινοβολίας και παράγονται κάθε φορά που η ηλεκτρική ενέργεια μεταδίδεται μέσω ενός αγωγού, όπως ενός καλωδίου. Ο όρος RF ισχύει για το λιγότερο ενεργειακό τμήμα του ηλεκτρομαγνητικού φάσματος που σας δείχνω στην προηγούμενη εικόνα και το οποίο βρίσκεται μεταξύ 3 hertz (Hz) και 300 gigahertz (GHz).

Ταχύτητα φωτός = Μήκος κύματος · συχνότητα

Η ταχύτητα του φωτός (περίπου 3.000.000 m/s) δεν αλλάζει ποτέ, οπότε όσο αυξάνεται το μήκος κύματος του σήματος RF, η συχνότητα μειώνεται αναλογικά και αντίστροφα. Ένα σήμα RF σχετικά υψηλής συχνότητας έχει μικρό μήκος κύματος και ένα σήμα RF χαμηλότερης συχνότητας έχει μεγαλύτερο μήκος κύματος. Για τον ίδιο λόγο, τα σήματα χαμηλότερης συχνότητας είναι πιο διεισδυτικά ή μπορούν να καλύψουν μεγαλύτερη κάλυψη. Για παράδειγμα, εάν έχετε WiFi 2.4 Ghz, μπορεί να φτάσει πιο μακριά και να περάσει καλύτερα τα εμπόδια σε σύγκριση με το WiFi 5 Ghz, αν και το τελευταίο επιτρέπει υψηλότερες ταχύτητες μετάδοσης...

Το hertz είναι η μονάδα μέτρησης της συχνότητας των κυμάτων και αντιστοιχεί σε έναν κύκλο ανά δευτερόλεπτο. Όσο μεγαλύτερη είναι η συχνότητα του κύματος, τόσο μικρότερο είναι το μήκος κύματός του. Γι' αυτό η ακτινοβολία γάμμα είναι πολύ διεισδυτική, αφού το μήκος κύματος είναι πολύ μικρό και η συχνότητά της είναι πολύ υψηλή, άρα είναι πολύ ενεργητική.

Τα ηλεκτρομαγνητικά κύματα από αυτή την περιοχή του φάσματος μπορούν να μεταδοθούν εφαρμόζοντας εναλλασσόμενο ρεύμα που προέρχεται από μια γεννήτρια σε μια κεραία. ο κύματα ραδιοσυχνοτήτων, όντας ηλεκτρομαγνητικά κύματα, ταξιδεύουν με την ταχύτητα του φωτός. Στην πιο βασική του μορφή, ένα μεταβαλλόμενο ηλεκτρικό σήμα σε μια κεραία μπορεί να παράγει ηλεκτρομαγνητικές ταλαντώσεις (δηλαδή κύματα RF). Αυτά μπορεί να είναι ακούσια (που ενδέχεται να προκαλούν παρεμβολές σε άλλες συσκευές) ή σκόπιμα: προσεκτικά διαμορφωμένα σήματα που μπορούν να λάβουν άλλες κεραίες και να ερμηνευθούν ως χρήσιμες πληροφορίες.

Μέσα σε αυτό το εύρος ραδιοσυχνοτήτων, μπορούμε να μεταδώσουμε δεδομένα με υψηλή ταχύτητα, για παράδειγμα, όπως γίνεται στο Επικοινωνίες Wi-Fi και κινητά τηλέφωνα, καθώς και παραδοσιακό ραδιόφωνο AM και FM.

Τι είναι ο πομποδέκτης;

Μετατροπέας RF

Ο πομποδέκτης είναι μια συσκευή που συνδυάζει τις δυνατότητες ενός πομπού και ενός δέκτη σε κοινά κυκλώματα. Αυτό σημαίνει ότι μπορεί να στέλνει και να λαμβάνει σήματα, χωρίς να χρειάζεται να έχει πομπό από τη μια και δέκτη από την άλλη. Κάτι αρκετά πρακτικό για πολλά έργα DIY.

Οι πομποδέκτες μπορούν να είναι δύο γενικοί τύποι: full duplex και half duplex. Σε έναν πομποδέκτη full duplex, η συσκευή μπορεί να εκπέμπει και να λαμβάνει ταυτόχρονα. Ένα συνηθισμένο παράδειγμα ενός πομποδέκτη πλήρους διπλής όψης είναι ένα κινητό τηλέφωνο. Από την άλλη πλευρά, ένας πομποδέκτης ημι-αμφίδρομης λειτουργίας κλείνει το ένα μέρος ενώ το άλλο εκπέμπει.

Οι πομποδέκτες είναι οι ακρογωνιαίος λίθος της ασύρματης επικοινωνίας και χρησιμοποιούνται σε ποικίλες εφαρμογές, από κινητά τηλέφωνα μέχρι δορυφόρους επικοινωνιών, μέσω πολλών άλλων δικτύων και τρόπων μετάδοσης πληροφοριών, όπως ραδιόφωνο, τηλεόραση κ.λπ.

Εφαρμογές πομποδέκτη

Ένας πομποδέκτης ραδιοσυχνοτήτων (RF) είναι α πολυλειτουργική συσκευή που μπορεί να έχει μεγάλο αριθμό χρήσεων. Για παράδειγμα, όπως είπα προηγουμένως, η παρουσία του είναι απαραίτητη σε διάφορες εφαρμογές που απαιτούν ασύρματη επικοινωνία. Στον τομέα των κινητών τηλεπικοινωνιών, οι πομποδέκτες χρησιμοποιούνται στα κινητά τηλέφωνα για τη μετάδοση και λήψη σημάτων. Επιπλέον, είναι απαραίτητες σε τεχνολογίες όπως το WiFi και το Bluetooth, που αναπτύσσονται σε συσκευές όπως δρομολογητές, υπολογιστές και συσκευές Internet of Things (IoT), οι οποίες εξαρτώνται από την ασύρματη επικοινωνία για τη λειτουργία τους.

Στον επαγγελματικό τομέα, οι πομποδέκτες RF είναι βασικοί στα συστήματα ασφαλείας. αμφίδρομο ραδιόφωνο, όπως αμφίδρομα ραδιόφωνα που χρησιμοποιούνται σε επαγγελματικές εφαρμογές, υπηρεσίες ασφάλειας και έκτακτης ανάγκης. Αυτές οι συσκευές βρίσκουν επίσης εφαρμογή σε συστήματα ανίχνευσης, όπως ραντάρ που χρησιμοποιούνται για ανίχνευση αντικειμένων, πλοήγηση και έλεγχο εναέριας κυκλοφορίας, καθώς και σε συστήματα σόναρ για υποβρύχιες εφαρμογές.

La ραδιοφωνικός, Τόσο για το ραδιόφωνο όσο και για την τηλεόραση, εξαρτάται από πομποδέκτες RF για τη μετάδοση σημάτων μέσω διαφορετικών μέσων, είτε επίγειων είτε δορυφορικών. Επιπλέον, στον τομέα του διαστήματος, οι πομποδέκτες είναι ζωτικής σημασίας για την επικοινωνία μεταξύ δορυφόρων και επίγειων σταθμών στα συστήματα δορυφορικών επικοινωνιών.

En εφαρμογές τηλεχειρισμού και τηλεμετρίας, οι πομποδέκτες RF χρησιμοποιούνται για μετάδοση δεδομένων από ηλεκτρονικές συσκευές, drones ή μη επανδρωμένα εναέρια οχήματα (UAV). Είναι επίσης απαραίτητα σε συστήματα πλοήγησης, όπως οι δέκτες GPS, όπου συμβάλλουν στον προσδιορισμό θέσης και στην πλοήγηση. Συνοπτικά, η ευελιξία των πομποδεκτών ραδιοσυχνοτήτων τους καθιστά βασικά στοιχεία σε μια ποικιλία σύγχρονων τεχνολογιών που βασίζονται στην ασύρματη επικοινωνία και τη μετάδοση δεδομένων.

Προφανώς, υπάρχουν μερικές από αυτές τις εφαρμογές που δεν είναι στην εμβέλεια του CC1101, καθώς έχει τους περιορισμούς του και λειτουργεί σε ορισμένες περιοχές συχνοτήτων. Ωστόσο, θα πρέπει να γνωρίζετε ότι υπάρχουν περισσότερες συσκευές στην αγορά όπως αυτός ο πομποδέκτης για να λειτουργούν με άλλες συχνότητες, αποστάσεις κ.λπ.

Τι είναι το CC1101;

Cc1101

El CC1101 είναι ένας πομποδέκτης ραδιοσυχνοτήτων (RF) που έχει σχεδιαστεί για να λειτουργεί σε συχνότητες κάτω του 1 GHz. Αυτή η συσκευή μπορεί να χρησιμοποιηθεί σε συνδυασμό με έναν επεξεργαστή όπως το Arduino για αποστολή ή λήψη δεδομένων μέσω ραδιοσυχνότητας. Το CC1101 μπορεί να λειτουργήσει σε οποιαδήποτε συχνότητα στις ακόλουθες ζώνες:

  • 300 έως 348 MHz
  • 387 έως 464 MHz
  • 779 έως 928 MHz

Αυτά τα χαρακτηριστικά κάνουν το CC1101 μια επιλογή Ευέλικτο για μια ποικιλία έργων που απαιτούν ασύρματη επικοινωνία, συμπεριλαμβανομένων των έργων Arduino και ESP8266/ESP321, καθώς και άλλων ηλεκτρονικών έργων στον τομέα των τηλεπικοινωνιών.

Επιπλέον, το CC1101 Σας επιτρέπει να προσαρμόσετε τον ρυθμό μετάδοσης bit για διαφορετικές χρήσεις, επιτρέποντας υψηλότερες ταχύτητες μετάδοσης, από 0.6 Kbps έως 600 Kbps και υποστηρίζει επίσης διαμορφώσεις 2-FSK, GFSK και MSK3.

Αν σας ενδιαφέρει, μπορείτε να το βρείτε σε εξειδικευμένα καταστήματα ηλεκτρονικών ειδών, ή και σε διαδικτυακές πλατφόρμες πωλήσεων όπως το Amazon, το Aliexpress και το eBay. Εδώ έχετε ένα αγοράστε πρόταση:

Η ισχύς εξόδου είναι επίσης προγραμματιζόμενη, για όλες τις συχνότητες που υποστηρίζουν έως +10 dBm. Αυτός η εμβέλεια είναι μέχρι 100-150 μέτρα, ανάλογα με τη συχνότητα. Και για τη λειτουργία του χρειάζεται τάση 1.8 έως 3.6V. Η επικοινωνία δεδομένων πραγματοποιείται μέσω του διαύλου SPI, επομένως είναι εύκολο να το χρησιμοποιήσετε μαζί με ένα MCU ή πλακέτες όπως το Arduino...

Χρησιμοποιώντας το CC1101 με το Arduino

Arduino IDE, τύποι δεδομένων, προγραμματισμός

Τώρα, μόλις καταλάβετε τι είναι το CC1101, αν θέλετε να το χρησιμοποιήσετε με το Arduino, είναι εύκολο να το κάνετε. Για να γίνει αυτό, το πρώτο πράγμα είναι συνδέστε σωστά τη συσκευή ή τη μονάδα RF στην πλακέτα ανάπτυξης. Προσοχή, καθώς το CC1101 δεν ανέχεται τάσεις 5v και μπορεί να το καταστρέψετε, επομένως δεν θα συνδεθεί στην πρίζα 5v του Arduino όπως κάναμε με πολλές άλλες συσκευές. Η σύνδεση για να λειτουργήσει σωστά είναι η εξής:

  • Vcc: θα συνδεθεί στο Arduino 3v3 για να έχει αυτή την πρίζα, αν δεν την έχει και έχεις μόνο 5v, τότε θα πρέπει να τη συνδέσεις σε μπαταρία ή εξωτερική πηγή που μπορεί να τροφοδοτήσει αυτήν την τάση ή το CC1101 θα να καταστραφεί.
  • SI: Θα συνδεθεί με το Arduino SCK, το οποίο μπορεί να αλλάξει pin ανάλογα με το μοντέλο, αλλά που είναι γενικά D13.
  • SO: Σε αυτή την περίπτωση θα συνδεθεί στο GO2, που είναι συνήθως η ακίδα D12 του Arduino.
  • CSN: πρέπει να το μεταφέρετε στον ακροδέκτη GO0, που είναι D9 του Arduino.
  • GND: και τέλος, το GND θα συνδεθεί στο GND του Arduino ή στο τροφοδοτικό σας.

Μόλις γίνει αυτό, ήρθε η ώρα να γράψετε τον κώδικα για να τον δοκιμάσετε στο Arduino IDE. Για να το κάνετε αυτό, εδώ σας δείχνω ένα πολύ βασικό παράδειγμα, το οποίο όμως μπορείτε να τροποποιήσετε σύμφωνα με τις προτιμήσεις σας. Σε αυτήν την περίπτωση το CC1101 θα λειτουργεί ως δέκτης Σήμα RF:

Σημειώστε ότι θα πρέπει να εγκαταστήσετε μια βιβλιοθήκη στο Arduino IDE για να μπορέσετε να λειτουργήσετε, αυτή η βιβλιοθήκη είναι η ELECHOUSE για το CC1101 που μπορείτε να κατεβάσετε από εδώ.
#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();
    }
    }
}

Το CC1101 λειτουργεί ως πομπός Το σήμα RF έχει κωδικό παρόμοιο με τον προηγούμενο.


Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.