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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Arduino紅外傳感器控制機械臂程序 程序有錯誤請大家來討論一下

[復制鏈接]
跳轉到指定樓層
樓主
ID:226815 發(fā)表于 2018-4-13 14:22 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用紅外避障傳感器控制機械臂抓取物體。
當紅外避障傳感器檢測到物體時,輸入低電平。然后調(diào)用函數(shù)機械臂抓取物體。
但是程序有錯誤,找了半天也沒找出來。請大家來討論一下。

Arduino源程序如下
  1. #include <Servo.h>                //使用servo庫

  2. const int Aarm = 0;
  3. const int Barm = 1;
  4. const int Carm = 2;
  5. const int Darm = 3;
  6. const int Earm = 4;
  7. const int Farm = 5;

  8. const int maxServos = 6;
  9. Servo servos[maxServos];

  10. int DSD = 15; //Default Servo Delay (默認電機運動延遲時間)
  11.               //此變量用于控制電機運行速度.增大此變量數(shù)值將
  12.               //降低電機運行速度從而控制機械臂動作速度。
  13. int val_left=0;
  14. int val_centre=0;
  15. int val_Right=0;

  16. void setup(){
  17.   pinMode(A0,INPUT);
  18.   pinMode(A1,INPUT);
  19.   pinMode(A2,INPUT);

  20.   for(int i=0;i<=5;i++){
  21.     servos[i].attach(i);
  22.     servos[i].write(90);
  23.     delay(10);
  24.   }
  25. }


  26. void loop(){
  27.   val_left = digitalRead(A0);
  28.   val_centre= digitalRead(A0);
  29.   val_Right = digitalRead(A0);

  30.   if (val_left == LOW) {       //例如:b67三個字節(jié)
  31.     servos[0].write();   //底盤向左旋轉
  32.     Servo_Stretch();    //舵機抓取物體
  33.     servos[0].write();   //舵機轉回中位
  34.     armIniPos();      //舵機收縮
  35.   }
  36.   else if(val_centre == LOW){
  37.      Servo_Stretch();     //舵機抓取物體
  38.      armIniPos();      //舵機收縮
  39.     }
  40.   else if(val_Right == LOW){
  41.      servos[0].write();   //底盤向左旋轉
  42.      Servo_Stretch();    //舵機抓取物體
  43.      servos[0].write();   //舵機轉回中位
  44.      armIniPos();      //舵機收縮
  45.       }
  46. }

  47. void armIniPos(){     //舵機收縮回起始位置
  48.   int robotIniPos[5][3] = {    //每個舵機角度不同,需要修改
  49.     {Barm, 90, DSD},
  50.     {Carm, 90, DSD},
  51.     {Darm, 90, DSD},
  52.     {Earm, 90, DSD},
  53.     {Farm, 90, DSD}
  54.   };   
  55.    for (int i = 0; i < 5; i++){
  56.     servoCmd(robotIniPos[i][0], robotIniPos[i][1], robotIniPos[i][2]);   //舵機編號,目標角度,延遲.此函數(shù)控制舵機的速度

  57.   }
  58. }

  59. void servoCmd(int j,int toPos, int servoDelay){   //舵機編號,目標角度,延遲.此函數(shù)控制舵機的速度

  60.   int fromPos;
  61.   fromPos = servos(j).read();
  62.     if (fromPos <= toPos){  //如果“起始角度值”小于“目標角度值”
  63.     for (int i=fromPos; i<=toPos; i++){
  64.       servos(j).write(i);
  65.       delay (servoDelay);
  66.     }
  67.   }  else { //否則“起始角度值”大于“目標角度值”
  68.     for (int i=fromPos; i>=toPos; i--){
  69.       servos(j).write(i);
  70.       delay (servoDelay);
  71.     }
  72.     }
  73.   }

  74. void Servo_Stretch(){
  75.   int diceMove1[5][3] = {
  76.     {Barm, 30, DSD},
  77.     {Carm, 90, DSD},
  78.     {Darm, 43, DSD},
  79.     {Earm, 126, DSD},
  80.     {Farm, 90, DSD}   
  81.   };
  82.   for (int i = 0; i < 5; i++){
  83.     servoCmd(diceMove1[i][0], diceMove1[i][1], diceMove1[i][2]);
  84.     delay(200);
  85.   }   
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:309562 發(fā)表于 2018-4-16 20:45 | 只看該作者
C:\Users\Administrator\Desktop
紅框中的分號“;”應該去掉,大括號后不需要“;”
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本小电影网站 | 精品一区二区三区视频在线观看 | 日韩精品久久久久 | 日韩中文一区 | 亚洲国产91 | 91精品久久久久久久 | 久久久久无码国产精品一区 | 国产精品一区二区久久久久 | 亚洲网站在线 | 波多野结衣先锋影音 | 少妇久久久久 | 精品日韩电影 | 国产精品射 | 伊人狠狠干 | 欧美八区 | 国产精品成人一区二区 | 五月槐花香 | 在线观看www高清视频 | 欧美日日日日bbbbb视频 | 天堂av中文在线 | 久久久久久久久淑女av国产精品 | 91香蕉| 丁香久久 | 日本黄色免费大片 | 精品视频一区二区 | 精品亚洲一区二区三区 | 国产精品日韩欧美一区二区三区 | 国产午夜在线 | 国产一区二区在线免费观看 | 国产精品久久久久久久久久久久 | 天天色天天色 | 日韩精品免费播放 | 国产黑丝av | 欧美一区二区免费电影 | 狠狠久久 | 国产乱码精品一区二区三区中文 | 精品九九 | 成人高清视频在线观看 | 久久久久久久久久久久久91 | 看真人视频一级毛片 | 天天干天天爽 |