物联网AI MicroPython传感器学习 之 MLX90614红外测温传感器

news2024/11/25 9:33:09

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

MLX90614是一款由迈来芯公司提供的低成本红外温度计,用于非接触式温度测量,红外测温是根据被测物体的红外辐射能量来确定物体的温度,不与被测物体接触,具有不影响被测物体温度分布场,温度分辨率高、响应速度快、测温范围广、不受测温上限的限制、稳定性好等特点,输出数据和物体温度呈线性比例,具有高精度和高分辨率。
适合于汽车空调、室内暖气、家用电器、手持设备以及医疗设备应用等。
image.png
MLX90614的出厂校准温度范围很广:环境温度为-40°C——125°C,目标温度为-70°C——382.2°C。测量值是传感器视场中所有物体的平均温度。在室温下,MLX90614的标准精确度为±0.5°C。

引脚定义

  • VIN:3.3V ~ 5V
  • GND:接地
  • SCL:时钟线
  • SDA:数据线

二、技术参数

  • 供电电压:3V3 ~ 5V
  • 接口:标准I2C
  • 精度范围:±0.5°C(在工作温度25°C)
  • 环境温度:-40°C ~ 125°C
  • 目标温度:-70°C ~ 382.2°C
  • 测量距离:2cm ~ 1m(根据不同的型号)

三、软件接口

MLX90614(i2cObj) - 创建MLX90614驱动对象

  • 函数原型:

mlx90614Obj = MLX90614(i2cObj)

  • 参数说明:
参数类型必选参数?说明
i2cObjI2C传入i2c对象
  • 返回值:
    MLX90614对象成功,返回MLX90614对象;MLX90614对象创建失败,抛出Exception
  • 示例代码:
from machine import I2C,Pin              # 驱动库
import mlx90614                       # MLX90614温度传感器驱动库

# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("MLX90614 inited!")

mlx90614Obj = mlx90614.MLX90614(i2cObj)    # 初始化MLX90614传感器对象
  • 输出:
MLX90614 inited!

getAmbientTemp - 测量环境温度

  • 函数功能:
    量测环境温度并返回测量结果
  • 函数原型:

MLX90614.getAmbientTemp()

  • 参数说明:
  • 返回值:
    成功返回温度测量结果(数据类型:浮点型;单位:摄氏度);失败抛出Exception
  • 示例:
from machine import I2C,Pin         # 驱动库
import mlx90614                     # MLX90614温度传感器驱动库
import utime

# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("MLX90614 inited!")

mlx90614Obj = mlx90614.MLX90614(i2cObj)    # 初始化MLX90614传感器对象

while True:
    utime.sleep(1)
    readtemp = mlx90614Obj.getAmbientTemp()
    print("Amtemperature is ", readtemp, "°C")
  • 输出:
MLX90614 inited!
Amtemperature is 25.3°C
Amtemperature is 26.1°C
Amtemperature is 25.7°C

getObjectTemp - 测量目标温度

  • 函数功能:
    量测目标温度并返回测量结果
  • 函数原型:

MLX90614.getObjectTemp()

  • 参数说明:
  • 返回值:
    成功返回温度测量结果(数据类型:浮点型;单位:摄氏度);失败抛出Exception
  • 示例:
from machine import I2C,Pin         # 驱动库
import mlx90614                     # MLX90614温度传感器驱动库
import utime

# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("MLX90614 inited!")

mlx90614Obj = mlx90614.MLX90614(i2cObj)    # 初始化MLX90614传感器对象

while True:
    utime.sleep(1)
    readtemp = mlx90614Obj.getObjectTemp()
    print("objtemperature is ", readtemp, "°C")
  • 输出:
MLX90614 inited!
objtemperature is 33.3°C
objtemperature is 34.1°C
objtemperature is 33.7°C

四、接口案例

from machine import I2C,Pin         # 驱动库
import mlx90614                     # MLX90614温度传感器驱动库
import utime

# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("MLX90614 inited!")

mlx90614Obj = mlx90614.MLX90614(i2cObj)    # 初始化MLX90614传感器对象

while True:
    utime.sleep(1)
    readobtemp = mlx90614Obj.getObjectTemp()
    readamtemp = mlx90614Obj.getAmbientTemp()
    print("temperature is ", readamtemp, "°C", readobtemp, "°C")
  • 输出:
