硬件篇:手把手教你制作属于你的遥控车(51单片机蓝牙小车)
重要声明
本人为软件工程专业,硬件不是本专业的学习范畴,因为本人对硬件感兴趣,自学了部分51单片机知识,这个小车是20年上半年因为疫情被困在家中突发奇想做的,现在有空闲时间就想着写一篇博客,分享给同样对硬件感兴趣的小伙伴。
所需知识准备
了解51单片机、HC-05/06蓝牙模块使用方法!!!!
准备材料
51单片机最小系统板、LM2596降压模块、HC-06蓝牙模块、MG995系列180度舵机、L298N电机驱动(160w双路)、任意品牌遥控车车架带电机、聚合物锂电池一块
部分原材料照片
设计思路和接线示意
原理简介
因为是自学的51单片机,不会用太复杂的东西,所以用到的原理都很简单,51单片机与HC-06蓝牙模块串口通信、L298N电机驱动芯片驱动两路电机、51单片机通过串口输出PWM波控制舵机,以上原理较为简单,就不一一详细阐述了,有一点想提醒和我一样的萌新:注意看你用的L298N的电流,如果驱动的电流较大,建议和我一样对它单独供电,不然会出大问题的!!还有一点就是串口通信时TXD与TRD反接问题,这是串口通信的关键。
51程序代码
下面的代码是成功的时候最原始的代码,后续进行过修改因为没保存,现在找不到了,所以就把最原始的代码贴出来了。程序比较简单,应该都看得懂。难一点的地方也加了注释,有看不懂的地方欢迎评论留言。
/*蓝牙小车程序
T0产生PWM控制舵机,T1用于串口通信舵机330hz*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned intsbit PWM=P0^0; //舵机控制端口
sbit in1=P2^0; //电机控制端口1
sbit in2=P2^1; //电机控制端口2
sbit in3=P2^2; //电机控制端口3
sbit in4=P2^3; //电机控制端口4
sbit FMQ=P0^1; //蜂鸣器控制uint count=0,jd;
uchar a;void InitUART() //串口初始化
{TMOD = 0x21; //设置定时器T1PCON = 0x00; //关倍频SCON = 0x50; TH1 = 0xFD; //T1 波特率9600TL1 = 0xFD; TR1 = 1; //启动定时器TR0 = 1;ES = 1; //开启串口中断PS = 1;ET0 = 1; EA = 1; //开启总中断}void main ()
{InitUART(); while (1);}void Time0_Int() interrupt 1 //中断程序
{TH0 = 0xfe; //重新赋值
TL0 = 0x33;if(count< jd) //判断0.5ms次数是否小于角度标识PWM=1; //确实小于,PWM输出高电平elsePWM=0; //大于则输出低电平count=(count+1); //0.5ms次数加1count=count%40; //次数始终保持为40 即保持周期为20ms
}void UARTInterrupt () interrupt 4 //中断程序 4
{if(RI==1){RI = 0;a = SBUF;if (a == 0x01) //前进{in1=1;in2=0;in3=1;in4=0;}if (a == 0x02) //后退{in1=0;in2=1;in3=0;in4=1;} if (a == 0x00) //停止{in1=1;in2=1;in3=1;in4=1;}if(a == 0x03) //左转{ jd=2;}if(a == 0x04) //右转{ jd=4;} if(a == 0x05) //回中{ jd=3; } if(a ==0x06) //蜂鸣器开{FMQ=0;}if(a ==0x07) //蜂鸣器关{FMQ=1;}} }
成品展示
手机遥控界面
总结反思
现在再回去看我的第一个51作品,看着简单,回想刚开始研究51时的艰辛,各种贴吧网站逛了个遍,四处搜集查找资料,因为一点小问题冥思苦想好几天,到最后玩上了自己的遥控车,真的是成就感满满啊!!!继续加油吧,,哈哈。有需要以上原始材料相关资料的可以私信我!!
硬件篇:手把手教你制作属于你的遥控车(51单片机蓝牙小车)相关推荐
- 菜鸟篇--手把手教你制作机器人
如何让一个菜鸟玩转机器人,而不是被机器人玩?本文的目的就是帮助那些还未接触过机器人的朋友在短时间内制作出具有一定专业水准的机器人,手把手教大家如何制作机器人. 在这之前,先让我们初步了解一下什么是机器 ...
- 手把手教你制作AppPreview视频并上传到appStore进行审核
手把手教你制作AppPreview视频并上传到appStore进行审核 注意,你需要使用iMovie才能够制作AppPreview视频文件,用QuickTime录制的无效! 最终效果 1. 新建一个事 ...
- 最新免费自建APP平台哪个好?手把手教你制作APP
大型二手交易网站咸鱼近日发布<90后分享经济消费报告>,报告显示:16-27岁的年轻人用户占比已达55%,90后已成为分享经济的绝对主力:基于地理位置或兴趣同好形成的社区"鱼塘& ...
- 手把手教你制作手机底部导航栏,领导看完都说好
手把手教你制作手机底部导航栏,领导看完都说好
- Android反编译:手把手教你制作高德地图车机共存版
Android反编译:手把手教你制作高德地图车机共存版 前言 前期准备 反编译流程 反编译获取有效信息 修改关键信息 修改包名 修改其它配置 生成APK 重新打包成apk 重新签名 绕过校验机制 定位 ...
- 天线巴伦制作和原理_【火腿DIY】巴伦知识图集|手把手教您制作1:1短波巴伦
洛阳市无线电运动协会 CQ<现代通讯>杂志官网 黑暗森林的博客 什么是巴伦?短波用巴伦的作用是什么? 巴伦(英文:Balun)是平衡Balanced和不平衡Unbalanced转换器的英文 ...
- PWA入门:手把手教你制作一个PWA应用
摘要: PWA图文教程 原文:PWA入门:手把手教你制作一个PWA应用 作者:MudOnTire Fundebug经授权转载,版权归原作者所有. 简介 Web前端的同学是否想过学习app开发,以弥补自 ...
- 手把手教你制作一个带特效的全景图片
一个好的产品才会令人印象深刻,全景图也是这样.这篇文章教你制作一个带特效的全景图片,让你的全景图片"靓"起来. 第一步.准备一张2:1的全景图片.如果不知道全景图是怎么制作的话,可 ...
- 怎么将自己的头像p到特定的背景图_【后期修图】photoshop手把手教你制作属于自己的酷炫的微信头像...
原标题:[后期修图]photoshop手把手教你制作属于自己的酷炫的微信头像 效果图先放上 1.新建一个白色的背景,这里是1080*720的.然后在图层面板下面单击创建新的调整图层/渐变,设 置 好渐 ...
最新文章
- 深度RNN解决语义搜索难题
- vim 使用 surround 批量添加 引号
- Coursera吴恩达《神经网络与深度学习》课程笔记(4)-- 浅层神经网络
- 后台(27)——文件上传
- python装饰器实现用户密码认证(简单初形)
- Android 系统javadoc符 注释/**@hide*/
- vue : 无法加载文件 D:\Program Files\nodejs\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsof t.com/fwlin
- MATLAB 信号处理仿真入门实验
- Ghostscript命令实践
- 2. Ruby下载安装
- c++链表——银行账户管理系统
- 端游体验服服务器维护怎么办,经典区高清天堂体验服维护公告
- svg图标如何修改大小?
- gentoo linux u盘安装,Gentoo系统安装步骤详解
- 热门好用的二维码生成器API
- android人脸身份认证,Android通过支付宝进行刷脸认证
- 如何开发一个车牌识别,车牌识别系统,车辆识别系统毕业设计毕设作品
- bzoj 1022: [SHOI2008]小约翰的游戏John(anti-nim)
- 上海科技大学计算机本科2020,上海科技大学2020年本科招生简章
- 奥运会国家队都是什么神仙颜值啊!Python带你来揭秘!真的超美!
热门文章
- 什么是TensorFlow机器智能平台?
- ROS-Industrial工业机器人培训课程资料-2019更新-Melodic、Kinetic、Indigo
- 轻松学Linux系列课程-赵永刚-专题视频课程
- 西安交通大学计算机基础答案,《大学计算机基础试题与标准答案》-西安交通大学.doc...
- input框 既可以手动输入亦可以进行下拉模糊查找
- 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用
- svm_light和libsvm对比测试
- Python 流程图 — 一键转化代码为流程图
- 单片机c语言数码管程序,单片机C语言static属性和数码管显示程序
- 智慧电子沙盘的区别跟类别