找回密码
 立即注册

QQ登录

只需一步,快速开始

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

arduino蓝牙小车

[复制链接]
跳转到指定楼层
楼主
首先,需要的哪些工具:
1、        arduino UNO R3  x1
2、        L298N电机驱动模块 x1
3、        HC06 蓝牙模块 x1
4、        小车底盘 x1
5、        12V电源(7~9V)x1
6、        导线 若干
7、        蓝牙遥控app



第二:L298模块介绍




第三:App的下载
http://shouji.baidu.com/software/11629425.html
第四:HC-06模块的介绍:

说一下具体电路连接:
第一步:12V 18650充电电池 接到 L298N 电机驱动模块的 +12V 以及 GND,+5V 电源输出给Arduino UNO R3板子供电。有些人可能说如果电机供电以及板子供电是同一个电源,可能电机转动会影响到板子供电。目前我测试是没有发现问题。可能原因是本来板子耗电量也不是很大,并且12V电池本身电量还是足够,不会出现供电不足问题。

第二步:左电机连接到OUT3和OUT4,右电机连接到OUT1和OUT2
第三步:就是L298N的IN控制引脚和Arduino板子的连接。IN1连接到引脚6,IN2连接到引脚7,IN3连接到引脚4,IN4连接到引脚5.

蓝牙测试代码
功能:蓝牙小车测试按键值程序
  1. 蓝牙测试代码
  2. 功能:蓝牙小车测试按键值程序

  3. void setup() {
  4.   // put your setup code here, to run once:
  5.   Serial.begin(9600);
  6. }

  7. void loop() {
  8.   // put your main code here, to run repeatedly:
  9.   if(Serial.available()>0){
  10.       char ch = Serial.read();
  11.       if(ch == '1'){
  12.          //前进
  13.          Serial.println("up");
  14.       }else if(ch == '2'){
  15.          //后退
  16.          Serial.println("back");
  17.       }else if(ch == '3'){
  18.          //左转
  19.          Serial.println("left");
  20.       }else if(ch == '4'){
  21.         //右转
  22.          Serial.println("right");
  23.       }else if(ch=='0'){
  24.         //停车
  25.         Serial.println("stop");
  26.       }else{
  27.         //其他编码
  28.         Serial.println(ch);
  29.       }
  30.     }
  31. }

  32. 蓝牙小车代码:

  33. #define IN1 6 // 7 6 右轮
  34. #define IN2 7
  35. #define IN3 4 // 5 4 左轮
  36. #define IN4 5

  37. #define LEFT '3' //左转编码
  38. #define RIGHT '4'//右转编码
  39. #define GO '1'//前进编码
  40. #define BACK '2'//后退编码
  41. #define STOP '0'//停止编码

  42. void setup() {
  43.   // put your setup code here, to run once:
  44.   Serial.begin(9600);
  45.   pinMode(IN1,OUTPUT);
  46.   pinMode(IN2,OUTPUT);
  47.   pinMode(IN3,OUTPUT);
  48.   pinMode(IN4,OUTPUT);
  49.   initCar();
  50. }

  51. void loop() {
  52.   // put your main code here, to run repeatedly:
  53.   if(Serial.available()>0){
  54.       char ch = Serial.read();
  55.       if(ch == GO){
  56.          //前进
  57.          go();
  58.       }else if(ch == BACK){
  59.          //后退
  60.          back();
  61.       }else if(ch == LEFT){
  62.          //左转
  63.          turnLeft();
  64.       }else if(ch == RIGHT){
  65.         //右转
  66.         turnRight();
  67.       }else if(ch=='0'){
  68.         //停车
  69.         stopCar();
  70.       }
  71.     }
  72. }

  73. void initCar(){
  74.   //默认全是低电平 停止状态
  75.   digitalWrite(IN1,LOW);      
  76.   digitalWrite(IN2,LOW);
  77.   digitalWrite(IN3,LOW);   
  78.   digitalWrite(IN4,LOW);
  79. }

  80. /**
  81. * 左转
  82. */
  83. void turnLeft(){
  84.   digitalWrite(IN1,HIGH);      
  85.   digitalWrite(IN2,LOW);         //右轮前进
  86.   digitalWrite(IN3,LOW);      
  87.   digitalWrite(IN4,LOW);         //左轮不动
  88. }

  89. /**
  90. * 右转
  91. */
  92. void turnRight(){
  93.   digitalWrite(IN1,LOW);      
  94.   digitalWrite(IN2,LOW);         //右轮不动
  95.   digitalWrite(IN3,HIGH);      
  96.   digitalWrite(IN4,LOW);         //左轮前进
  97. }

  98. /**
  99. * 前进
  100. */
  101. void go(){
  102.   digitalWrite(IN1,HIGH);      
  103.   digitalWrite(IN2,LOW);         //右轮前进
  104.   digitalWrite(IN3,HIGH);      
  105.   digitalWrite(IN4,LOW);         //左轮前进
  106. }

  107. /**
  108. * 倒车
  109. */
  110. void back(){
  111.   digitalWrite(IN1,LOW);      
  112.   digitalWrite(IN2,HIGH);        //右轮后退
  113.   digitalWrite(IN3,LOW);      
  114.   digitalWrite(IN4,HIGH);        //左轮后退
  115. }

  116. /**
  117. * 停车
  118. */
  119. void stopCar(){
  120.   initCar();
  121. }
复制代码


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()>0){
      char ch = Serial.read();
      if(ch == '1'){
         //前进
         Serial.println("up");
      }else if(ch == '2'){
         //后退
         Serial.println("back");
      }else if(ch == '3'){
         //左转
         Serial.println("left");
      }else if(ch == '4'){
        //右转
         Serial.println("right");
      }else if(ch=='0'){
        //停车
        Serial.println("stop");
      }else{
        //其他编码
        Serial.println(ch);
      }
    }
}

蓝牙小车.rar

1.66 MB, 下载次数: 27, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:104477 发表于 2018-8-25 23:33 来自手机 | 只看该作者
才十米距离,有什么意义
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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