一种基于51单片机的循迹、音乐播放、流水灯、避障、游戏手柄遥控玩具小车
资料下载:
51最小系统板PCB https://download.****.net/download/weixin_42089190/10465611
51最小系统板原理图 https://download.****.net/download/weixin_42089190/10465928
这是一个学生自娱自乐的项目,也没有什么题目。只是想送一个玩具给我的蓝朋友~
最终实现的功能如标题所言,车车可以循迹,避障,进行音乐播放以及流水灯实时显示路程以及时间温度等等,还可以用自制的手柄控制。我打算慢慢把它做出来,博客成形之日,就是我的车车亮相之时。
一、日程
二、总结与感悟
一、日程
2018年6月2日
今天大抵确认了小车要实现的功能以及对应的模块。如下:
流水灯 推挽结构的IO口
避障 超声波模块
驱动电路 不打算用L298N模块了,之前用过,想试一下MX1508
音乐电路 蜂鸣器
白黑循迹
显示速度和路程 1602液晶屏,不打算用光电门了,打算尝试一下霍尔传感器
循迹 红外传感器
显示温度 DS18B20温度传感器
选择功能 按键模块
遥感手柄控制
2018年6月3日
我打算把遥控功能做成手柄形状的,今天看了一下它的使用方法。
2018年6月4日
今天买了所有的模块,在淘宝上,花了60多。
顺便学习了超声波模块的使用,就是下面这个东东:
那么,怎么使用它呢。我给大家说一下
这个超声波模块的原理就是VCC接VCC,GND接地,然后把TRIG和Echo接任意一个引脚,当给Trig10us以上的高电平时,Echo就可以返回一个高电平,高电平的持续时间与模块和障碍物的距离有关,很多程序都用这个原理来测距。不过,我的小车只用它来避障,因此,我感觉只要检测到高电平就让车转弯就可以了,这个在车模回来之后试验一下。以下是我实验超声波的程序:
#include<reg51.h>
#include<intrins.h>//_nop_();延时一个机器周期,12MHZ晶振时钟周期为1/12us,机器周期为12*时钟周期=1us
sbit Trig= P2^1;
sbit Echo= P2^0;
sbit Beep= P1^5;
main()
{ int i=1,j=1;
while(1)
{
Trig=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
Trig=0;
while(!(Beep=~Echo));
Beep=1;
}
}
只要检测到有距离,蜂鸣器就会响,如果手指头按着超声波模块,距离为0,蜂鸣器就安静了。
2018年6月5日
想在车车上设计几个心形的灯,弄成流水灯或者跑马灯神马的,为了不占用太多IO口,我打算使用推挽结构的IO口。算了,还是等元器件都回来再说吧,实在引脚不够用就用74HC595了。
2018年6月7日
今天,用去年画好的PCB做了一个最小系统板玩儿。PCB也上传了,到时候把链接发给大家。(排针的焊盘大家适当扩大一下吧,不然你打孔时候一定注意打大一点儿)
但是,其实个人建议直接上淘宝买最小系统板,做板子挺浪费时间的。再不行,用洞洞板,也比腐蚀电路板容易许多。