51单片机蓝牙遥控麦轮小车

一直以来就有想法自己做一个小车玩玩,但是一直没提上日程,这次寒假是个很好的机会,在这里把过程中的一些心得和资源分享给大家,源程序将在文末贴出来供大家参考

硬件部分

底盘

底盘用的是某宝现成的底盘,之前在学校比赛用的是亚克力板,这次选用的是铝合金材料的,怎么造也不会坏,也不贵,一二十块钱吧
在这里插入图片描述

麦克纳母轮

在选轮子的时候首先想到的就是麦轮,不仅可以实现全向移动,看起来逼格也更高,选购的时候一定要分清楚左轮和右轮,因为左轮和右轮在旋转时产生的分力是不一样的,想要小车向某一个方向移动,必须抵消掉其他方向的力,否则小车将不受控制我采用的是ABAB式安装,这也是常用的组装方法
在这里插入图片描述

减速电机

减速电机种类和样式简直是五花八门,价格也是参差不齐,有高标准的小伙伴们建议多了解一下这里面的套路,我用的是最最最普通的TT电机,速度不是很快,加5V电压的话转速在190r/min左右,主要是性价比让我动心,尤其是对于经济困难的我来说,这种几块钱一个的电机再合适不过了,另外一个要注意的是电机和轮子连接着一块要着重看看
在这里插入图片描述

主控模块

原本是准备用stm32的板子的,但是还没学完,就先用51单片机凑合用,其实对于玩玩来说51就够了,编程也简单,这次不是用的传统的带底座的单片机,而是选择了一款新的贴片封装的,看起来要轻巧一些,其实功能都一样,只是这款的TXD和RXD没有标注出来,学过的朋友应该知道其实就是P30和P31两个IO口,关于单片机的知识我不多说,不会的朋友请先简单学习学习,另外,这款板子容易自锁,导致stc一直检测不到单片机,这时候只需要把P10和P11两个IO口同时接地即可,源程序将在文末贴出来
在这里插入图片描述

电源模块

电源标称电压5V就够了,重点是要容量大,我用的是4000mAh的,容量太小跑一会儿就没电了影响体验
在这里插入图片描述

驱动模块

我选择的是一个集成的四路驱动,其他都挺好,可能散热差一点,有条件的可以选其他带散热片的驱动,驱动的选择不会影响程序的编写
在这里插入图片描述

蓝牙模块

蓝牙模块也有很多种,我用的是蓝牙2.0的HC-06主从一体模块,某宝上价格不一,推荐在经常去的店买,有保障,相对于HC-05来说这款更简便,上电就是AT模式,AT指令集我放在下面的链接里了,自取,手机端用的是SPP蓝牙助手
在这里插入图片描述
在这里插入图片描述

链接:https://pan.baidu.com/s/1RxVXp85P2vCJ9Oy9LTLdzA
提取码:YYDS

舵机

SG90舵机,需要给定持续输出的占空比0.5MS~2.5MS、周期20MS的方波才能转动,0.5MS对应-90°,2.5MS对应90°,SG90舵机角度极限是180°
在这里插入图片描述

软件部分

软件以及串口驱动

编译软件:Keil4
烧录软件:stc-isp
串口驱动:CH340

源程序

/**************************************************************
***名称:         蓝牙遥控小车
***作者:         ZhangGe0404
***创作日期:     2021.1.19
***晶振:		  12M
/*************************************************************/
#include<reg52.h>
#include<intrins.h>

sbit In1=P2^0; //左前电机
sbit In2=P2^1;
sbit In3=P2^2; //右前电机
sbit In4=P2^3;
sbit In5=P2^4; //左后电机
sbit In6=P2^5;
sbit In7=P2^6; //右后电机
sbit In8=P2^7;

sbit SG_PWM=P1^5;//舵机控制端

#define uchar unsigned char  //宏定义
/*****************************
***定义全局变量
/****************************/
uchar count=0;		 //计数变量
uchar PWM_count=15;	 //预设变量
uchar a=0;

/**************************************************
***初始化定时器函数
/*************************************************/
void Timer_Init()	
{
   
	TMOD=0x01;			 //设置定时器模式为1
	TH0=0xfe;
	TL0=0xa4;			 //设置定时器初值为0.1MS
	ET0=1;				 //打开定时器0中断
	TR0=1;				 //定时器0开始计时
	EA=1;				 
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值