超声波测距小车
资料链接:51单片机超声波测距.rar
链接:https://pan.baidu.com/s/1rEJR5DYoAz_lJZHWJy9sOg
提取码:abcd
取走点赞哦~
项目展示:

仿真展示 :

一、项目要求
(一)项目内密
本课题的主要内容是,将超声波传感器安装在一台沿直线行走的小车上,由AT89C51 控制超声波传感器,发出超声信号,记录超声液从发射到接收的所需要的时间,得到其与|被测物体之间的能离。在小车行走的过程中,不断重复测距,得到一组距离数据。由单片机记录测得的距离,经过数据处理,将其显示在液晶屏上。同时,将一组距离数据,由串口传到上位机,由VB程序保存距离数据,并画出曲线,就得到了被测物体的单边轮廓。
(二)课题研究方需
超声波测距仪系统主要由单片机最小系统、超声波模块、LCO显示电路及电源电路组成。系统的主要功能如下:
超声波传感器发射和接收超声波,依据计时时间测量出与被测物体之间的矩离。
AT89CS51单片机作为主控制器,控制超声波信号的发送和接收,可以用来控制发射模块脸发脉冲的开始时间和脉宽,响应接受超声波返回时刻并进行测量和计数发射到返回的时间间隔。
液晶屏显示器实时显示测量距离。
上位机串口通讯,接收距离数据,利用VB程序把则好的距离记下并画出曲线,还原轮那曲线,从而实现通过超声波来测量物体单边轮常测量。
二、项目设计
(一)项目设计思想
1、使用HC-SR04超声波传感器模块测量距离
2、使用LCD1602液晶显示屏显示实时测量距离
3、使用L298N电机驱动,驱动两个电机运转,设置一个按键,按下按键,小车前进一段距离
4、开启串口通信,把距离数据通过串口发送到电脑进行处理
(二)购买材料
1、智能小车底盘

2、L298N

3、超声波模块HC-SR04

4、液晶屏 LCD1602

再准备一些其他小元件就OK,单片机最小系统、洞洞板、按键、插座等
(三)先设计硬件
根据原理图设计硬件

这是我设计好的实物图


(四)编写代码
main.c
/********************************************
项目名称:51超声波测距
作者:化作尘
版本:V1.1
更新时间:V1.0 2020年4月12日18:28:02
V1.1 2020年4月23日13:35:00
邮箱:2809786963@qq.com
*********************************************/
#include "reg52.H"//器件配置文件
#include"lcd.h"
//SR04传感器接口
sbit RX = P3^2;
sbit TX = P3^3;
sbit key = P1^4;
char keymode=0; //按键 模式
int keycount=0; //小车运动延时控制
//变量声明
unsigned int time=0;
unsigned long S=0;
char Mode=0;
bit flag=0;
bit flag_KEY=0;
unsigned char act[]={
0xff,0xfa,0xf5,0xf9,0xf6}; //小车动作控制
unsigned char disbuff[4] ={
0,0,0,0}; //缓存数组用于存放距离信息
/***************************************************************************/
//延时
void delay_ms(unsigned int m)
{
unsigned int b,c;
for(c=0;c<m;c++)
for(b=0;b<120;b++);
}
//短延时
void delay(unsigned int t)
{
while(t--);
}
/***************************************************************************/
void Key(void)//按键扫描函数
{
key = 1;
delay_ms(1);
if(key==0) //检测按键K1是否按下 开关
{
delay_ms(10); //消除抖动 一般大约10ms
if(key==0) //再次判断按键是否按下
{
keymode++;
if(keymode == 2)keymode = 0;
}
while(!key)

项目采用51单片机控制超声波传感器进行测距,实时显示距离并通过串口发送数据。小车搭载L298N电机驱动,按键控制移动,实现自动测距与轮廓绘制。
带仿真&spm=1001.2101.3001.5002&articleId=106599219&d=1&t=3&u=d198f3845d954be387f5025bd7f22b15)
1万+

被折叠的 条评论
为什么被折叠?



