K210+MLX90614红外测温

红外测温


前言

在这里插入图片描述
K210随便找一个都行

一、MLX90614

这个模块之前的博客有介绍,他是用IIC通信的。模块就不过多介绍了,之间看代码吧

import ustruct,utime
from micropython import const

_TA_ADDRESS = const(0x06)    
_TOBJ1_ADDRESS = const(0x07)
_TOBJ2_ADDRESS = const(0x08)  

class MLX90614:
    def __init__(self, i2c):
        self.i2c = i2c
        self.address = 0x5a

    def readdata(self, register):
        try:
            data = self.i2c.readfrom_mem(self.address, register, 2)
            return ustruct.unpack('<H', data)[0]
        except:
            pass

    def read_temp(self, register):
        temp = self.readdata(register)
        temp=temp/50-273.15
        return temp

    def AmbientTemp(self):
        return self.read_temp(_TA_ADDRESS)

    def ObjectTemp(self):
        return self.read_temp(_TOBJ1_ADDRESS)

二、使用步骤

在这里插入图片描述
把mlx90614py文件放到SD卡里,然后运行main函数,main函数如下

from machine import I2C
import mlx90614
import time


#红外测温对象
i2c = I2C(I2C.I2C0,freq=100000,sda=6, scl=7)
temp = mlx90614.MLX90614(i2c)


while True:

    print('ObjTemp:'+str('%.2f'%temp.ObjectTemp())+' C')
    print('AmbTemp:'+str('%.2f'%temp.AmbientTemp())+' C')
    time.sleep_ms(500)

在这里插入图片描述
看一下运行结果
在这里插入图片描述
一个是我宿舍的温温度,一个是我手掌的温度,结果还是相对准确的。

总结

简单的红外测温就是这样,后续我打算结合口罩识别,用K210做一个上位机,搞一个口罩检测测温系统。

猜你喜欢

转载自blog.csdn.net/qq_51963216/article/details/127942666