电子说
步骤1:NRF24L01功能和规格
NRF24L01无线收发器模块的功能:
žCost(对于类型版本,费用在1 $到3 $之间)
žRange
žAvailability
ž易于使用
NRF24L01无线收发器模块的类型:
NRF24LO1有两种类型:
žNRF24L01具有天线(在开放空间中大约为公里)
žNRF24L01(无天线)(在开放空间中大约为50米)
NRF24L01无线收发器模块的应用:
ž无线家庭自动化
žDrones远程控制
ž远程传感器,用于温度,压力,警报等
ž机器人控制和监视
NRF24L01无线收发器模块的功耗:
ž此模块的功耗在传输过程中仅为12mA左右
ž模块的电压范围是1.9至3.6V
第2步:观看视频以了解更多详情
第3步:要克服的问题
许多用户遇到NRF24L01模块的问题。这些问题的根源通常来自3.3v Power。由于该模块没有足够的电流能力。这是为什么我建议使用以下任一方式:
ž带有稳压器和旁路电容器的基本模块,以保持稳定性
OR
ž从+ 3.3V到Gnd直接在模块上的3.3 uF至10 uF(MicroFarad)电容器
步骤4:原理图
CE和CSN引脚可以连接到任何数字引脚。然后,在RF24库中,您可以指定使用的引脚。我选择了引脚8和9,因为我将在示例中使用它们。
在我们的例子中,我们将使用Arduino Uno,这就是为什么您应该遵循以下说明(或遵循上图)的原因:
MOSI连接到数字引脚11
MISO连接到数字引脚12
SCK连接到数字引脚13
SS(未使用)
注意:使用NRF24L01时,您必须记住这些数字引脚不可用。
请观看以下视频
步骤5:下载RF24库
在此项目中,我们使用了RF24库,该库可以在Github上下载:RF24库
1。首先,您需要单击“下载ZIP”按钮
2。将zip文件解压缩到您的Arduino主目录中:Linux/Linux上的Arduino/库或Windows中的文档/Arduino/库。
步骤6:发射器Arduino代码
发送器草图将如下所示:
/** Arduino Wireless Communication Tutorial
* Transmitter Code
*
* by Smart Technology, https://makesmarttech.blogspot.com/
*
* Library: TMRh20/RF24,https://tmrh20.github.io/RF24
*/
#include
#include
#include
#define button 7
RF24 radio(8, 9); // CE, CSN
const byte address[6] = “00001”;
boolean buttonState = 0;
void setup() {
pinMode(button, INPUT);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MAX);
radio.stopListening();
}
void loop() {
delay(5);
radio.stopListening();
buttonState = digitalRead(button);
radio.write(&buttonState, sizeof(buttonState));
}
第7步:接收器Arduino代码
接收器草图将如下所示:
/** Arduino Wireless Communication Tutorial
* Receiver Code
*
* by Smart Technology, https://makesmarttech.blogspot.com/
* Library: TMRh20/RF24, https://tmrh20.github.io/RF24
*/
#include
#include
#include
#define led 7
RF24 radio(8, 9); // CE, CSN
const byte address[6] = “00001”;
boolean buttonState = 0;
void setup() {
pinMode(7, OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MAX);
radio.startListening();
}
void loop() {
delay(5);
radio.startListening();
while (!radio.available());
radio.read(&buttonState, sizeof(buttonState));
if (buttonState == HIGH) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
第8步:获得支持
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !