基于51单片机制作的基础四轮蓝牙小车

发布时间:2022-12-09  

一、材料准备


1.小车底座(淘宝有很多亚克力板的,但是我没有,我就拿以前比赛用过的铁板来组装了)


2.51单片机最小系统


3.51单片机芯片


4.l298n电机驱动芯片x2(因为是做四轮的,所以我就用了两个驱动了,驱动效率也高一些)


5.HC-05蓝牙模块 (新手可以用hc-06,比较简单一些,因为我只有hc-05就只能用这个了)


6. 直流电机x4


7.轮子x4


8.12V 16850锂电池组


9.DC转接头


10.公对母,公对公,母对母杜邦线若干(建议长短都买些,全是长的接线就太乱了,全是短 的也就不太好接线了)


11.USB转TTL (用于给HC-05蓝牙模块配置)


二、蓝牙设置


1.引脚说明


1. RXD: 接收端

2. TXD: 发送端

3. AT: 设置工作模式

1) 工作模式: 自动连接(automatic connection),又称为透传模式() 又稱為透通模式 (transparent communication)

2) AT指令设置模式: 命令回应(order-response),又称为AT模式(AT mode)

4. VCC: 模块供电正极(5V)

5. GND: 模块供电负极

6. EN:使能端,需要进入AT模式时接3.3V。其实不接也没有关系

7. STATE:我也不知道有什么用,没有用到


2.连接方式


1.USB转TTL与HC-05的连接

2.HC-05与51单片机的连接

3.进入AT模式


HC-05与HC-06不同,HC-06没有连接上时,就是AT模式,而HC-05需要有个开关,注意到模块上的小黑点没有,按下它再上电就使HC-05进入AT模式了,严格的讲,它只是一个开的作用,无法退出AT模式。此时指示灯慢闪(1秒亮一次),模块进入AT状态。


4.基本配置


我这里用来配置的串口调试助手是XCOM V2.5


模块默认波特率为9600、默认配对密码为1234、默认名称为HC-05,

AT模式波特率固定38400,8位数据位、1位停止位、无奇偶校验的通信格式。


AT+NAME="XXX" 修改蓝牙模块名称为XXX

AT+ROLE=0 蓝牙模式为从模式

AT+CMODE=1 蓝牙连接模式为任意地址连接模式,也就是说该模块可以被任意蓝牙设备连接

AT+PSWD=1234 蓝牙配对密码为1234

AT+UART=9600,0,0 蓝牙通信串口波特率为9600,停止位1位,无校验位


5.模块指示灯说明


1.将模块上电同时(或者之前),将KEY接高电平,此时指示灯慢闪(1秒亮一次),模块进入AT状态,此时波特率固定38400。

2.将模块上电后,将KEY悬空或者接地,此时指示灯快闪(1秒2次),表示模块进入可配对状态。此时如果将KEY接高电平,模块也会进入AT状态。但是指示灯依然是快闪(1秒2次)。

3.模块配对成功,此时STA双闪(一次闪2下,2秒闪一次)。


6、设置过程中遇到的两个问题


正常情况下,按照上面的配置,基本上都能成功。但如果没有成功,要怎么自检。本人就遇到过来成功配对后无法通信的问题,结果是由于蓝牙模块设置的波特率与单机片烧写的波特率不一样所致。开始一直怀疑是蓝牙模块本身有问题。弄了一下午,测输出波形,更换连接串口,浪费了很多时间。自检方法也很简单,单片机给蓝牙模块供电,单片机端的蓝牙模块TX与RX直接相连,自发自收,电脑端能收到串口信号,则说明主从模块没有问题。遇到的另一个问题是用串口助手发送AT命令没有反应。我也不知道怎么原因,开始一直以为是自己操作或者数据格式的问题,后来去网上查,网上说不能用串口助手配置,换了个串口调试工具就可以了。


三、小车组装与接线


1.l298n接口说明

2.线路连接


蓝牙模块和单片机直接的连接在上面说了,就不说了


我接线是先用12v的16850电池组给其中一个l298n驱动供电,然后将两个l298n的12v和GND接口用杜邦线相连接起来,然后在用其中一个l298n的5v和GND接口给单片机最小系统供电(千万别连错了,电压小了,单片机无法正常工作;电压大了,单片机芯片就会被烧坏)。


l298n上面还有4个IN接口(负责控制两边电机的开关)和两对EN接口(可以做PWM给电机调速),这次就只做个基础的蓝牙小车,就不做调速了(想要调速的同学可以去学习一下PWM占空比调速)。四个IN接口分别连接最小系统上对应的接口(按照我的代码就是其中一个in1234分别连接单片机的P0^3,P0^4,P0^5,P0^6;另外一个in1234分别连接P1^0,P1^2,P1^3,P1^4)。


然后l298n的左右两边分别有两个口,分别为output1,output2,output3,output4.。output1,output2分别连接直流电机的正负;output3,output4分别连接直流电机的正负,两个l298n就同理了。


