找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2650|回复: 1
打印 上一主题 下一主题
收起左侧

arduino蓝牙小车例程

[复制链接]
跳转到指定楼层
楼主
ID:281603 发表于 2018-2-2 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这里有一个mega2560的蓝牙小车例程和大家分享下》
  1. #include <Wire.h>
  2. #include <Servo.h>
  3. #include <LiquidCrystal.h>
  4. #include <PID_v1.h>


  5. /************ 转向舵机参数 ***********/
  6. Servo myservo;        //建立一个舵机对象,名称为 myservo
  7. int x=100;
  8. /*********** 马达控制参数 **********/
  9. const unsigned char pinMotorLCW  = 6;   // 接控制电机顺时针转的 H 桥引脚
  10. const unsigned char pinMotorLCCW = 5;   // 接控制电机逆时针转的 H 桥引脚
  11. const unsigned char pinMotorRCW  = 9;   // 接控制电机顺时针转的 H 桥引脚
  12. const unsigned char pinMotorRCCW = 10;   // 接控制电机逆时针转的 H 桥引脚

  13. int speedpin=8;//定义EA(PWM调速)接口


  14. // 电机停转
  15. void motorStop()
  16. {
  17.     digitalWrite(pinMotorRCW,  LOW);
  18.     digitalWrite(pinMotorRCCW, LOW);
  19.         digitalWrite(pinMotorLCW,  LOW);
  20.     digitalWrite(pinMotorLCCW, LOW);
  21.        analogWrite(speedpin,255);
  22. }

  23. // 小车前进
  24. void motorAhead(int a)         //给电机输入一个电压值a(a在0-255之间)  调速
  25. {
  26.     digitalWrite(pinMotorRCW,  HIGH);
  27.     digitalWrite(pinMotorRCCW, LOW);
  28.         digitalWrite(pinMotorLCW,  HIGH);
  29.     digitalWrite(pinMotorLCCW, LOW);
  30.     analogWrite(speedpin,a);
  31. }
  32. // 小车左转
  33. void motorLeft(int a)               //给电机输入一个电压值a(a在0-255之间).  调速
  34. {
  35.     digitalWrite(pinMotorRCW,  LOW);
  36.     digitalWrite(pinMotorRCCW, HIGH);
  37.         digitalWrite(pinMotorLCW,  HIGH);
  38.     digitalWrite(pinMotorLCCW, LOW);
  39.       analogWrite(speedpin,a);
  40. }
  41. // 小车右转
  42. void motorRight(int a)               //给电机输入一个电压值a(a在0-255之间).  调速
  43. {
  44.     digitalWrite(pinMotorLCW,  LOW);
  45.     digitalWrite(pinMotorLCCW, HIGH);
  46.         digitalWrite(pinMotorRCW,  HIGH);
  47.     digitalWrite(pinMotorRCCW, LOW);
  48.       analogWrite(speedpin,a);
  49. }
  50. // 小车后退
  51. void motorBack(int a)               //给电机输入一个电压值a(a在0-255之间).  调速
  52. {
  53.     digitalWrite(pinMotorRCW,  LOW);
  54.     digitalWrite(pinMotorRCCW, HIGH);
  55.         digitalWrite(pinMotorLCW,  LOW);
  56.     digitalWrite(pinMotorLCCW, HIGH);
  57.       analogWrite(speedpin,a);
  58. }
  59. void setup()
  60. {
  61. Serial.begin(9600);
  62.       myservo.attach(13);                             //将引脚 13 上的舵机与舵机对象连接起来
  63.     digitalWrite(pinMotorRCW,  LOW);                  //电机初始化
  64.     digitalWrite(pinMotorRCCW, HIGH);
  65.         digitalWrite(pinMotorLCW,  LOW);                  //电机初始化
  66.     digitalWrite(pinMotorLCCW, HIGH);
  67.       analogWrite(speedpin,255);
  68. }

  69. void loop()
  70. {
  71.   while(Serial.available())
  72.    {   
  73.      char c=Serial.read();
  74.       if(c=='S')motorStop();
  75.       if(c=='A')motorAhead(80);
  76.       if(c=='B')motorBack(80);
  77.        if(c=='s')motorAhead(250);
  78.       if(c=='L')motorLeft(80);
  79.        if(c=='O')myservo.write(100);
  80.       if(c=='R')motorRight(80);   
  81.        if(c=='E')myservo.write(170);
  82.        if(c=='F')myservo.write(30);                  
  83.    }
  84. }
复制代码

下载:
__.rar (933 Bytes, 下载次数: 17)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:284606 发表于 2018-2-28 20:59 | 只看该作者
这是串口控制的,没有加入蓝牙部分。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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