基于STM32的红外测距系统

news/2024/11/28 21:53:22/

提示:记录2022年4月做的毕设

文章目录

  • 前言
  • 一、任务书
        • 1.1设计(研究)目标:
        • 1.2设计(研究)内容:
  • 二、思路
  • 三、硬件
  • 四、联系我
  • 五、代码以及框图等资料
  • 喜欢请点赞哦!

前言

基于STM32的车间环境监测系统,主控使用STM32F103ZET6,在正点原子的精英板上开发。


一、任务书

1.1设计(研究)目标:

以STM32单片机为核心器件,设计一个红外测距系统,红外测距仪基于红外线的不扩散原理,在测量短距离物体时有着较高的精度,在生活中发挥着重要的作用。通过硬件和软件的设计,实现能够精准测量10~50cm物体的红外技术测距仪。

设计(研究)内容及具体要求:

1.2设计(研究)内容:

  • 题目的意义;
  • 各种传感器及设备的一般技术和特殊技术的学习:
  • 总体方案的选型设计:
  • STM32单片机及其外围设备的软硬件系统的技术开发:
  • 系统的调试和总体运行原理
  • 其他设计内容;具体要求:
  • 硬件要求1张1号以上的大图:
  • 软件以流程图方式表示:
  • 有调试的说明。

二、思路

  • 第一步红外传感器模块GP2YOA21YKOF发送红外线;
  • 第二步到达物体后反射红外线;
  • 第三步红外传感模块接收反射后的红外线;
  • 第四步传感器模块将信号发送给单片机处理模块;
  • 第五步经过模数转换将非线性的模拟信号转换为线性的数字信号;
  • 第六步由单片机处理模块发送数字信号到液晶显示模块;
  • 第七步最后结果表明在液晶显示模块LCD1602上

三、硬件

  • GP2YOA21YKOF
  • OLED
  • 按键
  • PCF8591
  • STM32F103

四、联系我

承接stm32单片机、STC系列单片机设计、嵌入式
问题联系QQ:2424644692
某宝店铺,搜:“晖亿科创”

五、代码以及框图等资料

int main(void)
{int distance=0,light=0;int shidu=0,wendu=0;char send_str1[200]="Infrared ranging detection system based on stm32!\r";char send_str2[200]=" ";NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);all_usart_init();		    // 串口初始化delay_init();			      // 延时初始化ESP8266_Init();         // 初始化WiFi模块使用的接口和外设Esp8266_ap();//LED_Init();OLED_Init();OLED_Clear();TIM2_Int_Init(999,7199);  //10Khz的计数频率,计数到1000为100msPCF8591_Init();DHT11_Start();LIGHT_Init();show_caption();Show_Chinese();ESP8266_SendString( DISABLE, send_str1, strlen ( send_str1 ), ( ENUM_ID_NO_TypeDef ) 0 );	    while(1){	/*****************************************************///以下是采集模拟量//ADC_IN2()是采集过来的电压值,校准后给distance/*****************************************************///distance = 70-(ADC_IN1()/3);//delay_ms(100);if(dis_flag==1){dis_flag=0;distance = (170-ADC_IN2())/2;OLED_ShowNum(34,3,distance,3,16);light=LIGHT_IN2();		OLED_ShowNum(34,6,light,3,16);}if(dht_flag==1){dht_flag=0;DHT11_ReadData(&shidu,&wendu);OLED_ShowNum(96,3,shidu,3,16);OLED_ShowNum(96,6,wendu,3,16);}/*****************************************************///以下是OLED显示/*****************************************************///OLED_ShowNum(34,6,distance,3,16);///*****************************************************///以下是ESP8266发送/*****************************************************/if(esp_flag==1){esp_flag=0;sprintf(send_str2,"距离:%d CM;光照:%d;温度:%d;湿度:%d\r\n", distance, light, wendu, shidu);ESP8266_SendString( DISABLE, send_str2, strlen ( send_str2 ), ( ENUM_ID_NO_TypeDef ) 0 );	    }   }
}

喜欢请点赞哦!

在这里插入图片描述


http://www.ppmy.cn/news/516550.html

相关文章

HC-SR04超声波模块测距原理与原理图

仿真功能图 . . . 上面仿真图功能描述: 1 本实验用hcsr04作为超声波模块 2 1602液晶显示测量距离 3 可以设置限值 4 当测量的距离值少于设置值,蜂鸣器报警 5 仿真实验的程序和实物的程序可以同样使用 . . 今天再发一个基于Proteus仿真的超声波测距。Prot…

超声波测距 c语言程序流程图,超声波测距程序(详细C语言数码管显示)

#include《reg52.h》 //头文件 #include《intrins.h》// _nop_() 函数延时1US用 #include 《stdio.h》 #include 《string.h》 #define uchar unsigned char #define uint unsigned int #define nop _nop_() sbit csbP1^0;//超声波发送端口为P1.0 sbit baiP2^2;//数码管百位 sb…

【单目测距和双目测距比较】

单目测距和双目测距比较 单/双目方案的优势与难点单目测距双目测距 双目测距实现步骤实现过程 单/双目方案的优势与难点 单目测距 **优点:**单目的优势在于成本较低,对计算资源的要求不高,系统结构相对简单。 缺点:在于必须不断…

华为的测试机是什么手机软件,iPhone手机的测距仪你用过吗?华为手机可有类似软件?...

iPhone手机的测距仪你用过吗?华为手机可有类似软件? iPhone手机和iPad等设备原厂就配备的工具类软件很多,而iOS12系统及以上版本增加的测距仪算是最实用的一个,你用过没有?感觉其准确度如何?今天我就来详细…

ROS:launch文件演示

目录 前言一、添加launch文件夹二、新建launch文件三、编辑launch内容四、 执行文件 前言 一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘…

手机相机识别实现ar测距(AR尺子)

【实例简介】手机相机识别实现ar测距,至少三年以上开发经验才能跑通 【实例截图】 文件:590m.com/f/25127180-490561034-8afed0(访问密码:551685) 【核心代码】 using UnityEngine; using UnityEngine.XR.ARFoundat…

arduino超声波测距接线图详细_Arduino实践-超声波(ultrasonic)测距

科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹(Hz)。我们人类耳朵能听到的声波频率为20Hz~20000Hz。当声波的振动频率小于20Hz或大于20KHz时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”(ultrasonic)。通常的超声波频率为1兆赫兹~5兆赫…

超声波测距 c语言程序流程图,超声波模块测距51程序_单片机超声波测距c语言

超声波检测原理 超声波测距的程序流程图 程序如下: //超声波模块程序 //超声波模块程序 //Trig = P2^0 //Echo = P3^2 #include #define uchar unsigned char #define uint unsigned int // void delay(uint z) {uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } // v…