接线图(由于我用的是铁板,怕影响就垫了层纸巾)


3.小车调试


接完线之后肯定就是调试了,连接电源后,用手机连接蓝牙进行调试(调试也没啥细节,就拿到手就知道该怎么调试了,我也不知道该怎么打字打出来了……)我用的软件是SPP蓝牙串口。


四、代码


#include

sbit int1=P0^3;

sbit int2=P0^4;

sbit int3=P0^5;

sbit int4=P0^6;

sbit int01=P1^0;

sbit int02=P1^1;

sbit int03=P1^2;

sbit int04=P1^3;

char i;

void stop()

{

int1=0;

int2=0;

int3=0;

int4=0;

int01=0;

int02=0;

int03=0;

int04=0;

}

void back()

{

int1=1;

int2=0;

int3=1;

int4=0;

int01=1;

int02=0;

int03=1;

int04=0;

}

void forward()

{

int1=0;

int2=1;

int3=0;

int4=1;

int01=0;

int02=1;

int03=0;

int04=1;

}

void right()

{

int1=0;

int2=1;

int3=1;

int4=0;

int01=0;

int02=1;

int03=1;

int04=0;

}

void left()

{

int1=1;

int2=0;

int3=0;

int4=1;

int01=1;

int02=0;

int03=0;

int04=1;

}

void main()

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

TR1=1;

REN=1;

SM0=0;

SM1=1;

EA=1;

ES=1;

while(1)

{

i=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;

}

}

}

五、提醒


线路别接错,接线的时候看仔细了,千万别给最小系统供到12v的电,要不然芯片直接烧了,调试的时候发现有问题,检查一下线路有没有接错,可以拿示波器或者万用表来测一下各个位置正不正常,有没有什么元件损坏了。


六、闲话


第一次发博客,可能有些漏了的地方,或者用的不恰当的,欢迎各位大佬在评论区指出错误,也欢迎各位大佬来给我提出更好的意见,共同学习共同进步。


51其实上学期刚入学就自学了,今天看到以前的同学在写csdn就想着过来分享与记录一下自己的学习,就凑了些零件过来做了一个基于51的蓝牙小车。当初从实验室随便拿了两个电机驱动回去做,发现是7A/160W的双路直流电机驱动模块XY-160D(下图),没有跳线帽,接不了杜邦线,就只好去淘宝买了l298n来做了。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    单片机能做什么创意小发明?新手怎么制作单片机智能小车?;曾经,有一个老板跟我说,很羡慕我们这些做技术的。 我们都感觉有点讽刺,一个身价上千万的人,羡慕我们这些年收入不到20万的。 不过......
    来汽车发展的趋势。本文提出了一个基于STM32F103芯片为控制核心,附以红外传感器采集外界信息和检测障碍物的智能小车系统设计方案。充分利用该芯片高速运算、处理能力,来实现小车自动识别路线按迹行走、躲避......
    只能通过项目去锤炼,别无捷径,这也是为什么无际单片机编程通过项目带领大家学习单片机开发的原因。 技术不落地,你永远也学不会,而项目就是落地最好的方法。 下面来聊下,单片机有什么创意的小发明。 相信学过单片机的都知道智能小车......
    基于STM32的可遥控智能跟随小车的设计与实现;1、引言 智能小车是一个集自动控制、环境监测、无线遥控等多功能于一体的综合系统,人们习惯称其为移动轮式机器人,目前以单片机......
    步态规划[D].济南:山东大学,2019. [4] 杨小博,胡强,苏玉香.基于STC12C5A60S2的循迹避障智能小车的设计[J].福建电脑,2017,33(11):19-20. [5] 候帅......
    上的许多51单片机开发板大同小异,都是用P1口控制LED灯,所以在此就不提供智能小车的原理图和实物图。 源代码:# 软件模拟PWM方波通常利用定时器来实现。 参考代码1: #include......
    采用AT89C52单片机实现智能泊车系统软硬件电路的设计;引 言 随着我国汽车数量逐年急剧增多,泊车位、停车场的数量却跟不上其增长的步伐,越来越多的人为如何泊车而发愁。日益拥挤的泊车环境要求人们对汽车的......
    基于AT89C52单片机的智能环保小车电路模块设计;  随着电子产品的快速发展,“智能工具”越来越普及化。智能清洁工具也为人们的生活带来了很大的便利。传统的清洁工具功能相对比较单一,只能吸尘,或只......
    开发板做了一个电子时钟的小项目。 然后就去找工作,因为是转行,又没项目经验,公司基本都不要。 后面在某宝买了一个智能小车的DIY套件,我先是买了一套没有焊接的,然后自己从焊板子开始一步步把这个项目做出来。 第一次焊板子的时候,没经......
    基于电磁四轮小车的距离积分算法;基金项目:无锡学院优秀本科毕业论文(设计)支持计划,项目编号BSZC2023039本文引用地址:0 引言 辆技术的实现主要依靠车内以计算机系统为主的智能驾驶仪来实现......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>