所使用的硬件是MLX90614型号的红外测温模块,如图,

首先要有模块的数据手册,这个可以去淘宝找,,,

如下图,是红外模块存储的温度数据的地址,我们的目的就是通过读取对应的地址从而获得温度数据。

(Ta:环境温度;Tobj1:物体温度)

想要与红外芯片进行通信获取温度数据,那么首先要写好读、写数据的代码,,,

如图,我们要按照时序图先写好起始位、结束位、收、发一位数据的代码。具体的延时时间限制去找数据手册看。

/*发送一个位*/
void MLX90614_SDA_send_bit(u8 bit_out)
{   if(bit_out == 1)MLX90614_SDA_out = 1;elseMLX90614_SDA_out = 0;Delay_us(5);MLX90614_SCL = 1;Delay_us(10);MLX90614_SCL = 0; Delay_us(4);
}/**接收一个位**/
u8 MLX90614_SDA_receive_bit()
{   u8 bit_in = 0;MLX90614_SDA_out = 1;MLX90614_SCL = 1;Delay_us(10);    if(MLX90614_SDA_in)bit_in = 1;elsebit_in = 0;MLX90614_SCL = 0;Delay_us(4);return bit_in;
}

把收、发一位的函数写好后再编写收、发一个字节的函数,,,大概内容就是循坏八次这样。

写好收发一个字节的函数后可以开始根据下图给出的读取数据的格式来获取温度数据。

如下图,这是收、发数据包的格式。

Slave Address是MLX90614的识别地址,当一个系统中只有一个mlx90614时,该地址默认为00h。

Command是命令,共有四种模式分别为访问RAM、访问EEPROM、读取标示符、进入SLEEP模式。这里我用的是访问RAM即存储温度数据的存储器。访问RAM的命令为000x xxxx,xxxxx代表要读取/写入的内存地址的低五位。

MLX90614_SDA_Start();    //Slave address 单个MLX90614时地址为0x00  地址+wr  if(MLX90614_SDA_send(0x00) == 1)    //有应答  return 0;//发送命令if(MLX90614_SDA_send(0x07) == 1)return 0;//-----------MLX90614_SDA_Start();    //Srif(MLX90614_SDA_send(0x01) == 1)return 0;//读Tobj1低八位并发送应答value_L = MLX90614_SDA_receive();//读Tobj1高八位并发送应答  value_H = MLX90614_SDA_receive();//读PEC出错数据包并发送应答 PEC = MLX90614_SDA_receive();MLX90614_SDA_Stop();   

最后,读取到Tobj1中的数据之后对数据进行计算使之变成可直接阅读的温度值,

最后实现的效果图及其原理图

源码:https://download.csdn.net/download/qq_38994972/12475640

(注:若有错误的地方还请指正)

