红外+温湿度传感器代码
时间: 2024-06-13 13:01:19 浏览: 155
温湿度传感器代码
5星 · 资源好评率100%
红外+温湿度传感器通常采用I2C协议进行通讯。下面是一个基于Arduino的红外+温湿度传感器代码示例:
```
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_AM2320.h>
#include <IRremote.h>
#define IR_PIN 7 //红外接收器的引脚
#define AM2320_ADDR 0x5C //AM2320地址
IRrecv irrecv(IR_PIN);
decode_results results;
Adafruit_AM2320 am2320 = Adafruit_AM2320();
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
am2320.begin();
Wire.begin();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // 接收下一个值
}
float temperature, humidity;
if (!am2320.readTemperatureAndHumidity(&temperature, &humidity)) {
Serial.println("Failed to read AM2320 sensor data!");
return;
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000); // 每2秒读一次
}
```
该代码使用了IRremote和Adafruit_AM2320库。它通过红外接收器接收红外信号,并通过AM2320传感器读取温湿度数据。在串口监视器中,将显示温度和湿度值。
阅读全文