资讯详情

arduino nano + nrf24

文章目录

    • 写在前面
    • 例子1:
    • 例子2
    • 注:

写在前面

在这里插入图片描述

-------------------这是接线图------------------------------------------ nrf 24—> nano

例子1:

转发的链接

这是收到的串口 链接:https://pan.baidu.com/s/1eMzH21F6meFAjg2cQ2UNqg 提取码:jmkb

例子2

/*   nRF24L01 Transmitter  发送端       */  #include <SPI.h> #include <nRF24L01.h> #include <RF24.h>  RF24 radio(7, 8); // CE, CSN    arduino nano 上的D7 D8        const byte address[6] = "00001";  //通讯地址,单向。  int joystick[5];  void setup() {   Serial.begin(9600);   radio.begin();                     radio.openWritingPipe(address); //写入地址。   radio.setPALevel(RF24_PA_MAX);  //功放功率,可设为MAX   radio.stopListening();          ///遥控器不接收,只负责发射信号 }  void loop(){    int Lx = analogRead(A0);  // Left X-axis,x轴左摇杆   joystick[0]=Lx;     int Ly = analogRead(A1);  // Left Y-axis,左摇杆y轴   joystick[1]=Ly;       int Pot= analogRead(A3);  // Potentialmeter Value, 电位器   joystick[2]=Pot;     int Rx = analogRead(A4);  // Right X-axis,x轴右侧摇杆   joystick[3]=Rx;     int Ry = analogRead(A5);  // Right Y-axis,右摇杆y轴   joystick[4]=Ry;      radio.write(joystick, sizeof(joystick)); ///打包发送。   //delay(5);   /* 发送信息显示在串口监视器中,debug      Serial.print("Lx: "); Serial.println(joystick[0]);       Serial.print("Ly: "); Serial.println(joystick[1]);       Serial.print("Pot: "); Serial.println(joystick[2]);      Serial.print("Rx: "); Serial.println(joystick[3]);      Serial.print("Ry: "); Serial.println(joystick[4]);       Serial.println();        //delay(1000);  /*/ }  
/*   nRF24L01 Receiver:      接收端    */  #include <Wire.h>           #include <SPI.h> #include <nRF24L01.h> #include <RF24.h>   RF24 radio(7, 8); // CE, CSN   arduino nano 上的D7 D8 const byte address[6] = "00001";  int joystick[5];  int Lx; int Ly; int pot; int Rx; int Ry; int Pot; int L_MotorSpeed; int R_MotorSpeed; int FAN=4; void setup() {    Serial.begin(9600);      radio.begin();    radio.openReadingPipe(0, address);        radio.setPALevel(RF24_PA_MAX);           radio.startListening();     pinMode(FAN, OUTPUT); }  void loop(){    if ( radio.available()){                     //                    radio.read(joystick, sizeof(joystick));  ////读取接收到的摇杆位置              Lx=joystick[0]; Ly=joystick[1]; pot=joystick[2];Rx=joystick[3];Ry=joystick[4];      if(Lx>800)     {       digitalWrite(FAN, HIGH);         Serial.print("fan is high");         }       else{digitalWrite(FAN, LOW); }       Serial.print("Lx: ");  Serial.println(Lx);       Serial.print("Ly: ");  Serial.println(Ly);       Serial.print("Pot: "); Serial.println(pot);       Serial.print("Rx: ");  Serial.println(Rx);       Serial.print("Ry ");   Serial.println(Ry);       Serial.println();      ;}                   //else{                                        //如果没有通讯,串口监视器会报错   //        Serial.println("No Radio Connection");}   // delay(500);    } 

以上的例子 都可以用

注:

若出现故障 不能用等等 1 可能是nrf24l01模块坏了 模块经常坏 不怪代码 2 这个是适用 arduino nano CE CSN是7 8 引脚 ,也就是D7 D8 3 串口无法接受,可重新关闭串口再打开;

标签: arduino电位器串口监视器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台