完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先给大家看下整体效果呀~ 一·硬件软件准备 51开发板,HC-05,L298N,12V电源,USB TO TLL,小车基本材料,导线若干。 串口助手和手机蓝牙软件: 链接:https://pan.baidu.com/s/1aa8spnFKk_9fsT2SkxsfjQ 提取码:2233 二·蓝牙连接准备: (一)设备连接 我的转接是直接连接在笔记本上的,所以用的是5V,注意将跳线帽连接到5V上(如图1) 图1 之后将蓝牙的四个接口连接到USB TO TLL上,注意RXD(接收端)连接到TXD(发送端),TXD(发送端)连接到RXD(接收端),因为蓝牙是双向传到的,所以要交错链接(如图2) 图2 注意将跳线帽连接到5V,蓝牙RXD(绿色),TXD(橙色),GND(灰色),VCC(紫色)分别连接到USB TO TLL TXD(绿色),RXD(橙色),GND(灰色),5v(紫色) (二)连接到电脑调试 在插入电脑前将蓝牙上面的按钮按住,然后,插入电脑,等待蓝牙上面的红灯间隔两秒左右闪烁时,表示进入AT(设置模式) 下载本文开头的的串口助手打开,按照图三连接 图3 波特率设置为38400是根据手册来的,不用过多纠结,一定要按照12345步骤完成。 如果输入AT串口助手返回OK表示发送指令正常 接下来设置调节:
设置四个IN口对应51上的P10到P13 5个函数分别控制小车前后左右停 定时器1用的是9600波特率要匹配好蓝牙 之后烧入程序 #include ***it IN1 = P1^0; // 左上 ***it IN2 = P1^1; // 左下 ***it IN3 = P1^2; // 右上 ***it IN4 = P1^3; // 右上 void stop() // 停 { IN1=0; IN2=0; IN3=0; IN4=0; } void forward() // 向前 { IN1=1; IN2=0; IN3=1; IN4=0; } void back() // 向后 { IN1=0; IN2=1; IN3=0; IN4=1; } void left() // 向左 { IN1=0; IN2=1; IN3=1; IN4=0; } void right() // 向右 { IN1=1; IN2=0; IN3=0; IN4=1; } void Time_Int () interrupt 4 { unsigned char date; if(RI == 1) // RI为1时软件置0 { RI = 0; // 清除接受标志 date = SBUF; // 接收数据存在date中 switch (date) { case ('1'): { forward(); break; } case ('2'): { back(); break; } case ('3'): { left(); break; } case ('4'): { right(); break; } case ('0'): { stop(); break; } } } } void UsartConfiguration(void) //9600bps@11.0592MHz { PCON = 0x00; //使能波特率倍速位SMOD SCON = 0x50; //8位数据,可变波特率 TMOD &= 0x0F; //清除定时器1模式位 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TL1 = 0xFD; //设定定时初值 TH1 = 0xFD; //设定定时器重装值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1 ES = 1; //开启串口中断 EA = 1; //开启总中断 } void main () { UsartConfiguration(); // 串口初始化 while(1) { } } 四·硬件连接 基本轮胎连接发个图你们应该看得懂吧~~~ (一)马达连接:注意马达与导线连接部分我是朝外侧的,当然你也可以朝内侧。(我两边都是一样的,都是深蓝色的线连接上面,浅蓝色的线连接下面)(图一) 图一 (二)L298N连接和51单片机连接:四根连接马达的线分别连接在L298N的四个输出口(如图二)。(注意马达线和OUT的连接要一致) 图二 连接出来效果是这样的 图三 接下来我们连接四个IN口(四个IN分别一一对应四个OUT和51上的四个IO),四个IN从左往右依次是IN4,IN3,IN2,IN1(如图二) 连接出来效果是这样的(图四) 图四 接下来将四个IN连接到51上的P10~P13四个口上,注意颜色连接(如图五) 图五 接下来是电源线的连接(接口介绍可看图二),橙色线连接5V(用于给51供电),红色线连接GND(给51接地),浅蓝线(给电池接地),深蓝接12V(L298N供电标准是12V,实际上如果电压太低马达是转不动的),具体连接如图六 图六 在51和电源上的连接分别试是这样的(如图七) 图七 (三)·蓝牙(HC-05)连接 :(如图八) 图八 从上往下依次是RXD(绿色),TXD(橙色),GND(灰色),VCC(紫色) 分别连接到51的P31(TXD),P30(RXD),GND,5V(如图九)。值得一说的是蓝牙是双向传输,所以RXD(接收端)TXD(发送端)要交错相连接,即RXD连接TXD,TXD连接RXD 图九 最后连接电源发现51,蓝牙,L298N都亮了就可以啦(图十) 图十 五·手机连接控制 打开手机蓝牙 打开蓝牙软件(本文开头有下载) 点击连接蓝牙,找到设置好的蓝牙名字,输入密码连接 点开键盘,点击编辑模式按照图(1)设置 图(1) 六·注意事项: 电源不能太小至少要7V左右,不然电压不够带不动电机转动 电源连接线和马达连接可以线粗一点的,细线可能带不动 一般来说喔都有电池连接,但我这里没有就用了格式锂电池,都一样 马达有没有坏最简单的方法就是直接给5V电源看他转不转就完事了 包括其他模块也是一样,本来要亮的模块不亮了,就是烧了 51烧入软件时最好先烧入程序在连接硬件 如果对你有帮助可以点赞收藏下鸭~ |
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9004 浏览 16 评论
4052 浏览 18 评论
1115浏览 3评论
573浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2303浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1859浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 12:13 , Processed in 1.133650 second(s), Total 50, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号