Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino nrf24l01变速箱问题_Arduino_Arduino Uno - Fatal编程技术网

Arduino nrf24l01变速箱问题

Arduino nrf24l01变速箱问题,arduino,arduino-uno,Arduino,Arduino Uno,在我试图解决我的问题时,我已经阅读了很多关于nrf24l01和Arduinos的问题和答案。我相当肯定还没有人有这个问题,但我可能错了。我的问题是: 如果我将发送代码上传到UNO,将接收代码上传到NANO,我会不断收到错误。没有任何东西被传播。但是,如果我做相反的事情,我将发送代码上传到NANO,将接收代码上传到UNO,一切正常。。。我已经有好几天没有任何想法了,我想从其他人那里得到意见,因为我没有想法了 我尝试了不同的nrf24l01模块(我得到了大约20个),看看是否有一个是油炸的。还是一样

在我试图解决我的问题时,我已经阅读了很多关于nrf24l01和Arduinos的问题和答案。我相当肯定还没有人有这个问题,但我可能错了。我的问题是:

如果我将发送代码上传到UNO,将接收代码上传到NANO,我会不断收到错误。没有任何东西被传播。但是,如果我做相反的事情,我将发送代码上传到NANO,将接收代码上传到UNO,一切正常。。。我已经有好几天没有任何想法了,我想从其他人那里得到意见,因为我没有想法了

我尝试了不同的nrf24l01模块(我得到了大约20个),看看是否有一个是油炸的。还是一样。尝试更改为不同的引脚。。。还是一样。更改了代码以使其变得越来越简单。。还是一样。也许扫描比发送包裹需要更多的能量,而Nano的3.3v还不够?我非常怀疑

我真的很好奇你们能不能搞清楚这个。我想我提供了很多信息。如果你需要更多,请随意询问

以下是我的设置:

Arduino Nano:

下面是
printDetails()
函数的日志:

STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0

RX_ADDR_P0-1 = 0xb01dfacece 0xb01dfacece

RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6

TX_ADDR = 0xb01dfacece

RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00

EN_AA = 0x3f

EN_RXADDR = 0x02

RF_CH = 0x73

RF_SETUP = 0x07

CONFIG = 0x0e

DYNPD/FEATURE = 0x00 0x00

Data Rate = 1MBPS

Model = nRF24L01+

CRC Length = 16 bits

PA Power = PA_MAX

Arduino Uno:

以下是接收器代码:

#包括
#包括“RF24.h”
#包括“nRF24L01.h”
#包括“printf.h”
RF24 myRadio(7,8);
const uint64_t pipe=0xB01DFACECEL;
结构包
{
int id=0;
int代码=0;
字符文本[100]=“”;
};
typedef结构包;
包装数据;
无效设置(){
序列号开始(115200);
printf_begin();
延迟(1000);
myRadio.begin();
myRadio.setChannel(115);
myRadio.openReadingPipe(1,管道);
myRadio.printDetails();
我的收音机;
Serial.println(“设置完成”);
延迟(1000);
}
void循环(){
if(myRadio.available())
{
while(myRadio.available())
{
myRadio.read(&data,sizeof(data));
连续打印(“\n包装”);
Serial.println(data.id);
Serial.println(数据代码);
Serial.println(data.text);
}
}
延迟(500);
}    
以下是发送代码:

#包括
#包括“RF24.h”
#包括“nRF24L01.h”
#包括“printf.h”
RF24 myRadio(7,8);
const uint64_t pipe=0xB01DFACECEL;
结构包
{
int-id=1;
int代码=2;
字符文本[100]=“文本”;
};
typedef结构包;
包装数据;
无效设置(){
Serial.begin(9600);
printf_begin();
延迟(1000);
myRadio.begin();
myRadio.setChannel(115);
myRadio.openWritingPipe(管道);
myRadio.setRetries(15,15);
myRadio.printDetails();
我的收音机。停止收听();
Serial.println(“设置完成”);
延迟(1000);
}
void循环(){
if(!myRadio.write(&data,sizeof(data)))
{
Serial.println(“error!!”);
myRadio.printDetails();
}
连续打印(“\n包装”);
Serial.println(data.id);
Serial.println(数据代码);
Serial.println(data.text);
data.id+=1;
data.code+=1;
延迟(3000);
}

尝试在每个nRF24L01模块的+3.3v和gnd上放置一个10uf电容器


这些模块需要大量的发送功率,这是电容器的帮助。我希望它对您有用。

尝试在每个nRF24L01模块的+3.3v和gnd上放置一个10uf电容器


如果这不起作用,运行nrf24l01关闭自己的电源,3.3v,但已经看到这些峰值在1A!发射脉冲。可怜的Nano的3.3V来自FT232芯片,只有50mA可用。

顺便说一句,我已经使用stackoverflow一段时间了,但主要是作为参考,这是我的第一个问题,所以如果我做错了什么,请随时提出建议:Dhey@Berchy你的帖子在我看来还行,也许代码太多了(有时最好只包括所需的相关零件)。我仍然认为,如果您寻求的解决方案不是关于代码的,那么这个问题更适合。项目目前在抽屉中…当前工作量不足,但我一定会在某个时间尝试并检查它是否有效!项目目前在抽屉中…当前工作量不足,但我一定会在某个时间尝试指出并检查它是否工作!这没有解决问题!抱歉延迟。
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0

RX_ADDR_P0-1 = 0xb01dfacece 0xb01dfacece

RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6

TX_ADDR = 0xb01dfacece

RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00

EN_AA = 0x3f

EN_RXADDR = 0x02

RF_CH = 0x73

RF_SETUP = 0x07

CONFIG = 0x0e

DYNPD/FEATURE = 0x00 0x00

Data Rate = 1MBPS

Model = nRF24L01+

CRC Length = 16 bits

PA Power = PA_MAX