找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5654|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

arduino制作的模型遙控器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
近段時(shí)間車模遙控器壞掉了,于是用arduino做了一個(gè)遙控,用的全雙工無線串口模塊做的通信這樣以后也可以增加數(shù)據(jù)的回傳功能,同時(shí)全雙工又增加了通信效率。目前只完成了這么多后期還會(huì)增加微調(diào) 失控保護(hù) 速度顯示 電壓顯示,期待后期更新吧


  1. #include <Servo.h>

  2. Servo servo1;
  3. Servo servo2;

  4. float data4=0;//要接收的數(shù)據(jù)
  5. float data5=0;//要接收的數(shù)據(jù)


  6. void setup()
  7. {
  8. servo1.attach(5);
  9. servo2.attach(6);
  10.   Serial.begin(9600);//兩機(jī)的波特率要求相同
  11. }


  12. void loop()
  13. {

  14. receive();//接收數(shù)據(jù)
  15.    
  16. servo1.write(data4);
  17. servo2.write(data5);
  18. }



  19. void receive(){

  20.   String comdata = "";//存放接收到的原始字符串
  21.   String buf1="";//存放解析出的第一個(gè)字符串
  22.   String buf2="";//存放解析出的第二個(gè)字符串


  23.     while (Serial.available() > 0)  
  24.     {
  25.         comdata += char(Serial.read());
  26.         delay(2);//一個(gè)一個(gè)接收數(shù)據(jù),每次停頓2毫秒
  27.     }
  28.     if (comdata.length() > 0)//如果有數(shù)據(jù)收到
  29.     {
  30.       int ja,jb,jc;//存放收到的字符串中標(biāo)志字母的下標(biāo)

  31. for(int i = 0; i < comdata.length(); i++){

  32.   if(comdata[i]=='a'){ja=i;}
  33.   if(comdata[i]=='b'){jb=i;}
  34.   if(comdata[i]=='#'){jc=i;}
  35.   

  36.   }//找到約定標(biāo)志字母的下標(biāo)

  37. for(int k=ja+1;k<jb;k++){
  38.   buf1+=char(comdata[k]);
  39.   }
  40.   for(int k=jb+1;k<jc;k++){
  41.   buf2+=char(comdata[k]);
  42.   }

  43.          data4=buf1.toInt();//將解析得到的字符串轉(zhuǎn)換為float類型
  44.          data5=buf2.toInt();
  45.       


  46.     }

  47.   }
復(fù)制代碼

全部資料下載地址:
代碼.zip (1.52 KB, 下載次數(shù): 17)


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

使用道具 舉報(bào)

沙發(fā)
ID:498171 發(fā)表于 2019-5-22 14:12 | 只看該作者
十分感謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表