极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12764|回复: 3

蓝牙控制舵机

[复制链接]
发表于 2014-12-15 17:25:17 | 显示全部楼层 |阅读模式
要做一个项目,用一个蓝牙模块控制3个舵机做不同的运转,求大神帮忙

  1. #include <Servo.h>
  2. Servo myservo1;
  3. Servo myservo2;
  4. Servo myservo3;

  5. int MotorRight1=2;
  6. int MotorRight2=4;
  7. int MotorLeft1=7;
  8. int MotorLeft2=8;
  9.   
  10. char val0;
  11. char val1;
  12. char val2;
  13. char val3;

  14. void setup()
  15. {  
  16.   Serial.begin(9600);
  17.   pinMode(MotorRight1, OUTPUT);  // 腳位2 (PWM)
  18.   pinMode(MotorRight2, OUTPUT);  // 腳位 4 (PWM)
  19.   pinMode(MotorLeft1,  OUTPUT);  // 腳位 7 (PWM)
  20.   pinMode(MotorLeft2,  OUTPUT);  // 腳位 8 (PWM)
  21.   myservo1.attach(3);
  22.   myservo2.attach(5);
  23.   myservo3.attach(6);

  24.   
  25. }

  26. void go()// 前進
  27. {
  28.         digitalWrite(MotorRight1,LOW);
  29.         digitalWrite(MotorRight2,HIGH);
  30.         digitalWrite(MotorLeft1,LOW);
  31.         digitalWrite(MotorLeft2,HIGH);
  32.       
  33. }

  34. void left() //右轉
  35. {
  36.       digitalWrite(MotorRight1,HIGH);
  37.       digitalWrite(MotorRight2,LOW);
  38.       digitalWrite(MotorLeft1,LOW);
  39.       digitalWrite(MotorLeft2,HIGH);
  40.   
  41. }
  42. void right() //左轉
  43. {
  44.       digitalWrite(MotorRight1,LOW);
  45.       digitalWrite(MotorRight2,HIGH);
  46.       digitalWrite(MotorLeft1,HIGH);
  47.       digitalWrite(MotorLeft2,LOW);
  48.      
  49. }
  50. void stop() //停止
  51. {
  52.      digitalWrite(MotorRight1,LOW);
  53.      digitalWrite(MotorRight2,LOW);
  54.      digitalWrite(MotorLeft1,LOW);
  55.      digitalWrite(MotorLeft2,LOW);
  56.    
  57. }
  58. void back() //後退
  59. {
  60.         digitalWrite(MotorRight1,HIGH);
  61.         digitalWrite(MotorRight2,LOW);
  62.         digitalWrite(MotorLeft1,HIGH);
  63.         digitalWrite(MotorLeft2,LOW);;
  64.       
  65. }
  66.         
  67. void loop()
  68. {
  69.   char val0 = Serial.read();
  70.   Serial.write(val0);
  71.   if (-1 != val0) {
  72.     if ('W' == val0)
  73.     go();
  74.     else if ('A' ==val0)
  75.     left();
  76.     else if ('D' == val0)
  77.     right();
  78.     else if ('S' == val0)
  79.     back();
  80.     else if ('Q' == val0)
  81.       stop();
  82.     delay(500);
  83.     }
  84.   else
  85.   {
  86.     //stop();
  87.     delay(500);
  88.   }
  89.   {                                                     // 每次步进一度
  90.     myservo1.write(val1);        // 指定舵机转向的角度
  91.     delay(15);                       // 等待15ms让舵机到达指定位置
  92.   }
  93.   {                                                     // 每次步进一度
  94.     myservo2.write(val2);        // 指定舵机转向的角度
  95.     delay(15);                       // 等待15ms让舵机到达指定位置
  96.   }
  97.   {                                                     // 每次步进一度
  98.     myservo3.write(val3);        // 指定舵机转向的角度
  99.     delay(15);                       // 等待15ms让舵机到达指定位置
  100.   }
  101.   
  102. }  
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-12-16 20:17:40 | 显示全部楼层
这小舵机的机械臂,能支撑自身不,能拿东西么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-17 22:39:22 | 显示全部楼层
绿林网页 发表于 2014-12-16 20:17
这小舵机的机械臂,能支撑自身不,能拿东西么

只是用来做个模型,不是真正做什么实验
回复 支持 反对

使用道具 举报

发表于 2015-1-7 18:27:02 | 显示全部楼层
哈哈。这个是个不错的主意!!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 19:52 , Processed in 0.035422 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表