Module RF 2.4GHz NRF24L01+ sử dụng chip truyền sóng NRF24L01+ mới nhất từ hãng Nordic với nhiều cải tiến so với chip NRF24L01 cũ về tốc độ truyền, khoảng cách, độ nhạy, bổ sung thêm pipelines, buffers, và tính năng auto-retransmit nhưng vẫn tương thích ngược với phiên bản cũ về cách sử dụng …, NRF24L01+ hoạt động trên dải tần 2.4GHz và sử dụng giao tiếp SPI, khoảng cách tối đa trong điều khiện không vật cản lên đến 100m.
Thông số kỹ thuật:
- Điện thế hoạt động: 1.9~3.6VDC
- Tần số thu phát: 2.4GHz.
- Truyền được 100m trong môi trường mở với 250kbps baud.
- Tốc độ truyền dữ liệu qua sóng: 250kbps to 2Mbps.
- Tự động bắt tay (Auto Acknowledge).
- Tự động truyền lại khi bị lỗi (auto Re-Transmit).
- Multiceiver – 6 Data Pipes.
- Bộ đệm dữ liệu riêng cho từng kênh truyền nhận: 32 Byte separate TX and RX FIFOs.
- Các chân IO đều chịu được điện áp vào 5VDC.
- Lập trình được kênh truyền sóng trong khoảng 2400MHz đến 2525MHz (chọn được 125 kênh).
- Thứ tự chân giao tiếp : GND,VCC,CS,CSN,SCK,MOSI,MISO,IRQ
- Kích thước: 15 x 29mm
Tài liệu tham khảo:
- Code truyen nhan cua Sunfounder.com
- Datasheet NRF24L01+
- Code mẫu và thư viện Arduino
- Hướng dẫn sử dụng.
Sơ đồ các chân trên mạch:
Sơ đồ mạch:
Sơ đồ kết nối:
————————–CODE THAM KHẢO————————-
CODE Phát:
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> //create an RF24 object RF24 radio(9, 8); // CE, CSN //address through which two modules communicate. const byte address[6] = "00001"; void setup() { radio.begin(); //set the address radio.openWritingPipe(address); //Set module as transmitter radio.stopListening(); } void loop() { //Send message to receiver const char text[] = "Hello World"; radio.write(&text, sizeof(text)); delay(1000); }
CODE Thu:
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> //create an RF24 object RF24 radio(9, 8); // CE, CSN //address through which two modules communicate. const byte address[6] = "00001"; void setup() { while (!Serial); Serial.begin(9600); radio.begin(); //set the address radio.openReadingPipe(0, address); //Set module as receiver radio.startListening(); } void loop() { //Read the data if available in buffer if (radio.available()) { char text[32] = {0}; radio.read(&text, sizeof(text)); Serial.println(text); } }