NRF24L01: modul untuk komunikasi tanpa wayar untuk Arduino

NRF24L01

Pasti anda perlu membuat projek DIY menggunakan Arduino atau elemen lain dan anda harus memanfaatkannya komunikasi tanpa wayar. Dan itu berlaku dengan memiliki beberapa jenis modul atau peranti yang membolehkan anda menghantar menggunakan IR, RF, Bluetooth, WiFi, dll. Maksudnya, anda mesti jelas mengenai keperluan untuk mengetahui jenis isyarat apa yang paling sesuai untuk anda.

Dalam kes ini kita mempunyai panduan mengenai NRF24L01 untuk anda. Ia adalah cip komunikasi tanpa wayar yang memberi anda apa yang anda perlukan untuk menghantar dan menerima isyarat. Jenis isyarat yang dikendalikannya adalah frekuensi RF atau radio, iaitu gelombang panjang gelombang yang besar, dan oleh itu tenaga rendah, yang dalam frekuensi elektromagnetik berada di antara frekuensi 3 Hz dan 300 Ghz.

Apakah NRF24L01 itu?

NRF24L01

El NRF24L01 adalah cip yang dihasilkan oleh Nordic Semiconductor. Jika ia Tiada produk dijumpai., cip dipasang pada PCB kecil dengan beberapa elemen tambahan yang anda perlukan, dan oleh itu menyusun modul. Anda boleh menggunakannya dalam beberapa cara, termasuk menyambungkannya ke Adruino kerana saya akan tunjukkan kemudian.

NRF24L01, seperti yang dapat disimpulkan dari namanya, adalah alat komunikasi tanpa wayar yang menggunakan frekuensi RF atau radio dengan kemampuan untuk beroperasi di 2,4Ghz - 2,5 Ghz. Itulah band percuma untuk penggunaan percuma. Anda sudah tahu bahawa kumpulan muzik lain disediakan dan anda perlu membayar jika anda ingin menggunakannya untuk menghantar maklumat. Di samping itu, ia menggabungkan pemancar + penerima.

Secara khusus, jalur frekuensi yang dapat anda gunakan adalah dari 2.400 Mhz hingga 2.525Mhz, dengan kemungkinan memilih antara Canang 125 dengan ruang 1Mhz di antara mereka. Walau bagaimanapun, tidak digalakkan menggunakan frekuensi 2.4Ghz jika anda menggunakan rangkaian WiFi, drone yang berfungsi dengan frekuensi ini, dll., Atau akan ada gangguan. Itulah sebabnya lebih baik digunakan dari 2.501Mhz dan seterusnya.

Mengenai ciri-cirinya, berfungsi dari 1.9 hingga 3.6v, jadi akan mudah bagi anda untuk menghidupkannya dengan papan Arduino itu sendiri dengan sambungan 3.3, menggunakan bateri, dan bahkan dengan bekalan kuasa yang mempunyai voltan itu. Selain itu, anda dapat mengkonfigurasi kecepatan transmisi antara 250 Kbps, 1Mbps dan hingga 2Mbps.

Cip pelepasan dan penerimaan boleh berfungsi serentak dengan sehingga 6 sambungan pelbagai peranti. Dengan itu anda boleh menyiarkan atau menerima dari pelbagai sudut tanpa masalah. Dan jika anda prihatin terhadap ketahanan atau kebolehpercayaan komunikasi, cip itu sendiri mempunyai litar logik untuk membetulkan kesilapan data dan meneruskan maklumat jika perlu. Oleh itu, ia membebaskan pemproses dari tugas ini.

Untuk mengawalnya anda boleh menggunakan bas SPI, jadi kawalannya dengan Arduino sangat mudah. Sebagai tambahan, pin data NRF24L01 menyokong sehingga 5v tanpa masalah. Penggunaan tenaga di Stand By agak rendah, jadi tidak menjadi elemen yang perlu dikhawatirkan, dan ketika beroperasi, ia bukanlah salah satu yang paling mahal, kerana hanya memerlukan 15mA untuk mengirim dan menerima data.

Di pasar anda akan menemui beberapa modul berbeza yang memasang cip NRF24L01, mereka hanya berubah pada elemen tambahan yang mereka ada atau dalam beberapa perincian. Contohnya dalam jenis antena. Beberapa mempunyai antena yang dicetak pada PCB dalam bentuk zigzag dengan jarak sekitar 20-30 meter. Yang lain mengakui antena luaran yang agak kuat dengan penguat untuk jarak dari 700 meter hingga 1 km.

Walau bagaimanapun, skop sebenarnya dibatasi oleh beberapa faktor, seperti halangan jalan raya, bunyi bising atau gangguan dari elemen atau isyarat lain yang ada, kelajuan penghantaran, voltan bekalan (voltan lebih tinggi, jarak lebih besar), dll Sebagai contoh, jika anda ingin menghantar pada kelajuan maksimum 2Mbps yang akan mempunyai penalti yang besar di kejauhan, yang maksimum hanya 2 atau 3 meter. Pada kelajuan yang lebih rendah anda mungkin dapat menaiki jarak itu.

