pww999 发表于 2012-6-10 00:47:59

已解决 关于nrf24L01摇控问题..

本帖最后由 pww999 于 2012-6-12 19:36 编辑

求解咯~
没法连接显示模拟数据....

本次以一个电位器接A4 脚模拟数据发送,,,,
接收用LCD显示模拟数据 ....

打算用6个通道 做个摇控小车

根椐官网连接的引脚及库:
http://arduino.cc/playground/InterfacingWithHardware/Nrf24L01

------------发送端代码--------------------
#include "SPI.h"
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
void setup(){

Mirf.spi = &MirfHardwareSpi;
Mirf.init();
    Mirf.setRADDR((byte *)"clie1");
Mirf.payload = 32;
Mirf.config();
}
void loop()
{
int n = analogRead(A4);
Mirf.setTADDR((byte *)"serv1");
Mirf.send((byte *)n);
delay(100);
}


------------接收端代码--------------------
#include "Wire.h"
#include <LiquidCrystal_I2C.h>
#include "MirfHardwareSpiDriver.h"
LiquidCrystal_I2C lcd(0x27,16,2);

#include "SPI.h"
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"

int n=0;
void setup(){
   lcd.init();
    lcd.backlight();
      delay(20);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
   Mirf.setRADDR((byte *)"serv1");
Mirf.payload = 32;
      Mirf.config();
}

void loop(){
if(Mirf.dataReady()){

byte n;
Mirf.getData(n);
lcd.clear(); //清屏
   lcd.setCursor(0, 0);
    lcd.print(n);
    delay(50);
}   

}

Ansifa 发表于 2012-6-10 18:25:59

代码只是一部分,你电路有没连错?

pww999 发表于 2012-6-10 19:58:43

用官网的测试包可以,但自己修改了一下代码,想发送接收 PPM 信号调试

pww999 发表于 2012-6-12 19:36:02

已经OK
迟点上代码~~~

playmore 发表于 2014-10-29 09:35:20

lz的代码我试了下,发现有下面几个问题:

1. TADDR和RADDR地址不匹配,应设为同一的"serv1";
2. 接收端代码不能delay,否则永远不会和发送端信号配对,也就接不到信号;
3. 发送的n原为一整数,然后以byte型发送,再以byte型接收,最后再转回整型,倒数第二行lcd.print(n); 中的n后不能再加中括号了。但我用整型发送没有成功,是乱码,后来把整数转为字符发送成功了。
页: [1]
查看完整版本: 已解决 关于nrf24L01摇控问题..