gy906红外测温传感器例程
时间: 2023-06-16 19:06:32 浏览: 57
以下是GY906红外测温传感器的Arduino例程:
```
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
mlx.begin();
}
void loop() {
Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC());
Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
Serial.println();
delay(500);
}
```
首先,需要引入Wire库和Adafruit_MLX90614库。在setup()函数中,我们初始化串口,并调用begin()函数初始化传感器。在loop()函数中,我们调用readAmbientTempC()函数读取环境温度,并调用readObjectTempC()函数读取物体温度,并通过串口输出结果。我们设置了500ms的延时,以便能够连续读取温度数据。
请注意,您需要先下载并安装Adafruit_MLX90614库,然后才能运行此例程。
相关问题
0.96寸tft显示红外测温温度例程
很抱歉,我并不是一个能够执行代码的程序,也没有直接访问硬件的能力。但是,我可以告诉你如何编写这样的程序。
首先,你需要一块0.96寸TFT显示屏和一个红外测温传感器模块。这两个模块都可以通过Arduino或其他微控制器进行控制。你需要将它们连接到你的Arduino板上,并确保它们能够正常工作。
然后,你需要编写一个程序来读取红外测温传感器的数据,并将其显示在TFT屏幕上。以下是一个示例程序:
```c
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <Adafruit_MLX90614.h>
#define TFT_CS 10
#define TFT_RST 9
#define TFT_DC 8
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
tft.initR(INITR_BLACKTAB);
mlx.begin();
}
void loop() {
float temp = mlx.readObjectTempC();
tft.fillScreen(ST7735_BLACK);
tft.setCursor(0, 0);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.print("Temperature:");
tft.print(temp);
tft.print("C");
delay(1000);
}
```
这个程序使用Adafruit库控制TFT显示屏和MLX90614红外测温传感器。它将温度读数显示在TFT屏幕上,并每秒更新一次。你可以根据需要修改程序来满足你的需求。
注意,上述代码仅供参考。它可能需要根据你使用的具体硬件和库进行修改。在编写代码之前,请确保仔细阅读文档和示例,并理解代码中的每个部分。
0.96寸tft显示红外测温温度例程stm32f103c8t6
好的,以下是一个基于STM32F103C8T6的例程,用于读取红外测温模块的温度数据,并将其显示在0.96寸TFT屏幕上。
首先,你需要准备以下硬件和软件:
- STM32F103C8T6开发板
- 0.96寸TFT显示屏
- 红外测温模块
- ST-LINK/V2调试器
- Keil uVision 5开发环境
接下来,按照以下步骤进行操作:
1. 打开Keil uVision 5开发环境,创建一个新的工程,选择STM32F103C8T6作为芯片型号,并选择对应的器件包。
2. 在工程中添加以下库文件:
- CMSIS
- STM32F10x_StdPeriph_Driver
这些库文件可以在ST官网下载,也可以在Keil uVision 5的Pack Installer中下载。
3. 在工程中添加以下源文件:
- Adafruit_GFX.c
- Adafruit_ST7735.c
这些源文件是用于控制TFT显示屏的库文件,可以从Adafruit官网下载。
4. 编写以下程序代码,用于读取红外测温模块的温度数据,并将其显示在TFT屏幕上。
```c
#include "stm32f10x.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ST7735.h"
#include "MLX90614.h"
#define TFT_CS GPIO_Pin_4
#define TFT_RST GPIO_Pin_3
#define TFT_DC GPIO_Pin_2
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
MLX90614 mlx = MLX90614();
void delay(uint32_t time) {
while(time--);
}
int main(void) {
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE); // 使能GPIOA和GPIOB时钟
tft.begin(); // 初始化TFT屏幕
mlx.begin(); // 初始化红外测温模块
while(1) {
float temp = mlx.readObjectTempC(); // 读取温度数据
char str[16];
sprintf(str, "%.2f C", temp); // 格式化温度数据
tft.fillScreen(ST7735_BLACK); // 清空屏幕
tft.setCursor(0, 0); // 设置光标位置
tft.setTextColor(ST7735_WHITE); // 设置字体颜色
tft.setTextSize(2); // 设置字体大小
tft.print(str); // 在屏幕上显示温度数据
delay(1000000); // 延时一段时间
}
}
```
这个程序使用了Adafruit库和MLX90614库,用于控制TFT屏幕和红外测温模块。它将温度数据读取并在屏幕上显示出来。
注意,上述代码仅供参考。它可能需要根据你使用的具体硬件和库进行修改。在编写代码之前,请确保仔细阅读文档和示例,并理解代码中的每个部分。