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.
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); }
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:
Reviews
There are no reviews yet.