目录

1. SMBus配置

2. MLX90614温度传感器

3. 代码实现


1. SMBus配置

/* 1.安装工具包 */
pi@rasberrypi:~s sudo apt-get install libi2c-dev i2c-tools/* 2.查看smbus.h文件路径 */
pi@rasberrypi:~s find / -name smbus.h
/usr/include/i2c/smbus.h/* 3.查看liblic库的安装路径 */
pi@rasberrypi:~s whereis libi2c
libi2c: /usr/lib/arm-linux-gnueabihf/libi2c.so/* 4.在Qt Creator .pro文件添加头文件路径和动态链接库 */
INCLUDEPATH += /usr/include/i2c
LIBS += /usr/lib/arm-linux-gnueabihf/libi2c.so/* 5.编写应用程序,引入"C"头文件 */
extern "C"
{#include <smbus.h>
}

2. MLX90614温度传感器

MLX90614传感器ROM和RAM只有部分地址允许改写,可通过SMBus接口读和写,通过配置这些寄存器设置MLX90614。简单整理如表1-1、表1-2所示,具体参考MLX90614技术手册。

表1-1 RAM

RAM

名字

功能

地址

TOmax

测量物体温度上限设定

000h

TOmin

测量物体温度下限设定

001h

PWMCTRL

PWM设定

002h

Ta范围

环境温度设定

003h

发射率校准系数

0.1-1

004h

配置寄存器1

配置寄存器设定

005h

SMBus地址

器件地址设定

00Eh

表1-2 ROM

ROM

名字

功能

地址

TA

环境温度

006h

Tobj1

物体温度

007h

首先要确定MLX90614从器件地址,默认地址是0x5a,也可以通过i2cdetect -y 1命令查看MLX90614器件地址。其次要测试的物体不同,发射率也不同,在测试之前要设置被测对象的发射率校准系数,人体的发射率为0.95左右,查看表1-1,向004h地址的寄存器写入0xF332数据即可配置成人体发射率系数。最后读取物体温度寄存器获取温度数据并转换为实际温度,查看表1-2,007h地址保存物体温度数据,根据官方技术手册提供的简易计算公式 tempature = data*0.02 - 237.15 获得实际温度。(考虑环境温度,进行补偿比较准确)

3. 代码实现

#include "mlx90614.h"
#include <linux/i2c-dev.h>
#include <sys/ioctl.h>
#include <fcntl.h>
extern "C"
{#include <smbus.h>
}#define MLX90614_ADDR 0x5A
#define MLX90614_BODY_ADDR 0x07
#define MLX90614_REVISE_ADDR 0x04
#define MLX90614_REVISE_EMISSIVITY 0xF332int smbusFd;int Mlx90614Init()
{smbusFd = open("/dev/i2c-1", O_RDWR);if(smbusFd < 0){return -1;}if(ioctl(smbusFd, I2C_SLAVE, MLX90614_ADDR) < 0){return -1;}i2c_smbus_write_word_data(smbusFd, MLX90614_REVISE_ADDR, MLX90614_REVISE_EMISSIVITY);return 0;
}double GetTempature()
{double temp;double tempature;temp = i2c_smbus_read_word_data(smbusFd, MLX90614_BODY_ADDR);tempature = temp*0.02 - 273.15;return tempature;
}

