蓝牙模块的使用_蓝牙模块小车的制作步骤

电子说

1.2w人已加入

描述

一、本次实验所需器材

1、Arduino UNO板

2、蓝牙模块

3、蓝牙小车底盘(可从淘宝网购买)

4、L298驱动模块:1个

3、面包板:1个

二、蓝牙模块的使用

实验:给蓝牙模块发送h,回复i am here;发送b,回复see you.

硬件连接:

蓝牙模块

代码:

char getstr;

void setup()

{

Serial.begin(9600);

}

void loop()

{

getstr=Serial.read();

if(getstr==‘h’)

{

Serial.println(“I am here!”);

}

else if(getstr==‘b’){

Serial.println(“See you!”);

}

}

将以上代码写入arduino时,要注意先将蓝牙断开,写入完成后,再连上蓝牙,否则会出错。

手机端下载一个bluetooth spp或者蓝牙串口程序即可,这里我用的是。

然后通过手机与该蓝牙模块进行连接,一般默认连接码是1234或者0000。连接后,发送h,会显示I am here,发送b,会显示See you!

三、蓝牙遥控小车制作

1、从网上购买了蓝牙小车底盘,组装后如下图:

2、L298驱动模块

该模块的IN1、IN2、IN3、IN4分别连接arduino的12、11、10、9接口,电源12V口接arduino的5V,GND接地。

例子:

char getstr;

int in1=12;

int in2=11;

int in3=10;

int in4=9;

//上面定义了板上的4个控制端,12一组,34一组

void _mRight(int pin1,int pin2)//当in1和in2中有一个接高位时,电机会向某一方向转动

{

digitalWrite(pin1,HIGH);

digitalWrite(pin2,LOW);

}

void _mLeft(int pin1,int pin2)//同上

{

digitalWrite(pin1,LOW);

digitalWrite(pin2,HIGH);

}

void _mStop(int pin1,int pin2)//紧急制动,实际就是将电机两个端短接了

{

digitalWrite(pin1,HIGH);

digitalWrite(pin2,HIGH);

}

void setup()

{

Serial.begin(9600);

pinMode(in1,OUTPUT);

pinMode(in2,OUTPUT);

pinMode(in3,OUTPUT);

pinMode(in4,OUTPUT);

//下面程序开始时让控制端都为高电平,电机保持不动。

digitalWrite(in1,HIGH);

digitalWrite(in2,HIGH);

digitalWrite(in3,HIGH);

digitalWrite(in4,HIGH);

}

void loop()

{

getstr=Serial.read();

if(getstr==‘f’)

{

Serial.println(“go forward!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mRight(in1,in2);

_mRight(in3,in4);

}

else if(getstr==‘b’){

Serial.println(“go back!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mLeft(in1,in2);

_mLeft(in3,in4);

}

else if(getstr==‘l’){

Serial.println(“go left!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mRight(in1,in2);

_mLeft(in3,in4);

}

else if(getstr==‘r’){

Serial.println(“go right!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mRight(in3,in4);

_mLeft(in1,in2);

}

else if(getstr==‘s’){

Serial.println(“Stop!”);

_mStop(in1,in2);

_mStop(in3,in4);

}

}

注意,当输入fl 时,无论前往、后退、左转、右转,电机都是先停一下,再转,这样电机都流畅。

3、蓝牙模块

接法与二中蓝牙模块的使用接法相同。

4、超声波测距模块

连接方法是将VCC接5V,GND接地,trig接5口,Echo接6口。

5、硬件连接图

6、代码

char getstr;

int in1=12;

int in2=11;

int in3=10;

int in4=9;

//上面定义了板上的4个控制端,12一组,34一组

int TrigPin = 5;

int EchoPin = 6;

float cm;

int i=0;//记录测量次数,每5次取一下平均值

float cmsum;//计算5次总值

float cmeve;//计算5次平均值

void _mRun(int pin1,int pin2)//电机右转,电机到底是右转还是左转取决于电机端的接线和控制脚的顺序

{

digitalWrite(pin1,HIGH);

digitalWrite(pin2,LOW);

}

void _mBack(int pin1,int pin2)//同上

{

digitalWrite(pin1,LOW);

digitalWrite(pin2,HIGH);

}

void _mStop(int pin1,int pin2)//紧急制动,实际就是将电机两个端短接了

{

digitalWrite(pin1,HIGH);

digitalWrite(pin2,HIGH);

}

void setup()

{

Serial.begin(9600);

pinMode(in1,OUTPUT);

pinMode(in2,OUTPUT);

pinMode(in3,OUTPUT);

pinMode(in4,OUTPUT);

pinMode(TrigPin, OUTPUT);

pinMode(EchoPin, INPUT);

//下面程序开始时让控制端都为高电平,电机保持不动。

digitalWrite(in1,HIGH);

digitalWrite(in2,HIGH);

digitalWrite(in3,HIGH);

digitalWrite(in4,HIGH);

}

void loop()

{

getstr=Serial.read();

delayMicroseconds(60);

digitalWrite(TrigPin, HIGH);

delayMicroseconds(60);

digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm

cm = (int(cm * 100.0)) / 100.0; //保留两位小数

if (i==5){//连接测5次,计算平均值,如果小于10厘米则紧急停车

i=0;

cmeve=cmsum/5;

cmsum=0;

if (cmeve《10 and cmeve》0) {

Serial.println(cmeve);

_mStop(in1,in2);

_mStop(in3,in4);

}

}

else {

i=i+1;

cmsum=cmsum+cm;

}

if(getstr==‘f’)

{

Serial.println(“go forward!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mRun(in1,in2);

_mRun(in3,in4);

}

else if(getstr==‘b’){

Serial.println(“go back!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mBack(in1,in2);

_mBack(in3,in4);

}

else if(getstr==‘l’){

Serial.println(“go left!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mRun(in1,in2);

_mBack(in3,in4);

}

else if(getstr==‘r’){

Serial.println(“go left!”);

_mStop(in1,in2);

_mStop(in3,in4);

_mRun(in3,in4);

_mBack(in1,in2);

}

else if(getstr==‘s’){

Serial.println(“Stop!”);

_mStop(in1,in2);

_mStop(in3,in4);

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分