当前位置:首页Arduino > 正文

arduino温度传感器实验代码

作者:野牛程序员:2023-07-25 13:17:13Arduino阅读 2850

当涉及Arduino温度传感器实验时,最常用的温度传感器之一是DS18B20数字温度传感器。以下是一个简单的Arduino代码示例,用于读取DS18B20传感器的温度并将其显示在串行监视器上:

首先,需要确保您的Arduino板与DS18B20传感器正确连接。DS18B20通常有3个引脚:VCC(正电源),GND(地)和DATA(数据)。将VCC连接到Arduino的5V引脚,GND连接到GND引脚,DATA连接到数字引脚2(可以选择其他数字引脚,但在代码中要相应地更改引脚号)。

#include <OneWire.h>
#include <DallasTemperature.h>

// 数据引脚连接到数字引脚2
#define ONE_WIRE_BUS 2

// 初始化OneWire和DallasTemperature对象
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures(); // 发送获取温度命令
  
  // 读取温度值(摄氏度)
  float temperatureC = sensors.getTempCByIndex(0);

  // 检查是否成功读取温度
  if (temperatureC != DEVICE_DISCONNECTED_C) {
    Serial.print("温度: ");
    Serial.print(temperatureC);
    Serial.println(" °C");
  } else {
    Serial.println("无法读取温度数据.");
  }

  delay(1000); // 每隔1秒钟进行一次温度读取
}

这段代码使用了OneWire库和DallasTemperature库来与DS18B20传感器进行通信,并读取温度值。首先,在setup()函数中初始化了串行通信和传感器。在loop()函数中,通过sensors.requestTemperatures()向传感器发送读取温度命令,然后使用sensors.getTempCByIndex(0)读取温度值(摄氏度)。请确保在串行监视器中设置波特率为9600,以便查看温度值的输出。

上传此代码后,打开串行监视器,应该能够看到每隔一秒钟更新一次的温度读数。

请注意,具体的传感器型号和库可能有所不同,所以在使用不同型号传感器时,可能需要相应调整代码和库。但一般来说,大多数数字温度传感器在Arduino上的接线和代码使用方式都是类似的。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击