当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]GY-906 (MLX90614)红外温度传感器是一种非常精确和适应性强的设备,通常用于非接触式温度读数。它的工作温度范围很广,物体温度范围为-70°C至+380°C,传感器温度范围为-40°C至+125°C。

大家好,欢迎回来。这里有一些有用的东西。

PICO温度枪项目是一个自己动手的温度枪项目,使用PICO 2和GY-906红外温度传感器采集温度读数,并将其显示在SSD1306 124x32 OLED屏幕上。

目标是使用PICO 2和GY-906 (MLX90614)从零开始创建一个开源的功能温度枪,GY-906是一种非接触式红外温度传感器,精度为±0.5°C。

它提供两种输出模式:PWM(脉宽调制)和SMBus (I2C)。10位PWM输出的分辨率为0.14°C,而I2C接口的分辨率为0.02°C。我们现在使用I2C模式。

对于这个项目,我们创建了两个变体:一个用于简单设置的面包板版本和一个将所有组件连接到漂亮PCB上的原型PCB版本,使整个设置更容易和更实用。

对于这个项目的版本2,我们将设计一个定制的PCB,带有温度枪式外壳作为外壳和板载电池组。

目前,本文将介绍面包板和原型PCB版本的基本设置和构建过程,因此让我们开始这个项目。

材料要求

这些是在这个项目中使用的组件。

•PICO 2

•GY-906红外温度传感器

•OLED显示屏124x32

•跳线

•按钮开关

•电路试验板

•PCB原型

•PICO 2的母头引脚

•连接电线

•用于测试的热、冷介质

GY-906红外温度传感器模块

GY-906 (MLX90614)红外温度传感器是一种非常精确和适应性强的设备,通常用于非接触式温度读数。它的工作温度范围很广,物体温度范围为-70°C至+380°C,传感器温度范围为-40°C至+125°C。

该传感器精度高,分辨率为0.02°C,环境温度精度为±0.5°C。

该传感器的双输出技术(PWM和I2C)允许在各种应用中的多功能性。用户可以使用10位PWM输出和I2C接口获得0.14°C和0.02°C的分辨率。

它可以在3.3V到5V的电压范围内正常工作。

这种传感器采用红外技术来确定表面的温度,而不需要进行物理接触。这在不能直接接触的情况下尤其有益,例如移动物品、敏感表面或有害化合物。

有趣的事实:在COVID期间,这些传感器通常用于制造温度枪。

所有物体都会发出红外光,这是温度的函数。红外温度传感器检测物体发出的红外辐射,将其转换为电压,处理该信号以计算温度,然后通过I2C接口将该信息传递给微控制器。

这种非接触式方法可以实现准确可靠的温度测量,而无需与被测量对象进行物理接触。

PCBWAY Giftshop

至于采购GY906温度传感器以及我们在这个项目中使用的PICO 2,我们从PCBWAY的礼品店得到了它们。

PCBWAY礼品店是一个在线市场,在那里你可以以正价获得各种电子模块和电路板,或者你可以使用PCBWAY货币,也就是所谓的豆子。

从PCBWAY订购一些东西后,您可以获得豆子作为奖励积分,或者您也可以通过在PCBWAY社区发布任何项目来获得豆子。

此外,PCBWAY正在组织一场PCB徽章制作比赛,以纪念其成立11周年,邀请设计师和制造商通过设计徽章来展示他们的创造力,以庆祝公司的传统并展望大胆的未来。参赛者必须将元素“PCBWay”和数字“11”纳入其设计中,并可以使用PCB, PCB+SMT/THT或PCB+3D打印技术。提交的作品可以在评论中发布,通过电子邮件发送,或者在社交媒体上以#PCBWay11BadgeContest的标签分享。

奖品包括现金、PCBway优惠券和所有合格参赛作品的免费原型设计服务。

试验板的版本

我们通过设置面包板版本开始项目。我们首先将所有四个组件放在面包板上:PICO 2,开关,OLED屏幕和温度传感器。

接下来,我们将PICO的GND连接到开关1输入;OLED屏幕的GND同样连接到PICO和温度传感器的GND。

接下来,我们将显示器和温度传感器的VCC连接到PICO的5V电源。

