Arduino + GY-906 制造红外测温仪

网友投稿 2019-11-18 13:53

https://cdn.china-scratch.com/timg/191120/1353493a2-0.jpgMAKERMnMakerMan/ 译趣无尽

红外测温仪能够测量物体的表面温度,其优点是非接触式测温,可以方便且精准地测量远端物体温度,应用广泛。

下面我们来介绍自制一把红外测温仪所需要的材料、工具和制造的方法。

材料清单

Arduino Nano×1
轻触按键 ×1
电阻(5K 欧姆,200 欧姆)×1
5V 激光发射器×1
双控开关×1
OLED 0.96″屏幕×1
GY-906 温度传感器
带电容或电阻的 MLX90614 传感器×1
9V 电池×若干
3D 打印机×1
PLA 打印耗材×若干

GY-906 温度传感器

https://cdn.china-scratch.com/timg/191120/1353492519-1.jpg
本项目是使用的 GY-906 红外线温度计传感器。这款模块非常便宜,易于集成,并且支持带有 10K 上拉电阻的 I2C 接口 。此款温度传感器的出厂校准为:传感器温度范围为 -40 至 125 摄氏度,物体温度范围为 -70 至 380 摄氏度。传感器的误差范围约为 0.5 摄氏度。

电路部分

https://cdn.china-scratch.com/timg/191120/1353503c9-2.jpg
现在可以将所有的组件组装在一起了。
1、将所有的组件安装到面包板上,一切正常运行后,再将所有的组件焊接到洞洞板上。
https://cdn.china-scratch.com/timg/191120/1353501310-3.jpg
2、在左侧,安装了一个由数字输出 5 驱动的带有 200 欧姆电阻的激光器。一个标准的轻触按键,连接在 5V 和数字输入 2 之间。还有一个 5K 下拉电阻,因此当开关打开时,输入不是浮动的,要将其设置为 0V。

3、在右侧,安装双控开关,该开关将 9V 电池连接到 Arduino Nano 的 输入电压(VIN)和 GND 引脚。OLED 显示屏和 GY-906 红外温度传感器都连接到 3.3V,数据线(SDA)线连接到 A4,控制线(SCL)线连接到 A5。OLED 显示屏和 GY-906 在 I2C 线上都有上拉电阻。

编程

1、先安装以下库,Adafruits SSD1306 和 Adafruits MLX90614。
https://github.com/adafruit/Adafruit_SSD1306
https://github.com/adafruit/Adafruit-MLX90614-Library

2、该程序不断从 MLX90614 上读取温度数据,但只有触碰开关按钮时才显示在 OLED 上,激光器也开始帮助测量的物体的温度。
编程文件请在项目文件库中下载。
https://make.quwj.com/project/157

3D 打印

3D 打印的模型是在 Fusion 360 中设计的。

https://cdn.china-scratch.com/timg/191120/1353501492-4.jpg
https://cdn.china-scratch.com/timg/191120/1353504217-5.jpg
1、在温度计的底部安装有 9V 电池,双控开关和轻触按键。底盖是卡扣的方式安装到位。底部留有一个孔,将基本组件的线连到温度计的顶部。
https://cdn.china-scratch.com/timg/191120/135351F35-6.jpg
https://cdn.china-scratch.com/timg/191120/13535123J-7.jpg
https://cdn.china-scratch.com/timg/191120/13535132U-8.jpg

2、0.96 英寸 OLED 显示屏上有一个开口,温度计顶部前面的部分安装激光器和 MLX90614 传感器,激光器和传感器都可以按压安装到位。顶部安装 Arduino Nano,但请先使用胶水合理布线,以便其顺利安装到位。

打印时面向显示屏的那一面朝下打印,OLED 屏幕的角度相当大,因此我在支撑板上打印支撑部分,但外壳表面看起来不太理想。如果你有更好的方法也可以自行替代。
3D 打印文件请在项目文件库中下载。
https://make.quwj.com/project/157

测试

现在你已经完成了,可以对温度计进行测试了!按下电源按钮,等待显示器的加载完毕,就可以使用了。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com