当前位置: 首页 > article >正文

STM32 ADC 温度采集 可穿戴体温测量仪LMT70

        LMT70这个温度传感器是2020电赛D题要求使用的,这个传感器难度倒是不大,主要通过单片机读取ADC的值,根据ad值来换算一下电压和温度的关系,手册里有一个公式,也没必要看了,我会给你提供这部分算法,直接照抄就是了。

        软件上虽然没什么难度,但是硬件上确实够你喝一壶,如果你想自己焊接,得用放大镜了,主要是太小了,还是BGA封装,没有一个是好伺候的。

下面我们来看一下这个温度传感器的几个重要的点。

这个是硬件参数,手册的第一页就可以找到所有信息了。

引脚配置

一共4个引脚

VDD:3.3V(我这边接3.3v,跟单片机电压相同),范围是-0.3-6V。

GND:接地。

TAO:接单片机AD脚,用于输出模拟电压。

T_TAO:使能LMT70,默认接3.3v,也可以用单片机来控制使能。

测量精度

这里我直接对室温进行测量,读小数点后1位,感觉跟室温差不多,不会太离谱。

手册里有一个误差对照表,可以根据自身使用情况对应。

分别通过串口和OLED将数据打印出来。

        程序也很简单,可以用程序来测试一下硬件是否好用。这是整个核心代码,通过计算就可以将ad数据换算成实际温度值。

lmt70_tick = sys_tick;
				AD_value=get_adc();
				adc_v=(float)AD_value*3320/4096;
				Temp = -1.809628E-09*adc_v*adc_v*adc_v -3.325395E-06*adc_v*adc_v -1.814103E-01*adc_v + 2.055894E+02;
				T_sum += Temp;
				T_sum_count++;
				if(T_sum_count >= 20) //2s¼ÆËãÒ»´Î
				{
					Temp_real = T_sum/T_sum_count;  //¼ÆËãƽ¾ùζÈ
					T_sum_count = 0;
					T_sum = 0;
				}
			}
			//OLED_ShowNum(1,7,Temp_real,2);    //ÏÔʾζÈÊýÖµ
			OLED_ShowFloat(1,7,Temp_real,1);
			Delay_1ms(200);
			printf("Temp=%.1f  \r\n",Temp_real);


http://www.kler.cn/a/612255.html

相关文章:

  • Qt弹出新窗口并关闭(两个按钮)
  • 资本运营:基于Python实现的资本运作模拟
  • Java中用Stream流取出分组后每组最大值对象的ID
  • AI编辑器-Trae 玩转AI 编程
  • 在rockylinux9.4安装mongodb报错:缺少:libcrypto.so.10文件库
  • 【docker】Dockerfile中ENTRYPOINT和CMD区别理解
  • 如何使用DeepSeek编写测试用例?
  • 2025年前端八股文整理持续更新中(css+js+vue)
  • 23种设计模式-创建型模式-建造者
  • Linux 指令篇:tar 命令详解与实战
  • ADB->查看具体应用包名、安装路径、所有应用包名输出到文件
  • 蓝桥杯--bfs专题第二个题目(leetcode103二叉树)
  • [操作系统] 进程间通信:命名管道原理与操作
  • 使用ProcessBuilder执行FFmpeg命令,进程一直处于阻塞状态,一直没有返回执行结果
  • PHP MySQL 预处理语句
  • 基于yolov11的铁路轨道铁轨缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
  • Excel处理控件Aspose.Cells指南:如何在不使用 Microsoft Excel 的情况下解锁 Excel 工作表
  • 结合代码理解Spring AOP的概念(切面、切入点、连接点等)
  • vue watch数据监听
  • 关于spark在yarn上运行时候内存的介绍