久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8232|回復: 0
打印 上一主題 下一主題
收起左側

NRF24L01 2.4G搖控收發純數字2通道PWM(可以轉為4,8...N個雙向通道)

[復制鏈接]
跳轉到指定樓層
樓主
ID:113207 發表于 2016-4-10 03:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
之前發的24L01 控制LED燈明暗,弄好了  

可以增加用 map 更改數字范圍實現更多通道

在arduino1.01 編譯通過,10米內沒壓力,(注:通道多了,會有延時)
-------------------------發送端--------------------------------
  1.     //MISO -> D12  
  2.     // * MOSI ->D11  
  3.     // * SCK ->D13
  4.      
  5.      //* CE ->D8
  6.      //* CSN ->D7
  7.      
  8.     #include "SPI.h"      //24L01庫文件
  9.     #include "Mirf.h"
  10.     #include "nRF24L01.h"
  11.     #include "MirfHardwareSpiDriver.h"
  12.      
  13.     int aaa;
  14.     int aaaa;
  15.     int bbb;
  16.     int bbbb;
  17.      
  18.     void setup(){
  19.       Mirf.spi = &MirfHardwareSpi;  //加載24L01  SPI
  20.       Mirf.init();                                 //開始
  21.        Mirf.setTADDR((byte *)"serv1");//發送到"接收地址"
  22.       Mirf.payload = sizeof(int);          //數據類型(整數)
  23.        Mirf.config();  //發送通道??
  24.     }
  25.     void loop(){
  26.       aaa=analogRead(A4)+1;            //讀取 X 向電平PWM(1至1024)
  27.       bbb= -analogRead(A5)-1;      //讀取 Y向電平PWM(-1至-1024)
  28.        if (aaa !=aaaa)                    //如果 X 向電平與之前電平不一樣則執行
  29.        {
  30.           Mirf.send((byte *)&aaa); //發送X向電平
  31.          aaaa=aaa;                       //保存X 向當前電平
  32.          while(Mirf.isSending()){     //等待或繼續發送??
  33.       }
  34.         }
  35.     if (bbb !=bbbb)                    //如果 Y 向電平與之前電平不一樣則執行
  36.     {
  37.        Mirf.send((byte *)&bbb);  //發送Y向電平
  38.       bbbb=bbb;                      //保存Y 向當前電平
  39.       while(Mirf.isSending()){    //等待或繼續發送?
  40.       }
  41.     }
  42.      delay(10);                        // 等待0.01秒
  43.     }
復制代碼

---------------------接收端--------------------------------
  1.     //MISO -> D12  
  2.     // * MOSI ->D11  
  3.     // * SCK ->D13
  4.      
  5.      //* CE ->D8
  6.      //* CSN ->D7
  7.     //LCD 1602 IIC SDA---A4  328
  8.     //LCD 1602 IIC SCL---A5 328
  9.      
  10.      
  11.     #include "Wire.h"                                //LCD1602 IIC 庫文件
  12.     #include ;
  13.     LiquidCrystal_I2C lcd(0x27,16,2);
  14.      
  15.     #include "SPI.h"                              //24L01庫文件
  16.     #include "Mirf.h"
  17.     #include "nRF24L01.h"
  18.     #include "MirfHardwareSpiDriver.h"
  19.      
  20.     int data;
  21.     int aaa;
  22.     int bbb;
  23.      
  24.     void setup(){   
  25.        lcd.init();                                        //加載LCD1602 IIC
  26.         lcd.backlight();
  27.         //lcd.setBacklight(120);               //設置LCD背光亮度,好象沒作用
  28.             delay(20);
  29.       Mirf.spi = &MirfHardwareSpi;          //加載24L01  SPI
  30.       Mirf.init();
  31.       Mirf.setRADDR((byte *)"serv1"); //接收地址" "
  32.       Mirf.payload = sizeof(int);            //數據類型(整數)
  33.           Mirf.config();
  34.     }
  35.      
  36.     void loop(){
  37.      
  38.       if(Mirf.dataReady()){                          //如果接收到數據則執行
  39.      
  40.           Mirf.getData((byte *)&data);   //接收數據
  41.      
  42.           if (data>=1)               //如果大于或等于1為X向 (如果設為 >=0就會 X,Y通道沖突,所以設為1開始)
  43.           {
  44.      aaa=data-1;
  45.           }
  46.              if (data<=-1)         //如果小于或等于-1為Y向(............)
  47.              {
  48.         bbb=data+1;
  49.           }
  50.      
  51.         Mirf.rxFifoEmpty();            //清理24L01援存??
  52.       }
  53.          lcd.clear();                     //清屏
  54.           lcd.setCursor(0, 0);
  55.           lcd.print(aaa);                  //顯示X向 1至1024
  56.           lcd.setCursor(6, 0);
  57.           lcd.print(0-bbb);             //顯示Y向,并將負數變為正數 1至1024
  58.       delay(10);
  59.     }
復制代碼
Mirf.payload = sizeof(int);            //數據類型(整數)

if(Mirf.dataReady()){

應該指的是  從機接收到   主機發來的任何信號 就開始執行下面語句吧

之前定義類型為整數,所以每收到一條整數就開始  .因為要快速響應~

24L01 .zip (16.64 KB, 下載次數: 35)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线观看免费 | 亚洲国产一区二区在线 | 伊人电影院av | 婷婷综合久久 | 中文字幕亚洲一区二区三区 | 视频三区 | 精品免费在线 | 成人国产精品免费观看 | 欧美国产精品一区二区 | 精品一区电影 | 欧美国产视频 | 成人免费视频 | 久久久国产精品视频 | 人人九九精 | 久久国产精品免费 | 粉嫩在线 | 久久久久国产精品一区二区 | 九九热精品在线 | 精精国产xxxx视频在线野外 | 超碰欧美 | www.蜜桃av| 国产男女视频 | 一二三区视频 | 欧美人成在线视频 | 亚洲综合视频 | 欧美伦理一区 | 色综合99 | 国产综合精品 | 亚洲国产一区二区三区 | 欧美精品一区二区三区在线播放 | 国产一级片精品 | 中文字幕日韩三级 | 欧美日韩国产三级 | 欧美国产精品一区二区三区 | 久久综合伊人一区二区三 | 亚洲精品免费视频 | 日韩精品免费 | 一区天堂 | www.久久99| 亚洲精品精品 | 中文字幕一区在线 |