前言
在上一篇文档 arduino开发领导 的时候介绍了什么是 arduino 以及 arduino 开发环境的搭建,然而仅仅是简略提及了一下应用官网的 demo 验证板子起来了,当初来尝试写第一个简略的 arduino 利用:红外测温枪。︿( ̄︶ ̄)︿
设施抉择
这里我抉择的是之前举荐的安信可 ESP32S 开发板 传感器用的 GY906 (MLX90614ESF )。通信形式是 I2C (IIC)会用到 ESP32S 的 P21 引脚(对应 I2C 的 SDA) 和 P22 引脚 (对应 I2C 的 SCL)。
这里发一下 安信可官网的 ESP32S 引脚图:这里并不能看出 I2C 引脚 (-_-||)
这是帮忙我找到 I2C 引脚的引脚图(感激知乎的兄弟分享o( ̄▽ ̄)d):
这是 DF家的 ESP32E 引脚,基本上差不多,也很有参考价值:
二、应用步骤
1.导入库
上一篇文档 有具体的抉择库的教程,这里我次要说一下如何导入网上找的第三方库。
简略一点就是把库文件夹,放到arduino装置目录下的 libraries 文件夹里:
而后在 arduino-IDE 中增加即可:
2.读入数据
MLX90614ESF 库写得曾经十分欠缺了,咱们不须要再去配置什么 I2C 地址和命令,只有在 setup 之前申明一个 mlx 类,
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
而后间接调用对应的接口就能够启动传感器
// 启动红外模块 mlx.begin();
获取数据
double readObjectTempC(void); // 获取指标的摄氏温度 double readAmbientTempC(void); // 获取周围环境的摄氏温度 double readObjectTempF(void); // 获取指标的华氏温度 double readAmbientTempF(void); // 获取周围环境的华氏温度
之后在 steup 中设置波特率,而后在 loop 通过串口将数据打印进去就行
Serial.begin(115200); // 设置串口波特率
Serial.print(mlx.readAmbientTempC()); // 将周围环境的摄氏温度打印到串口上
之后点击 IDE 的右上角图标(图中1地位)关上串口监视器 ,而后点击图中2图标保留文件,点击3地位图标编译上传应用程序。就能探测到感应到温度了!不过数据如同不太准 我怎么可能才32度(ノ ̄▽ ̄)
留神串口监视器 波特路与代码保持一致
总结
之前动手了一个 Spirit 1 爱智盒子,原本这次想联合 Spirit 1 做一个更吊的智能红外测温传感器的,监控我房间温度,然而 Spirit 1 真就没搭载调试程序,官网也没有提供,后果我 ESP32S 连上设施之后,我发过来的音讯也看不到,也没方法用发命令给板子只能被设施发现,什么都干不了 (╯‵□′)╯︵┻━┻ 。不过还好,Spirit 1 能够本人进行利用开发,我钻研一下,本人写一个调试 demo 再做智能设施吧。o( ̄▽ ̄)d
本文仅集体学习应用,如有谬误,欢送斧正, ( )谢谢老板!