Giới thiệu Module thu phát NRF24L01 2.4GHz
Thu phát NRF24L01 sử dụng bộ truyền nhận 2.4GHz của hãng Nordic Semiconductor. Có thêm vào đó một bộ khuyếch đại công suất PA (Power Amplifier) giúp nâng cao khả năng truyền xa hơn và hoạt động ổn định trong một môi trường chuẩn công nghiệp.
Hình thành 2 đường truyền nhận với bộ khuyếch đại công suất chuyên nghiệp giúp cho quá trình truyền thông tăng lên rất nhiều. Khoảng cách truyền dự liệu lên đến 1000m với tốc độ truyền 250Kbps ở khu vực thông thoáng không có vật cản.
Module 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.
Ngoài ra còn có : Lora – NRF24L01,…
Các truyền không dây: HC-12 / RF / RFID,…
Anten đi kèm: Anten 433MHz

Chức năng các chân
- 3.3V : Cấp nguồn 3.3V.
- RST : Reset chuẩn SPI.
- GND : Cấp nguồn 0V
- IRQ : Không kết nối.
- MISO : Truyền SPI
- MOSI : Truyền SPI
- SCK : Tạo xung SPI
- CE : Cho phép SPI
- CSN : Cho phép SPI

Sơ đồ nguyên lý

Thông số kỹ thuật Module thu phát NRF24L01 2.4GHz
- Điện áp hoạt động : 3.3V
- Dòng điện hoạt động : 45mA
- Dòng điện chờ : 80uA
- Công suất : 150mW
- Tần số truyền : 2.4GHz
- Anten dài : Tích hợp trên module
- Chuẩn truyền : SPI
- Khoảng cách hoạt động : 0~100m
- Tốc độ truyền: 250Kbps – 2Mbps
- Nhiệt độ hoạt động : -10°C – 60°C
- Số kênh : 128
- Số chân : 10
- Loại : Module
- Kích thước : 15mm*30mm
Chương trình Test
Nguyên lý kết nối

Chương trình
Thư viện : Tải nRF24L01.h Cài trực tiếp trên phần mềm Arduino IDE
Thư viện : Tải RF24.h Cài trực tiếp trên phần mềm Arduino IDE
Chương trình bên phát
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00001"; //Byte of array representing the address. This is the address where we will send the data. This should be same on the receiving side.
int button_pin = 2;
boolean button_state = 0;
void setup() {
pinMode(button_pin, INPUT);
radio.begin(); //Starting the Wireless communication
radio.openWritingPipe(address); //Setting the address where we will send the data
radio.setPALevel(RF24_PA_MIN); //You can set it as minimum or maximum depending on the distance between the transmitter and receiver.
radio.stopListening(); //This sets the module as transmitter
}
void loop()
{
button_state = digitalRead(button_pin);
if(button_state == HIGH)
{
const char text[] = "Your Button State is HIGH";
radio.write(&text, sizeof(text)); //Sending the message to receiver
}
else
{
const char text[] = "Your Button State is LOW";
radio.write(&text, sizeof(text)); //Sending the message to receiver
}
radio.write(&button_state, sizeof(button_state)); //Sending the message to receiver
delay(1000);
}
Chương trình bên thu
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00001";
boolean button_state = 0;
int led_pin = 3;
void setup() {
pinMode(6, OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address); //Setting the address at which we will receive the data
radio.setPALevel(RF24_PA_MIN); //You can set this as minimum or maximum depending on the distance between the transmitter and receiver.
radio.startListening(); //This sets the module as receiver
}
void loop()
{
if (radio.available()) //Looking for the data.
{
char text[32] = ""; //Saving the incoming data
radio.read(&text, sizeof(text)); //Reading the data
radio.read(&button_state, sizeof(button_state)); //Reading the data
if(button_state == HIGH)
{
digitalWrite(6, HIGH);
Serial.println(text);
}
else
{
digitalWrite(6, LOW);
Serial.println(text);}
}
delay(5);
}
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:

Bàn phím cứng keypad 4x4 , Ma trận phím matrix 4x4
ANTEN 433Mhz 7dBi KIM TRONG 17CM, ANTEN LORA 433MHz
Điện trở 220R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Màn hình LCD1602 I2C Xanh dương, Màn hình hiển thị Text 


















Đánh giá
Chưa có đánh giá nào.