arduino蓝牙遥控小车.docx

上传人:b****8 文档编号:10995824 上传时间:2023-02-24 格式:DOCX 页数:12 大小:348.97KB
下载 相关 举报
arduino蓝牙遥控小车.docx_第1页
第1页 / 共12页
arduino蓝牙遥控小车.docx_第2页
第2页 / 共12页
arduino蓝牙遥控小车.docx_第3页
第3页 / 共12页
arduino蓝牙遥控小车.docx_第4页
第4页 / 共12页
arduino蓝牙遥控小车.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

arduino蓝牙遥控小车.docx

《arduino蓝牙遥控小车.docx》由会员分享,可在线阅读,更多相关《arduino蓝牙遥控小车.docx(12页珍藏版)》请在冰豆网上搜索。

arduino蓝牙遥控小车.docx

arduino蓝牙遥控小车

Arduino蓝牙遥控小车

作者:

陈帅

一、效果图

二、demo

方案一:

unsignedcharch,i=0,j=0,flag=5;//标记小车当前状态默认为5,小车关闭

/************************************

*函数名:

setup()

*功能:

1、初始化串口波特率115200

2、设置管脚状态

3、初始关闭小车引擎

*参数:

*返回值:

************************************/

voidsetup()

{

Serial.begin(115200);

pinMode(8,OUTPUT);

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);

pinMode(11,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

digitalWrite(4,1);

stopcar_api();

}

/************************************

*函数名:

front()

*功能:

小车前进

*参数:

*返回值:

************************************/

voidfront()

{

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,HIGH);

digitalWrite(11,LOW);//前进时关闭小车的挖掘手臂

}

/************************************

*函数名:

behind()

*功能:

小车后退

*参数:

*返回值:

************************************/

voidbehind()

{

digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,LOW);

digitalWrite(11,LOW);//后退时关闭小车的挖掘手臂

}

/************************************

*函数名:

left()

*参数:

小车左转

*返回值:

************************************/

voidleft_api()

{

digitalWrite(8,LOW);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,LOW);//左转时关闭小车的挖掘手臂

}

/************************************

*函数名:

right()

*参数:

小车右转

*返回值:

************************************/

voidright_api()

{

digitalWrite(8,HIGH);

digitalWrite(9,LOW);

digitalWrite(10,HIGH);

digitalWrite(11,LOW);//右转时关闭小车的挖掘手臂

}

/************************************

*函数名:

watu()

*功能:

小车挖土

*参数:

*返回值:

************************************/

voidwatu_api()

{

digitalWrite(8,HIGH);//

digitalWrite(9,HIGH);//

digitalWrite(10,HIGH);//关闭引擎,小车原地挖土

digitalWrite(11,HIGH);

}

/************************************

*函数名:

stopcar()

*功能:

小车停止

*参数:

*返回值:

************************************/

voidstopcar_api()

{

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

digitalWrite(11,LOW);

flag=5;//停止状态

}

/************************************

*函数名:

stopcar()

*功能:

小车左转

*参数:

*返回值:

************************************/

voiduser_left()

{

if(flag==5)

{

right_api();//小车原地左转

delay(200);

stopcar_api();

}

elseif(flag==0)//小车边前进边左转

{

for(i=0;i<20;i++)

{

front();

delay

(1);

right_api();

delay

(1);

}

}

elseif(flag==1)//小车边后退边左转

{

for(i=0;i<20;i++)

{

behind();

delay

(1);

right_api();

delay

(1);

}

};

}

voiduser_right()

{

if(flag==5)

{

left_api();//小车原地右转

delay(200);

stopcar_api();

}

elseif(flag==0)//小车边前进边右转

{

for(i=0;i<20;i++)

{

front();

delay

(1);

left_api();

delay

(1);

}

}

elseif(flag==1)//小车边后退边右转

{

for(i=0;i<20;i++)

{

behind();

delay

(1);

left_api();

delay

(1);

}

};

}

/************************************

*函数名:

主循环

*参数:

*返回值:

************************************/

voidloop()

{

if(Serial.available()>0)

{

ch=Serial.read();

Serial.print(ch);

if(ch==4)//前进(只是前进)

{

front();

flag=0;

}

elseif(ch==7)//后退(只是后退)

{

behind();

flag=1;

}

elseif(ch==5)//左

{

user_left();

}

elseif(ch==6)//右

{

user_right();

}

elseif(ch>7)//挖土

{

watu_api();

delay(200);

stopcar_api();

}

elseif(ch==1)//刹车

{

stopcar_api();

}

Serial.print(flag);

}

}

方案二:

voidsetup()

{

Serial.begin(115200);

pinMode(8,OUTPUT);

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);

pinMode(11,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

digitalWrite(4,1);

stopcar();

}

voidfront()

{

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,HIGH);

}

voidbehind()

{

digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,LOW);

}

voidleft()

{

digitalWrite(8,LOW);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

}

voidright()

{

digitalWrite(8,HIGH);

digitalWrite(9,LOW);

digitalWrite(10,HIGH);

}

voidwatu()

{

digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

digitalWrite(11,HIGH);

}

voidstopcar()

{

digitalWrite(8,LOW);

digitalWrite(9,LOW);

digitalWrite(10,LOW);

digitalWrite(11,LOW);

}

unsignedcharch,flag=2;

voidloop()

{

if(Serial.available()>0)

{

ch=Serial.read();

Serial.print(ch);

if(ch==4)//前进

{

front();

flag=0;

}

elseif(ch==7)//后退

{

behind();

flag=1;

}

elseif(ch==5)//左

{

right();

flag=3;

delay(200);

stopcar();

}

elseif(ch==6)//右

{

left();

flag=2;

delay(200);

stopcar();

}

elseif(ch>7)//挖土

{

watu();

flag=4;

delay(200);

stopcar();

}

elseif(ch==1)//刹车

{

stopcar();

flag=5;

}

Serial.print(flag);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1