ESP8266
artikel berkaitan:
ESP8266: modul WIFI untuk Arduino

Apa yang perlu anda ketahui sebelum membelinya?

Antena NRF40L01

El NRF24L01 adalah cip yang sangat murah yang boleh digunakan dalam banyak projek. Sebagai contoh, jika anda tidak mempunyai antena luaran, anda boleh membelinya dengan harga sehingga € 0.65, dengan model antena luaran sedikit lebih mahal daripada yang satu ini, tetapi masih sangat murah dan biasanya tidak melebihi € 1.7.

Sekiranya anda tidak mempunyai elemen pelepasan atau penerimaan yang lain, anda sudah tahu bahawa anda mesti membeli dua modul NRF24L01, satu untuk digunakan di satu pihak dan yang lain di sisi lain tempat anda ingin menghantar. Mereka berdua akan bertindak seperti penghantar atau penerima seperti yang anda suka.

Pinout dan pemasangan NRF24L01

pin NRF40L01

Bagi perhimpunan, ia cukup mudah. The NRF24L01 mempunyai 8 pin, oleh itu pinoutnya sangat mudah untuk memahami bagaimana anda dapat melihat dalam gambar ini bahawa saya meninggalkan anda. Di sebelah kanan anda dapat melihat gambarajah pin papan Arduino UNO dan bagaimana setiap pin modul dihubungkan dengannya.

Seperti yang dapat anda simpulkan, pinggan NRF24L01 dikuasakan menggunakan pin GND dan 3.3v dari Arduino. Ingat untuk tidak melakukannya dengan isyarat 5v atau anda akan merosakkan modul.

Integrasi dengan Arduino

2 NRF24L01 dengan Arduino (litar)

Setelah anda mengetahui apa itu NRF24L01 dan bagaimana ia dapat disambungkan dan dihidupkan, selain jumlah projek yang boleh anda lakukan dengan beberapa peranti murah ini, perkara seterusnya adalah contoh pengaturcaraan jadi anda boleh mula bereksperimen dengan Arduino IDE anda. Ingat bahawa format data yang dapat anda hantar dapat diubah dalam kod sumber.

l298n
artikel berkaitan:
L298N: modul untuk mengawal motor untuk Arduino

Anda boleh memilih untuk mengirim dan menerima rentetan, bilangan bulat, data titik terapung, dll. Saya mengesyorkan anda panduan kami mengenai pengaturcaraan Arduino jika anda mula. Dengan itu anda boleh membuat projek pertama anda. Dan sebagai contoh konkrit untuk NRF24L01, di sini saya meninggalkan anda kod yang diperlukan untuk rentetan.

Kod yang mesti anda tulis di Arduino IDE dan atur papan Arduino yang disambungkan ke NRF24L01 yang akan anda tetapkan sebagai pemancar:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
 
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio(pinCE, pinCSN);
 
// Single radio pipe address for the 2 nodes to communicate.
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
char data[16]="Aquí tu mensaje" ;
 
void setup(void)
{
   radio.begin();
   radio.openWritingPipe(pipe);
}
 
void loop(void)
{
   radio.write(data, sizeof data);
   delay(1000);
}

Berikut adalah kod yang harus anda masukkan di Arduino IDE dan catat di papan yang anda telah sambungkan ke NRF24L01 khusus sebagai reseptor:

#sertakan <nRF24L01.h>
#sertakan <RF24.h>
#sertakan <RF24_config.h>
#sertakan <SPI.h>

const int pinCE = 9;
const int pinCSN = 10;
Radio RF24 (pinCE, pinCSN);

// Alamat paip radio tunggal untuk 2 nod untuk berkomunikasi.
const uint64_t paip = 0xE8E8F0F0E1LL;

data char [16];

persediaan kosong (kekosongan)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, paip);
radio.startListening ();
}

gelung kosong (kekosongan)
{
jika (radio. tersedia ())
{
int done = radio.read (data, ukuran data);
Serial.println (data);
}
}

Dengan itu anda akan mempunyai semua yang anda perlukan dan anda boleh menghantar perkataan atau rentetan teks dan melihat bagaimana yang lain menerimanya. Gunakan dua komputer yang disambungkan oleh USB ke papan Arduino untuk menggunakan konsol sebagai alat untuk melihat data. Pisahkan jarak yang bijaksana mengikut modul yang anda miliki atau konfigurasi yang telah anda berikan dan anda akan mula melihat pada skrin komputer lain watak yang anda masukkan dalam kod pertama ...


Komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Stefan kata

    Hello Ishak
    Saya mahu menyelesaikan projek dengan arduino, rasberry atau yang lain.
    Bolehkah anda memberikan kenalan e-mel untuk menerangkan?
    Lombong - a01b02@abv.bg
    Terima kasih