Giới thiệu Module thu phát NRF24L01 2.4GHz anten rời
Mạch thu phát RF NRF24L01 2.4Ghz anten rời (có khếch đại công suất thu phát) sử dụng IC RF chính là NRF24L01 + từ Nordic được thiết kế thêm phần PA (power amplifier) và LNA (Low Noise Amplifier) để có thể tăng công suất và khoảng cách thu phát xa hơn rất nhiều (điều khiện lý tưởng nhà SX công bố có thể truyền được 1000m).
Mạch thu phát RF NRF24L01 được sử dụng cho các ứng dụng truyền nhận dữ liệu từ xa qua sóng RF giữa các mạch xử lý trung tâm như Vi Điều Khiển, Arduino hay Raspberry Pi,…
Có thiết kế nhỏ gọn, xử dụng anten rời cho độ xa và độ ổn định cao.
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 NRF24L01 2.4GHz anten rời
- Đ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 : Rời
- Chuẩn truyền : SPI
- Khoảng cách hoạt động : 0~1000m
- 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 : 15.5mm*41mm
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.