MLX90614红外测温模块的使用相关推荐

  1. STM32驱动MLX90614红外测温模块

    简介:STM32F103C8T6驱动MLX90614红外测温模块源码介绍. 开发平台:KEIL ARM MCU型号:STM32F103C8T6 传感器型号:MLX90614 特别提示:驱动内可能使用了 ...

  2. MLX90614红外测温模块使用

    一.MLX90614介绍(官方介绍,很官方) MLX90614 是一款红外非接触温度计.TO-39 金属封装里同 时集成了红外感应热电堆探测器芯片和信号处理专用集成芯 片. 由于集成了低噪声放大器.1 ...

  3. STM32系列(HAL库)——F103C8T6 通过GY906/MLX90614红外测温模块实现温度测量

    1.软件准备 (1)编程平台:Keil5 (2)CubeMX (3)XCOM(串口调试助手) 2.硬件准备 (1)GY-906-BCC红外测温模块 (2)F1的板子,本例使用经典F103C8T6 (3 ...

  4. STM32+MLX90614红外测温

    红外测温 文章目录 红外测温 前言 一.传感器 二.代码 1.MLX90614.C 2.MLX90614.h 总结 前言 手上有一个红外测温模块,拿出来玩一玩 一.传感器 一共有四个引脚,看到SCL和 ...

  5. ESP32设备驱动-MLX90614红外测温传感器驱动

    MLX90614红外测温传感器驱动 1.MLX90614介绍 MLX90614 是一款用于非接触式温度测量的红外温度计.IR 敏感型热电堆检测器芯片和信号调节 ASIC 都集成在同一 TO-39 罐封 ...

  6. 燃太TN901红外测温模块LCD1602显示

    山远的博客 学以致用 首页 旧版 首页 标签 留言本 单片机 文学 趣闻 美图 C#编程 燃太TN901红外测温模块LCD1602显示 燃太TN901红外测温模块LCD1602显示,可设置高温低温报警 ...

  7. 【STM32篇】驱动MXL90614红外测温模块

    本次实验使用的测温模块型号GY-906-DCC模块,测距为10cm左右. 一.简介 MLX90614 是一款红外非接触温度计.TO-39 金属封装里同时集成了红外感应热电堆探测器芯片和信处理专用集成芯 ...

  8. K210+MLX90614红外测温

    红外测温 文章目录 红外测温 前言 一.MLX90614 二.使用步骤 总结 前言 K210随便找一个都行 一.MLX90614 这个模块之前的博客有介绍,他是用IIC通信的.模块就不过多介绍了,之间 ...

  9. 26、基于51单片机mlx90614(GY-906)非接触式红外测温上下限声光报警系统设计

    摘要 门式红外人体测温安检仪与传统的安检系统比较,增加了人体测温功能,在流行病多发季节可以适当的提醒人们减少外出,必要时可采取强制措施禁止出行以减少疾病的传播:并且测温为非接触式,与传统的接触式测温相 ...

  10. 基于stm32人脸识别和红外测温

    目录 一.项目功能 二.原理图 三.实物视频 四.实物图片 五.程序 资料下载地址:基于STM32人脸识别和红外测温 一.项目功能 本系统由stm32f103c8t6单片机最小系统电路+k210人脸识 ...

最新文章

  1. 谷歌人为干预搜索结果被曝光:增加大公司曝光,主动营造岁月静好
  2. 【Android 电量优化】JobScheduler 相关源码分析 ( JobSchedulerService 源码分析 | 任务检查 | 任务执行 )
  3. [蓝桥杯2018初赛]分数-找规律
  4. mysql insert 运算_MySql insert插入操作的3个小技巧分享
  5. android serviceconnection unbind流程,Android Service 再次 unbindSrvice 时的问题
  6. 组合总和3 leetcode 216
  7. 计算机二级关系模式知识点,2013年计算机二级VFP关系模式知识点详解
  8. Xfce4里添加登录后程序自动运行
  9. 使用JMeter进行压力测试
  10. 如何将图片批量转换成PDF
  11. 板载RAID、RAID卡与RAID控制器
  12. 【windows】卸载360壁纸
  13. 开机内存占用过高解决方案
  14. BitComet Stable (build 1.66.4.13) 比特彗星-使用教程
  15. python做一副54扑克牌发牌技巧_最强大脑!杭四中高一男生邹全50秒轻松记住一副扑克牌...
  16. idea 将分支代码合并到master分支
  17. 一些生活中常用的英语单词
  18. 智能电视刷鸿蒙系统刷机教程,智能电视ROM制作教程 手把手教你做刷机包
  19. A-Frame WebVR试玩报告
  20. java实现floyd统计天津地铁的网站距离

热门文章

  1. mysql查询表升序降序_创建一个按钮,对MYSQL查询进行升序和降序排序
  2. bi 工具 市场排行榜_常用的5款数据分析BI软件,你用过哪个?-工具
  3. MACHINE LEARNING ----BY HUNGYILEE (love u)
  4. 1069三网合一集团短信通道固定接收号
  5. 特斯拉是如何训练自动驾驶的?
  6. vs登录或者添加账户时说脚本错误
  7. EPC项目设计界面管理研究——以上海国际金融中心项目为例
  8. java字母转换成大写_java中如何把大写字母转换成小写字母,小写字母转换成大写字母?...
  9. iOS游戏开始者从零开始 6个月的学习编程经历
  10. 你知道如何从零开始学c++游戏编程吗