西红柿 发表于 2017-10-17 11:51:07

桌面履带蓝牙4.0小车-小车程序

桌面履带蓝牙4.0 -小车程序
20171017-XHS
http://image.geek-workshop.com/album/201710/03/220449acxwc2ogolgp2og4.png
http://image.geek-workshop.com/album/201710/03/220434puwu9zg3um434fmj.jpg
现在把小车的Arduino代码分享给大家,小车比较简单,没有对电机进行调速控制,直接差动转弯。
/*****************************************
二轮蓝牙小车
2017.08.23
作者:XHS
*****************************************/
#define IN1 4
#define IN2 5   //定义In1接arduino的4引脚,In2接5引脚
#define IN3 6
#define IN4 7   //定义IN3接arduino的6引脚,IN4接7引脚

void forward( );
void back( );
void turnLeft( );
void turnRight( );
void _stop();          //这里是把我们用到的函数都声明一遍

void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
Serial.begin(9600);
}
int incomingByte =0;
void loop()
{
    if(Serial.available())
    {
      incomingByte = Serial.read();
      switch(incomingByte)
      {
      case 0x05 :
          {turnLeft( );break; }
      case 0x04:
          {forward( );   break;}
      case 0x06:
          {turnRight( );   break;}
      case 0x08:
          {_stop();   break;}
      case 0x07:
          {back( );   break;}
      }
    }   
}




/**************************************************
forward子函数——前进子函数
函数功能:控制车前进
**************************************************/
void forward( )
{
digitalWrite(IN1,HIGH);      
digitalWrite(IN2,LOW);         //左轮前进
digitalWrite(IN3,HIGH);      
digitalWrite(IN4,LOW);         //右轮前进
}

/**************************************************
back子函数——后退子函数
函数功能:控制车后退
**************************************************/
void back( )
{
digitalWrite(IN1,LOW);      
digitalWrite(IN2,HIGH);      //左轮后退
digitalWrite(IN3,LOW);      
digitalWrite(IN4,HIGH);      //右轮后退
}

/**************************************************
turnLeft子函数——左转子函数
函数功能:控制车左转
**************************************************/
void turnLeft( )
{
digitalWrite(IN1,LOW);      
digitalWrite(IN2,LOW);         //左轮静止不动
digitalWrite(IN3,HIGH);      
digitalWrite(IN4,LOW);         //右轮前进
}

/**************************************************
turnRight子函数——右后转弯转子函数
函数功能:控制车右后转弯
**************************************************/
void turnRight( )
{
digitalWrite(IN1,HIGH);      
digitalWrite(IN2,LOW);         //左轮前进
digitalWrite(IN3,LOW);      
digitalWrite(IN4,LOW);         //右轮静止不动
}

/**************************************************
stop子函数—停止子函数
函数功能:控制车停止
**************************************************/
void _stop()
{
digitalWrite(IN1,LOW);      
digitalWrite(IN2,LOW);         //左轮静止不动
digitalWrite(IN3,LOW);      
digitalWrite(IN4,LOW);         //右轮静止不动
}这些代码也是参考论坛大佬的设计,通过串口读数据,检测到不同的数据值,可以进行不同的动作。大家可以通过以前的帖子,下载安卓软件,直接使用。
安卓软件传送安卓软件
整体介绍传送整体介绍

qwcqio 发表于 2017-10-19 22:50:34

请教一下,我用的是hc05,发送字符的,但是小车要连续发送几次才有反应,只发送一次往往没反应,也就是不够灵敏,不知道哪里有问题

西红柿 发表于 2017-10-20 16:07:02

qwcqio 发表于 2017-10-19 22:50
请教一下,我用的是hc05,发送字符的,但是小车要连续发送几次才有反应,只发送一次往往没反应,也就是不够 ...

你可以先把HC05的接收端接在电脑的串口助手上看看是不是收到数据了

qwcqio 发表于 2017-10-21 15:23:41

西红柿 发表于 2017-10-20 16:07
你可以先把HC05的接收端接在电脑的串口助手上看看是不是收到数据了

可以啊,会不会是电机干扰

西红柿 发表于 2017-10-22 21:22:13

qwcqio 发表于 2017-10-21 15:23
可以啊,会不会是电机干扰

可能不会,我用的L298N没有出现过着这种情况
页: [1]
查看完整版本: 桌面履带蓝牙4.0小车-小车程序