完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基于51单片机制作的蓝牙小车
这是本人(小菜鸡一枚)于大一寒假所做的小玩意,以展现我这几月所学,这也是我发的第一篇博客,准确来说这可能是我搞51单片机的巅峰所做了,因为部长说以后要学stm32开发板了,51单片机以后大概是不会接触了,不得不说写博客对我而言真的有点困难。祝愿我也祝愿大家能够坚持自己的梦想。 一.所需材料 1,51单片机开发板x1 2,杜邦线(公对公,母对母,公对母) 3,L298N步进电机x1 4,电池一枚,以作为电源 5,HC-05蓝牙模块(本人买的是主从一体式) 6,蓝牙小车底盘一个 二,组装阶段 1,L298N模块各接口说明, 1)首先12V电源输入是直接接电源正极的(本人买的是12V电池,毕竟跑的快)。 2)电源地接电源负极以及单片机的GND(当作负极看吧,好理解)。 3)5V输入直接就接51单片机的VCC(就是51单片机的电源输入口)。 4)电池电流是先流入L298N再去51单片机开发板的,别问我为什么知道,因为我已经烧坏一块板子了。至于其他接口图上已经说的很明白了。 5)A,B通道使能输出口(ENA及ENB),本人没有用,也不用管那个玩意,因为我菜不会用,而且也没什么大用 6)马达A,B输出口,用于控制马达的电流输出,接马达就好。 7)A,B通道使能输出口中间的的4个口,是接单片机IO口的,用于逻辑写入。 2,HC-05蓝牙模块 1)蓝牙模块上的VCC接51单片机上的VCC,GND接51单片机上的GND 2)蓝牙模块上的TXD与RXD是接入单片机的IO口上,下面会有所说明。 3,51单片机说明 这是单片机开发板的部分原理图(IO口) 1)L298N上的A,B通道使能输出口中间的的4个口(IN1,INT2,INT3,INT4),本人分别接于单片机上P00,P01,P02,P03这四个IO口上。 2)蓝牙模块上的RXD接口接在单片机上的TXD接口上,在该原理图上是P31接口;TXD接口接在RXD接口上,即P30接口。 三,成品展示 因本人手艺粗糙,效果就是这个样子(我弟弟玩的还是很开心,导致有些接口接的比较松) 四,代码实现阶段 #include ***it int1=P0^0; ***it int2=P0^1; ***it int3=P0^2; ***it int4=P0^3; char i; void stop()//停止 { int1=0; int2=0; int3=0; int4=0; } void back()//后退 { int1=1; int2=0; int3=1; int4=0; } void forward()//前进 { int1=0; int2=1; int3=0; int4=1; } void right() //右转 { int1=0; int2=1; int3=1; int4=0; } void left()//左转 { int1=1; int2=0; int3=0; int4=1; } void main() { TMOD=0x20; //设置T1为工作方式2 TH1=0xfd; //装入初值,比特率为9600bps TL1=0xfd; TR1=1; //开启T1 REN=1; //接收允许 SM0=0; //方式1 SM1=1; EA=1; //开全局中断 ES=1; //开串口中断 while(1) { i=SBUF;//SBUF为单片机接收到的数据,单片机接收到的数据都存放在SBUF里; RI=0; switch(i) { case '1': forward(); break; case '2': back(); break; case '3': left(); break; case '4': right(); break; case '5': stop(); break; } } } 五,测试 通上电之后呢,就可以用手机蓝牙进行测试啦。 1,首先呢先在手机上下载一个蓝牙助手,大概像这个样子的。 最主要的是那四个前后左右的按键,其他的是我自己加的,反正在源代码上自行添加就好。 解析:前进,后退,左转,右转,停止,都对应着程序中相应的信息,如图; 当手机端发送 1 给蓝牙模块,就会执行 forward()函数; 小车会向前走 当手机端发送 2 给蓝牙模块,就会执行 back();函数;,小车会向后走 当手机端发送 3 给蓝牙模块,就会执行 left();函数;,小车会向左走 当手机端发送 4 给蓝牙模块,就会执行 right()函数;,小车会向右走 当手机端发送 5 给蓝牙模块,就会执行stop()函数;,小车会停止。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1848浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
610浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
504浏览 3评论
508浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
489浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:36 , Processed in 0.627488 second(s), Total 45, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号