NRF24L01: mô-đun giao tiếp không dây cho Arduino

NRF24L01

Chắc chắn bạn cần tạo một dự án DIY bằng Arduino hoặc bất kỳ phần tử nào khác và bạn phải tận dụng giao tiếp không dây. Và điều đó xảy ra bằng cách có một số loại mô-đun hoặc thiết bị cho phép bạn truyền bằng IR, RF, Bluetooth, WiFi, v.v. Đó là, bạn phải rõ ràng về nhu cầu để biết loại tín hiệu nào sẽ phù hợp nhất trong trường hợp của bạn.

Trong trường hợp này, chúng tôi có một hướng dẫn về NRF24L01 cho bạn. Nó là một chip giao tiếp không dây sẽ cung cấp cho bạn những gì bạn cần để gửi và nhận tín hiệu. Loại tín hiệu mà nó xử lý là RF hoặc tần số vô tuyến, tức là sóng có bước sóng lớn và do đó năng lượng thấp, trong phổ điện từ có tần số từ 3 Hz đến 300 Ghz.

NRF24L01 là gì?

NRF24L01

El NRF24L01 là chip được sản xuất bởi Nordic Semiconductor. Nếu nó Không tìm thấy sản phẩm., con chip được gắn trên một PCB nhỏ với một số yếu tố phụ trợ mà bạn cần, và do đó tạo ra một mô-đun. Bạn có thể sử dụng nó theo một số cách, bao gồm cả kết nối nó với Adruino như tôi sẽ chỉ cho bạn ở phần sau.

NRF24L01, như có thể được suy luận từ tên của nó, là một thiết bị liên lạc không dây sử dụng tần số vô tuyến hoặc RF với khả năng hoạt động ở 2,4Ghz - 2,5 Ghz. Đó là băng tần miễn phí để sử dụng miễn phí. Bạn đã biết rằng các băng tần khác được đặt trước và bạn phải trả tiền nếu muốn sử dụng chúng để truyền thông tin. Ngoài ra, nó còn tích hợp một bộ phát + một bộ thu.

Cụ thể, dải tần mà bạn có thể sử dụng là từ 2.400 Mhz đến 2.525Mhz, với khả năng lựa chọn giữa Kênh 125 với khoảng cách 1Mhz giữa chúng. Tuy nhiên, không nên sử dụng tần số 2.4Ghz nếu bạn đang sử dụng mạng WiFi, máy bay không người lái hoạt động với tần số này, v.v., nếu không sẽ bị nhiễu. Đó là lý do tại sao nó được ưu tiên sử dụng từ 2.501Mhz trở đi.

Về đặc điểm của nó, hoạt động từ 1.9 đến 3.6v, vì vậy bạn sẽ dễ dàng cấp nguồn cho nó bằng chính bảng Arduino có kết nối 3.3, sử dụng pin và thậm chí với nguồn điện có điện áp đó. Ngoài ra, bạn có thể cấu hình tốc độ truyền từ 250 Kbps, 1Mbps đến 2Mbps.

Con chip trong khí thải và tiếp nhận có thể hoạt động đồng thời với lên đến 6 kết nối của các thiết bị khác nhau. Với điều đó, bạn có thể phát hoặc nhận từ các điểm khác nhau mà không gặp bất kỳ vấn đề gì. Và nếu bạn lo lắng về độ mạnh mẽ hoặc độ tin cậy của giao tiếp, bản thân chip có mạch logic để sửa lỗi dữ liệu và chuyển tiếp thông tin nếu cần thiết. Do đó, nó giải phóng bộ xử lý khỏi tác vụ này.

Để kiểm soát nó, bạn có thể sử dụng xe buýt SPI, vì vậy việc điều khiển nó với Arduino rất đơn giản. Ngoài ra, các chân dữ liệu của NRF24L01 hỗ trợ lên đến 5v mà không gặp vấn đề gì. Mức tiêu thụ điện năng ở chế độ Stand By khá thấp, vì vậy nó sẽ không phải là một yếu tố đáng lo ngại và khi nó hoạt động, nó không phải là một trong những mức tiêu thụ điện năng cao nhất, vì nó chỉ cần 15mA để gửi và nhận dữ liệu.

Trên thị trường, bạn sẽ tìm thấy một số các mô-đun khác nhau gắn chip NRF24L01, chúng chỉ thay đổi ở các yếu tố phụ trợ mà chúng có hoặc ở một số chi tiết. Ví dụ trong loại ăng-ten. Một số có ăng-ten in trên PCB theo hình zic zắc với phạm vi khoảng 20-30 mét. Những người khác thừa nhận một ăng-ten bên ngoài có phần mạnh mẽ hơn với bộ khuếch đại để đi từ 700 mét đến 1 km.

