天天看点

一种基于51单片机的循迹、音乐播放、流水灯、避障、游戏手柄遥控玩具小车

这是一个学生自娱自乐的项目,也没有什么题目。只是想送一个玩具给我的蓝朋友~

最终实现的功能如标题所言,车车可以循迹,避障,进行音乐播放以及流水灯实时显示路程以及时间温度等等,还可以用自制的手柄控制。我打算慢慢把它做出来,博客成形之日,就是我的车车亮相之时。

目录

一、日程

二、总结与感悟

一、日程

2018年6月2日

今天大抵确认了小车要实现的功能以及对应的模块。如下:

流水灯      推挽结构的IO口

避障        超声波模块

驱动电路     不打算用L298N模块了,之前用过,想试一下MX1508       

音乐电路     蜂鸣器          

白黑循迹

显示速度和路程  1602液晶屏,不打算用光电门了,打算尝试一下霍尔传感器 

循迹       红外传感器  

显示温度    DS18B20温度传感器

选择功能            按键模块

遥感手柄控制 

2018年6月3日

   我打算把遥控功能做成手柄形状的,今天看了一下它的使用方法。

2018年6月4日

今天买了所有的模块,在淘宝上,花了60多。

顺便学习了超声波模块的使用,就是下面这个东东:

一种基于51单片机的循迹、音乐播放、流水灯、避障、游戏手柄遥控玩具小车

那么,怎么使用它呢。我给大家说一下

   这个超声波模块的原理就是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也上传了,到时候把链接发给大家。(排针的焊盘大家适当扩大一下吧,不然你打孔时候一定注意打大一点儿)

但是,其实个人建议直接上淘宝买最小系统板,做板子挺浪费时间的。再不行,用洞洞板,也比腐蚀电路板容易许多。