然后将按钮的第二个终端连接到GPIO0。

现在,我们将PICO的I2C, GPIO4 (SDA)和GPIO5 (SCL)并联连接到显示器和温度传感器的SDA和SCL引脚。

连接好电线后,我们将主代码输入到设备中,它只显示按下按钮时温度传感器测量到的当前温度。

代码

这是这个项目的代码,它很简单。

项目代码首先启动与GY-906传感器的接触并请求温度数据。传感器然后返回16位原始温度读数,通过应用计算tempData * 0.02 - 273.15将其转换为摄氏度。

当你按下按钮时,代码从传感器读取温度并显示在OLED面板上。此外,按钮状态和温度值被发送到串行监视器进行故障排除。

在使用此草图之前,请确保您已经安装了OLED屏幕库。

临时PCB版本

我们现在正在准备临时PCB版本,其中包括将所有组件安装在我们的特殊原型PCB上并将它们连接起来以创建一个工作原型。

•要安装PICO 2,我们首先将母头引脚放在PCB上。

•然后将OLED屏幕和开关放置在顶部。

•我们将温度传感器连接到PCB的背面。

•在安装完所有组件后,我们开始使用连接线将它们的焊盘连接在一起。我们首先将所有组件的GND连接在一起。

•接下来,我们将5V的PICO连接到温度传感器和OLED面板的VCC。

•PICO的SDA (GPIO4)和SCL (GPIO5)现在分别连接到温度传感器和OELD屏幕的SDA和SCL引脚。

•最后,我们将GPIO0添加到按钮终端。

接线过程现在已经完成,我们的温度枪的原型电路已经准备好了。

结果/结论

这个基本但有用的项目的最终结果是一个工作温度枪,显示使用GY-906传感器检测到的热辐射介质的温度。对于精确的表面温度测量,通常推荐大约1厘米的距离,但这取决于介质的大小和比例。

为了对这台设备进行最后的测试,我们制作了两种不同的咖啡:一种是热黑美式咖啡,另一种是冷咖啡。首先,我们测量了热咖啡,得到了45°C的温度读数。接着,我们从冷的介质,也就是冷的咖啡中取读数,它的温度是二十摄氏度。冷咖啡不太冷,热咖啡不温不热。

温度枪原型已经开始工作,我们现在可以计划该项目的第二次迭代,它将采用热枪3D打印外壳,并包括一个带有锂电池的定制PCB,使设置更方便,更便于使用。

代码

#include

#include

#include

#define SCREEN_WIDTH 128

#define SCREEN_HEIGHT 32

#define OLED_RESET -1

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

const int buttonPin = 0; // GPIO0 pin for button

const int sensorAddress = 0x5A; // GY-906-BAA I2C address

void setup() {

Serial.begin(9600);

pinMode(buttonPin, INPUT_PULLUP);

Wire.begin();

// SSD1306 OLED display initialization

if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {

Serial.println(F("SSD1306 allocation failed"));

for(;;);

}

display.display();

delay(2000); // Pause for 2 seconds

display.clearDisplay();

display.setTextSize(1);

display.setTextColor(SSD1306_WHITE);

display.setCursor(0, 0);

display.print("Press button");

display.display();

}

void loop() {

int buttonState = digitalRead(buttonPin);

Serial.print("Button State: ");

Serial.println(buttonState);

if (buttonState == LOW) { // Button is pressed when LOW with INPUT_PULLUP

Serial.println("Button Pressed");

float temperature = readTemperature();

Serial.print("Temperature: ");

Serial.println(temperature);

display.clearDisplay();

display.setCursor(0, 0);

display.print("Temp: ");

display.print(temperature);

display.print(" C");

display.display();

} else {

display.clearDisplay();

display.setCursor(0, 0);

display.print("Press button");

display.display();

}

delay(100);

}

float readTemperature() {

Wire.beginTransmission(sensorAddress);

Wire.write(0x07);

Wire.endTransmission(false);

Wire.requestFrom(sensorAddress, 3);

int16_t tempData = Wire.read();

tempData |= Wire.read() << 8;

float temperature = tempData * 0.02 - 273.15;

return temperature;

}

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