Бездротовий трансівер на оригінальному чипі NRF24L01+ з додатковим підсилювачем, що забезпечують вихідну потужність передавача до 27dBm та чутливість приймача -99dBm. Для під'єднання до мікроконтролера використовується інтерфейс SPI.
Характеристики:
- Чип: Оригінальний NRF24L01+;
- Робоча напруга: 2.5-5.5В;
- Частота: 2400...2525 МГц
- Вихідна потужність: 27dbm (500 мВт);
- Швидкість обміну: 250Кbps, 1 або 2 Mbps;
- Споживання в режимі приймання: 22мА;
- Споживання в режимі передавання: 490 мА;
- Споживання в режимі сну: 1 мкА;
- Розмір плати: 18х33.4 мм.
Приклад під'єднання до Ардуїно:
/*
Arduino - nRF24
GND - GND
+3.3V - VCC
D2 - CE
D3 - CSN
D13 - SCK
D11 - MOSI
D12 - MISO
*/
#include "SPI.h"
#include "printf.h"
#include "nRF24L01.h"
#include "RF24.h"
#define CE_PIN 2
#define CSN_PIN 3
#define SWITCH_PIN 4 // connect switch to D4 and GND
#define TX1_ADDR 0x1122334455L
#define RX1_ADDR TX2_ADDR
#define TX2_ADDR 0x5544332211L
#define RX2_ADDR TX1_ADDR
RF24 radio(CE_PIN, CSN_PIN);
bool rxMode = true;
float payload = 0.0;
void setup() {
Serial.begin(9600);
while (!Serial) {}
pinMode(SWITCH_PIN, INPUT_PULLUP);
rxMode = digitalRead(SWITCH_PIN);
if (rxMode) Serial.println("...Receiver...");
else Serial.println("...Transmitter...");
if (!radio.begin()) {
Serial.println(F("radio hardware is not responding!!"));
while (1) {}
}
radio.setAutoAck(1);
radio.setRetries(5, 15);
radio.enableAckPayload();
radio.setPayloadSize(sizeof(payload));
radio.setChannel(0x60);
radio.setPALevel (RF24_PA_MAX);
radio.setDataRate (RF24_250KBPS);
if (rxMode) {
//receiver
radio.openWritingPipe(TX1_ADDR);
radio.openReadingPipe(1, RX1_ADDR);
radio.startListening();
} else {
//transmitter
radio.openWritingPipe(TX2_ADDR);
radio.openReadingPipe(1, RX2_ADDR);
radio.stopListening();
}
// For debugging
printf_begin(); // needed only once for printing details
radio.printPrettyDetails(); // (larger) function that prints human readable data
}
void loop() {
if (!rxMode) {
// transmitter
unsigned long start_timer = micros();
bool report = radio.write(&payload, sizeof(float));
unsigned long end_timer = micros();
if (report) {
Serial.print(F("Transmission successful! "));
Serial.print(F("Time to transmit = "));
Serial.print(end_timer - start_timer);
Serial.print(F(" us. Sent: "));
Serial.println(payload);
payload += 0.01;
} else {
Serial.println(F("Transmission failed or timed out"));
}
delay(2000);
} else {
// receiver
uint8_t pipe;
if (radio.available(&pipe)) {
uint8_t bytes = radio.getPayloadSize();
radio.read(&payload, bytes);
Serial.print(F("Received "));
Serial.print(bytes);
Serial.print(F(" bytes on pipe "));
Serial.print(pipe);
Serial.print(F(": "));
Serial.println(payload);
}
}
}
Основні атрибути | |
---|---|
Країна виробник | Китай |
Тип | Модуль |
Користувальницькі характеристики | |
Тип модуля | 2,4 ГГц |
- Ціна: 289,80 ₴