MLX90614 inited!
temperature is 25.3°C 32.6°C
temperature is 26.1°C 33.5°C
temperature is 25.7°C 32.9°C

五、工作原理

MLX90614由MLX81101红外热电堆传感器和包括含有稳压电路、低噪声放大器、A/D转换器、DSP单元、脉宽调制电路及逻辑控制电路的MLX90302信号处理芯片构成。
image.png
其工作原理为:红外热电堆传感器输出的温度信号经过内部低噪声、低失调的运算放大器(OPA)放大后经过A/D转换器(ADC)转换为17位数字信号通过可编程FIR及IIR低通数字滤波器(即DSP)处理后输出,输出结果存储在其内部RAM存储单元中。

六、通信协议(SMBus通信)

单片机与MLX90614红外测温模块之间通信的方式是“类IIC”通信,意思就是通信方式跟IIC通信方式很像但又不是IIC,它有另外一个名字叫做SMBus。SMBus (System Management Bus)是 1995 年由 intel 公司提出的一种高效同步串行总线,SMBus 只有两根信号线:双向数据线和时钟信号线,容许 CPU 与各种外围接口器件以串行方式进行通信、交换信息,既可以提高传输速度也可以减小器件的资源占用,另外即使在没有SMBus 接口的单片机上也可利用软件进行模拟。
image.png
MLX90614 SMBus时钟的最大频率为100KHz,最小为 10KHz。
时序结构
起始信号:SCL高电平期间,SDA从高电平切换到低电平
停止信号:SCL高电平期间,SDA从低电平切换到高电平
image.png

参考文献

[1] MLX90614传感器购买

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1167641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MobPush后台配置教程

在MobPush或类似的消息推送服务中,进行有效完善的后台推送设置对于实现定向推送和个性化推送至关重要。以下是MobPush配置包名等操作的后台设置指南。 1、配置包名 (非必须)设置默认包,默认包是在后台创建推送时多包名选择的默认选项,可设置…

二叉树搜索树的应用

