桌面履带蓝牙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); //右轮静止不动
}这些代码也是参考论坛大佬的设计,通过串口读数据,检测到不同的数据值,可以进行不同的动作。大家可以通过以前的帖子,下载安卓软件,直接使用。
安卓软件传送安卓软件
整体介绍传送整体介绍
请教一下,我用的是hc05,发送字符的,但是小车要连续发送几次才有反应,只发送一次往往没反应,也就是不够灵敏,不知道哪里有问题 qwcqio 发表于 2017-10-19 22:50
请教一下,我用的是hc05,发送字符的,但是小车要连续发送几次才有反应,只发送一次往往没反应,也就是不够 ...
你可以先把HC05的接收端接在电脑的串口助手上看看是不是收到数据了 西红柿 发表于 2017-10-20 16:07
你可以先把HC05的接收端接在电脑的串口助手上看看是不是收到数据了
可以啊,会不会是电机干扰 qwcqio 发表于 2017-10-21 15:23
可以啊,会不会是电机干扰
可能不会,我用的L298N没有出现过着这种情况
页:
[1]