Tuy nhiên, phạm vi thực tế bị giới hạn bởi một số yếu tố, chẳng hạn như chướng ngại vật trên đường, tiếng ồn hoặc nhiễu từ các yếu tố hoặc tín hiệu khác hiện diện, tốc độ truyền, điện áp cung cấp (điện áp cao hơn, khoảng cách lớn hơn), v.v. Ví dụ, nếu bạn muốn truyền ở tốc độ tối đa 2Mbps, khoảng cách sẽ bị phạt rất lớn, chỉ tối đa là 2 hoặc 3 mét. Ở tốc độ thấp hơn, bạn có thể leo lên khoảng cách đó.

Đặc biệt
Bài viết liên quan:
ESP8266: mô-đun WIFI cho Arduino

Bạn cần biết những gì trước khi mua nó?

Ăng ten NRF40L01

El NRF24L01 là một con chip rất rẻ có thể được sử dụng trong vô số dự án. Ví dụ, nếu bạn không có ăng-ten bên ngoài, bạn có thể mua nó với giá lên đến € 0.65, với mẫu ăng-ten bên ngoài đắt hơn một chút so với loại này nhưng nó vẫn rất rẻ và thường không vượt quá € 1.7.

Nếu bạn không có phần tử phát hoặc thu khác, bạn đã biết rằng bạn phải mua hai mô-đun NRF24L01, một để sử dụng ở một bên và một ở phía bên kia của nơi bạn muốn truyền. Cả hai sẽ hành động như người gửi hoặc người nhận như bạn muốn.

Sơ đồ chân và lắp của NRF24L01

sơ đồ chân NRF40L01

Về phần lắp ráp thì khá đơn giản. Các NRF24L01 có 8 chân, do đó sơ đồ chân của nó rất dễ dàng để hiểu làm thế nào bạn có thể nhìn thấy trong hình ảnh này mà tôi để lại cho bạn. Ở bên phải, bạn có thể thấy sơ đồ chân của bảng Arduino UNO và cách mỗi chân của mô-đun sẽ được kết nối với nó.

Như bạn có thể suy luận, tấm NRF24L01 được cấp nguồn bằng chân GND và chân 3.3v từ Arduino. Hãy nhớ không làm điều đó với tín hiệu 5v hoặc bạn sẽ làm hỏng mô-đun.

Tích hợp với Arduino

2 NRF24L01 với Arduino (mạch)

Khi bạn biết NRF24L01 là gì và cách nó có thể được kết nối và cấp nguồn, ngoài số lượng dự án bạn có thể thực hiện với một vài thiết bị giá rẻ này, điều tiếp theo là hiển thị một ví dụ lập trình vì vậy bạn có thể bắt đầu thử nghiệm với Arduino IDE của mình. Hãy nhớ rằng định dạng dữ liệu mà bạn có thể truyền có thể được sửa đổi trong mã nguồn.

L298n
Bài viết liên quan:
L298N: mô-đun điều khiển động cơ cho Arduino

Bạn có thể chọn gửi và nhận một chuỗi, một số nguyên, một dữ liệu dấu phẩy động, v.v. Tôi giới thiệu bạn hướng dẫn của chúng tôi về lập trình Arduino nếu bạn đang bắt đầu. Với nó, bạn có thể tạo các dự án đầu tiên của mình. Và như một ví dụ cụ thể cho NRF24L01, ở đây tôi để bạn các mã cần thiết cho một chuỗi.

Mã mà bạn phải viết trong Arduino IDE và lập trình bảng Arduino được kết nối với NRF24L01 mà bạn sẽ gán là hệ thống điều khiển:

#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);
}

Đây là mã mà bạn phải nhập vào Arduino IDE và ghi trên bảng rằng bạn đã kết nối với NRF24L01 chuyên dụng dưới dạng thu:

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

const int pinCE = 9;
const int pinCSN = 10;
Đài RF24 (pinCE, pinCSN);

// Địa chỉ đường ống vô tuyến đơn để 2 nút giao tiếp.
const uint64_t ống = 0xE8E8F0F0E1LL;

dữ liệu char [16];

thiết lập void (void)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, ống dẫn);
radio.startListening ();
}

vòng lặp void (void)
{
if (radio.available ())
{
int done = radio.read (dữ liệu, dữ liệu sizeof);
Serial.println (dữ liệu);
}
}

Với bạn sẽ có mọi thứ bạn cần và bạn có thể thử gửi các từ hoặc chuỗi văn bản của một người và xem người kia nhận chúng như thế nào. Sử dụng hai máy tính được kết nối bằng USB với bảng Arduino để sử dụng bảng điều khiển làm phương tiện để xem dữ liệu. Tách chúng một khoảng cách thận trọng theo mô-đun bạn có hoặc cấu hình bạn đã cung cấp và bạn sẽ bắt đầu nhìn thấy trên màn hình của máy tính khác các ký tự mà bạn đã nhập trong mã đầu tiên ...


Một bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

      Stefan dijo

    Xin chào Isaac
    Tôi muốn hoàn thành một dự án với arduino, rasberry hoặc thứ gì đó khác.
    Bạn có thể cung cấp cho một liên hệ email để giải thích?
    Một cái mỏ - a01b02@abv.bg
    Cảm ơn