二叉树搜索树的应用 1. 二叉树搜索树的应用2. 二叉搜索树的性能分析3. 二叉树进阶面试题 1. 二叉树搜索树的应用 K模型:K模型即只有key作为关键码,结构中只需要存储Key即可,关键码即为需要搜索到的值。(确定一个值在不在&#xf…

Redo Log(重做日志)的刷盘策略

1. 概述 Redo Log(重做日志)是 InnoDB 存储引擎中的一种关键组件,用于保障数据库事务的持久性和崩溃恢复。InnoDB 将事务所做的更改先记录到重做日志,之后再将其应用到磁盘上的数据页。 刷盘策略(Flush Policy&#x…

Spring底层原理(六)

Spring底层原理(六) 本章内容 介绍AOP的实现方式、JDK代理的模拟实现与源码 AOP的实现方式 使用代理模式 jdk动态代理cglib动态代理 使用aspectj的编译器,该编译器会直接对字节码进行修改,可以实现静态方法增强 使用javaagent,在jvm option中指定-…

MYSQL 8.0 配置CDC(binlog)

CDC(Change Data Capture)即数据变更抓取,通过源端数据源开启CDC,ROMA Connect 可实现数据源的实时数据同步以及物理表的物理删除同步。这里介绍通过开启Binlog模式CDC功能。 注意:1、使用MYSQL8.0及以上版本。 2、不…

快讯|2024 财年第一季度 Tubi 收益增长了 30%

2024 财年第一季度 Tubi 收益增长了 30%,月活跃用户达到了 7000 万 近日,在 2024 财年第一季度财务收益电话会议上,Fox 执行主席兼 CEO Lachlan Murdoch 对 Tubi 的增长表示赞赏:“Tubi 又多了一个令人羡慕的季度,收入…

电脑技巧:台式机噪音非常大的几个原因以及解决办法

目录 一、CPU风扇灰尘太厚、风扇轴承老化 二、电源风扇有灰尘或者老化 三、显卡风扇有灰尘或者老化 四、硬盘老化导致的电脑主机声音大 五、台式机CPU风扇声音过大 今天小编给大家分享台式机噪音非常大的几个原因以及解决办法,值得收藏! 一、CPU风…

Typecho V1.2.1 博客更换域名还原

网站老是到期或则要换服务器(IP地址),单独改IP老是有图片不能加载,出个完整的迁移教程: 系统环境:Ubuntu 2204 宝塔面板 8.0.3 Nginx1.22 PHP 8.1 MySQL 5.7 备份 进入宝塔将网站根目录直接压缩&#xff0…

如何调试 Dubbo 协议调用过程

微服务架构下的快速交付、灵活部署等优势使得 Dubbo 协议已成为了当今互联网基础建设里的一大热点。 Dubbo 协议是一款由阿里巴巴开发并开源的一款高性能 Java RPC 框架,凭借着高效的远程调用、服务注册与发现、灵活的配置等特点,在微服务后端开发场景中…

Excel自学三部曲_Part3:Excel工作场景实战(四)

文章目录 四、高级函数与数据连接1. 多窗口操作2. VLOOKUP函数3. XLOOKUP函数4. CSV数据格式 四、高级函数与数据连接 1. 多窗口操作 如何将两张子表数据(战区信息、城市信息)连接到主表数据(成交数据),增加主要数据的…

AI识别网关助力打造防溺水监测预警系统

防溺水监测预警系统的应用场景广泛,常见的诸如海边、河道、湖泊、泳池等多种场景,均可借助防溺水监测预警系统加强保障民众人身安全。随着科技水平不断提升,防溺水监测预警系统不断融合人工智能、视觉识别、物联网等先进技术,能够…

三季度业绩狂飙后,贝泰妮将开启集团化运营的“中场战事”?

双十一前夕,贝泰妮交出了一份亮眼的答卷。 得益于销售端和研发端的发展动能强劲,第三季度贝泰妮营收10.64亿元,同比增长25.77%;扣非净利润1.34亿元,同比增长39.88%。 如此亮眼的业绩,自然引得资本市场侧目…

【Python】多进程线程与CPU核数

多进程数量设置为CPU核数,或者略小于CPU核数;多线程数量,如果是CPU密集任务设为1;如果是IO密集设为合理的值;IO密集型:系统运作,大部分的状况是CPU 在等I/O (硬盘/内存)的…

单链表的建立(头插法、尾插法)(数据结构与算法)

如果要把很多个数据元素存到一个单链表中,如何操作? 1.初始化一个单链表 2. 每次取一个数据元素,插入到表尾/表头 1. 尾插法建立单链表 尾插法建立的单链表元素顺序与输入数据集合的顺序相同,即按照输入数据的顺序排列。 使用尾插…

【蓝桥杯选拔赛真题09】C++输出回文数 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

目录 C/C++输出回文数 一、题目要求 1、编程实现 2、输入输出 二、算法分析

MySQL中表的增删改查

目录 一、CRUD 二、新增(Create) (1)语法 (2)单行数据全列插入 (3)多行数据指定列插入 三、查询(Retrieve) (1)语法 …

vue3 + vite 安装配置及项目创建

node 和 npm 安装就不讲了&#xff0c;需要注意的是 node 需要版本是 16 以上。 VUE官网&#xff1a; https://cn.vuejs.org/ 一. 安装vue vite 1. 安装vue 方法一&#xff1a;<script> 标签 CDN 引入方式 <script src"https://unpkg.com/vue3/dist/vue.glo…

小米11 安装面具magisk 实现root

为了在安卓上抓包chatgpt 只能root小米11 来安装抓包工具小黄鸟 才能安装根证书来解析https。 1.官方解锁 2.下载小米11 安卓12 的开发版本 venus_images_V13.0.6.1.15.DEV_20220308.0000.00_12.0_cn_cb6b0c891f.tgz 进入刷机fastboot 3.进系统开启usb调试模式&#xff0c;…

GraphPad Prism v10.0.0.3(医学统计分析绘图软件)

GraphPad Prism 是一款医学统计和绘图软件&#xff0c;主要用于生物医学研究、实验设计和数据分析。以下是 GraphPad Prism 的主要功能和特点&#xff1a; 数据导入和整理&#xff1a;GraphPad Prism 可以导入各种数据格式&#xff0c;并提供直观的界面用于整理、编辑和管理数据…

PY32F071单片机,主频最高72 M,带一路DAC,USB

PY32F071 系列微控制器采用高性能的 32 位 ARM Cortex-M0内核&#xff0c;宽电压工作范围的 MCU。嵌入高达128 Kbytes flash 和 16 Kbytes SRAM 存储器&#xff0c;最高工作频率 72 MHz。包含多种不同封装类型多款产品。芯片集成多路 I2C、SPI、USART 等通讯外设&#xff0c;1 …