树莓派-MLX90614相关推荐

  1. c# .net iot树莓派/香橙派用到物联网包Iot.Device.bindings 支持设备说明文档

    c# .net iot树莓派(进口,贵)/香橙派(国产,功能相同,性价比高)用到物联网包Iot.Device.bindings 支持设备说明文档 我们c# .net iot开发树莓派/香橙派都需要用到 ...

  2. 树莓派 I2C MLAX90614红外测温

    前言 提示:以下是本篇文章正文内容,下面案例可供参考 一.简介 ELAX90614红外测温: MLX90614 系列模块是一组通用的红外测温模块.在出厂前该模块已进行校验及线性化,具有非接触.体积小. ...

  3. 树莓派 --- 疫情防控检测一体化设备

    目录 项目源码地址 项目功能规划 引脚分配图  1.播放音频模块 封装了一个 playAudio(file_path) 函数,传入一个参数file_path表示音频文件路径 playAudio.py ...

  4. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018...

    视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...

  5. gpio引脚介绍 树莓派3b_如何让LabVIEW程序运行在树莓派3B(此处有坑)

    上次转载了LabVIEW部署树莓派的文章后,很多小伙伴很兴趣,一个个都说要把压箱底的树莓派拿出来清下灰尘,也不知道到底拿出来没有. 放个之前文章链接如下: 零基础上手树莓派+免费正版LabVIEW C ...

  6. 首款微控制器级树莓派 Pico,超廉价只需4美元

    2021年1月21日,树莓派基金会发布了首款微控制器级产品:Raspberry Pi Pico. 该产品基于全新的 RP2040 芯片构建,售价仅 4 美元,国内标准售价 29.99 元人民币,目前在 ...

  7. 70美元桌面电脑,树莓派400:键盘式集成开发板

    2020年11月2日,树莓派基金会正式发布"树莓派400"(Raspberry Pi 400),一个内置树莓派4计算机的紧凑型键盘,售价70美元. 用户只需将其两个micro HD ...

  8. 树莓派/PC实现实时摄像头数据共享(Python—picamera)

    上次实验使用Python-OpenCV实现,发现传输效果并不是很理想,接下来使用Python和picamera实现树莓派/PC实时摄像头数据共享,主要也可分为服务器和客户端两部分. 服务器(PC/树莓 ...

  9. 树莓派/PC实现实时摄像头数据共享(Python—OpenCV)

    使用Python和OpenCV实现树莓派/PC实时摄像头数据共享,主要分为服务器和客户端两部分. 服务器Demo如下: #服务器端import socket import threading impo ...

  10. 基于深度学习的口罩规范佩戴检测【树莓派+PC训练、测试】

    训练.测试.部署代码下载地址:下载地址 一.硬件: PC端运行:Windows10或11(无需GPU,有最好)或MacOS 都测试可行 树莓派运行:树莓派 4B model B 8G 版 USB RG ...

最新文章

  1. iis php session丢失,Session丢失的解决办法小结
  2. ECshop商城程序常见的96个小问题汇总
  3. jhsdb:JDK 9的新工具
  4. 微信小程序中的空格和换行操作
  5. jQuery 效果 – 动画
  6. 汇编中寄存器加[]的意思
  7. 【转】TestNG常用注解
  8. 开源FTP 服务器 FileZilla Server
  9. 计算机软考初级题库,‎App Store 上的“软考题库-最全最新历年真题”
  10. 免费得了一套做自媒体教程,免费分享给大家
  11. 三星s8php,三星S8 Type C接口连接电视体验
  12. 垃圾回收概述,算法及垃圾回收器
  13. P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。
  14. codeforces 427C tarjan模板题
  15. pynq 环境搭建_PYNQ 经典项目分享之 - Hello World
  16. 20180402-E · US Tuition Costs · ggplot2, 地图 热力图 gganimate 动图 · R 语言数据可视化 案例 源码
  17. 如果你了解我的过去,你就会理解我的现在
  18. 黑山谷入夜的峡谷更显画意诗情般的意境
  19. truetype字体怎么转换成普通字体_社交资料不再普通 Instagram Fonts在线生成可复制字体...
  20. 第三章 坐标系与投影转换之了解高斯投影

热门文章

  1. Android 支付宝支付功能实现
  2. ajax 发http请求吗,使用 Ajax 发送 http 请求 (getpost 请求)
  3. OrCAD DSN文件无故消失解决办法
  4. linux修改域名命令是,Linux系统脚本命令修改动态域名解析记录
  5. VM虚拟机中 localhost login_虚拟机VM VirtualBox的安装和使用
  6. 0CTF 2016 RSA?(未完成)
  7. 从聚合数据请求菜谱大全接口数据,解析显示到ListView
  8. SAS硬盘与SATA硬盘有什么区别
  9. 啡鸟集咖啡报告:每天喝3-4杯咖啡有助延年益寿
  10. hexo博客中如何插入图片