导航:首页 > APP软件 > 智能小车蓝牙app

智能小车蓝牙app

发布时间:2024-12-05 07:22:54

1. 蓝牙控制51单片机智能小车

我简单说一下原理吧,芯片需要慢慢来挑选,这个你可以自己去找,有很多;回
首先需要解决的是单片机控制答小车的问题,要想解决这个问题,首先需要解决智能小车的操作和功能;小车必须要有前后左右控制功能、加速、减速、刹车、左转向、又转向和倒车功能,有了这几种功能之后 小车才能行动自如;

解决小车的问题,就要将小车的控制功能转于到单片机来实现(一般小车内部也会有单片机),实现了这一步,下面就需要做蓝牙的通信;

蓝牙通信IC非常多,速率从几十KB~几MB不等,根据数据流的需求来选择一款蓝牙IC,进行IC-IC的通信,一般IC的DATASHEET里面都会详细的说明该器件的使用方法以及相关软件配置和操作步骤等;重点在于调试,硬件电路搭建完成之后,最重要的是软件调试;

蓝牙通信方式是串行数据无线发送/接收,我们一般使用的控制位一般是多位的,那么你需要自己写一个小的并串转换程序;当然现在的蓝牙IC也有8BIT并行数据接口,如果选用类似的芯片,则更便于操作;

用蓝牙控制小车,重点还是在于用单片机控制小车,只要实现了这一步,通信方面就比较简单了;

祝你成功;

2. 手机控制智能小车的问题:单片机对蓝牙传过来的数据不反应

#include<reg52.h>//声明头文件
#define uchar unsigned char//宏定义
#define uint unsigned int//宏定义
sbit deng=P2^0;//定义车灯的控制引脚
sbit z=P2^1;//定义左转向灯的控制引脚
sbit y=P2^2;//定义右转向灯的引脚
sbit BEEP=P2^3;//定义蜂鸣器的引脚
sbit zuo1=P0^0;//定义控制左边电机的单片机引脚
sbit zuo2=P0^1;//定义控制左边电机的单片机引脚
sbit you1=P0^2;//定义控制右边电机的单片机引脚
sbit you2=P0^3;//定义控制右边电机的单片机引脚
uchar a=0;//定义一个变量a,用来读取串口的数据
void delay(uint z)//一个带参数的延时程序
{
int i,j;//定义两个变量
for(i=10;i>0;i--)
for(j=z;j>0;j--);//将参数z赋值给j
}
void init()//初始化子程序
{
TMOD=0x20;//设置定时器T1为工作方式2
TH1=0xfd;
TL1=0xfd;//T1定时器装初值
TR1=1;//启动定时器T1
REN=1;//允许串口接收
SM0=0;
SM1=1;//设置串口工作方式1
EA=1;//开总中断
ES=1;//开串口中断
}
void go()//前进子程序
{
zuo1=0;
zuo2=1;//左边轮子正转
delay(25);//pwm有用值,越大左边方向的轮子越快
zuo1=1;//关闭左边轮子
you1=0;
you2=1; //右边轮子正转
delay(24);//pwm有用值,越大右边的轮子越快
you1=1;//关闭右边轮子
delay(100);//pwm无用值,越大,小车跑的越慢
z=1;
y=1;//关闭转向灯
}
void hui()//小车后退的子程序
{
zuo1=1;
zuo2=0;//左边轮子倒转
delay(25);//pwm有用值,越大左边方向的轮子越快
zuo2=1;//关闭左边轮子
you1=1;
you2=0; //右边轮子倒转
delay(24);//pwm有用值,越大右边的轮子越快
you2=1;//关闭右边轮子
delay(100);//pwm无用值,越大,小车跑的越慢
z=1;
y=1;//关闭转向灯
}
void turnleft()//小车左转弯子程序
{
zuo1=1;
zuo2=1;//左边轮子停止转动
you1=0;
you2=1; //右边轮子正转
delay(24);//pwm有用值,越大右边的轮子越快
you1=1;//右边轮子停止
delay(100);//pwm无用值,越大,小车跑的越慢
z=1;
y=1;//关闭转向灯
z=~z;//左转向灯打开
}
void turnright()//小车右转弯子程序
{
zuo1=0;
zuo2=1;//左边轮子正转
delay(25);//pwm有用值,越大左边方向的轮子越快
zuo1=1;//左边轮子停止
you1=1;
you2=1; //右边轮子停止
delay(100);//pwm无用值,越大,小车跑的越慢
z=1;
y=1;//关闭转向灯
y=~y;//右转向灯打开
}
void down()//停止子程序
{
zuo1=1;
zuo2=1;
you1=1;
you2=1; //左右轮全部停止
z=1;
y=1;//关闭转向灯
}

void main()//主程序
{
init();//调用初始化子程序
while(1)//死循环
{
switch(a)//判断a从串口读取到的数据
{
case 0x1f://如果是0x1f就前进
go();
break;
case 0x2f://如果是0x2f就后退
hui();
break;
case 0x3f://如果是0x3f就左转
turnleft();
break;
case 0x4f://如果是0x4f就右转
turnright();
break;
case 0x00://如果是0x00就停止
down();
break;
case 0xa0://如果是0xa0车灯打开
deng=0;
break;
case 0xb0://如果是0xb0车灯关闭
deng=1;
break;
case 0xc0://如果是0xc0蜂鸣器鸣响
BEEP=0;
break;

case 0xd0://如果是0xd0蜂鸣器关
BEEP=1;
break;
}
}
}
void chuan() interrupt 4//串口中断服务程序
{
RI=0;//软件清除串口响应
a=SBUF;//读取单片机串口接受的蓝牙模块发送的数据
}用着个程序试试

阅读全文

与智能小车蓝牙app相关的资料

热点内容
ota第三方网站多少钱 浏览:732
电脑版微信可以查找聊天文件吗 浏览:234
软件下载的视频文件库找不到 浏览:614
计算机网站毕业设计论文 浏览:807
surge教程 浏览:735
语法检索文件夹内容 浏览:131
新的苹果电脑禁止符号 浏览:623
去掉文件名中的下划线 浏览:50
苹果手机浸水开机不到 浏览:618
怎么推广自己产品网站 浏览:781
win10强制关机文件丢失修复 浏览:748
如何学数控编程培训哪里有 浏览:659
相片存到文件找不到 浏览:656
物联网卡套餐收费和网络速率如何 浏览:529
linux文件添加执行权限 浏览:743
iphone5刷imei 浏览:329
虚拟机装苹果系统教程 浏览:615
什么租号玩app最好用 浏览:723
word2003怎么清除格式 浏览:362
游戏蜂窝苹果版下载 浏览:626

友情链接