📜  Arduino-温度传感器(1)

📅  最后修改于: 2023-12-03 14:59:22.750000             🧑  作者: Mango

Arduino温度传感器介绍

什么是Arduino?

Arduino是一款开源电子原型平台,由意大利的Massimo Banzi和David Cuartielles于2005年创建。Arduino旨在设计简单易用的硬件和软件,让非专业人士也能轻松学习和使用电子技术。

温度传感器

温度传感器是一种将物理温度转换为可读数值的设备。在Arduino中,常用的温度传感器有DS18B20、DHT11、LM35等。这里以DS18B20温度传感器为例。

DS18B20 温度传感器

DS18B20是一种数字温度传感器,可以测量-55℃到125℃的温度值。DS18B20实现了1线数字输入输出接口,具有很好的抗干扰能力。它非常适合用于计算机接口设备、工业传感器及自动化系统等领域。

Arduino连接DS18B20温度传感器

将DS18B20与Arduino连接非常简单,只需要将其3个引脚分别连接到Arduino上即可。

DS18B20引脚和电路图如下:

  • VDD:正极(3-5V)
  • GND:负极(GND)
  • DQ:信号线(D2)
Arduino程序
#include <OneWire.h>  // 添加OneWire库

// 定义温度传感器引脚
#define ONE_WIRE_BUS 2

// 初始化OneWire对象
OneWire oneWire(ONE_WIRE_BUS);

void setup() {
  Serial.begin(9600);  // 初始化串口波特率
}

void loop() {
  // 向DS18B20传输读取数据命令
  oneWire.reset();
  oneWire.write(0x55, 1);  // 发送读取温度命令

  // 读取DS18B20传输的数据
  byte data[9];
  oneWire.reset();
  oneWire.select(oneWire.search(data));
  for (byte i = 0; i < 9; i++) {
    data[i] = oneWire.read();
  }

  // 计算温度值
  float temperature = (data[1] << 8) | data[0];
  temperature *= 0.0625;

  // 输出温度值
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" C");

  delay(1000);  // 1秒钟读取一次数据
}
总结

通过本篇介绍,你已经了解了Arduino和温度传感器的相关知识,并且学会了如何将DS18B20温度传感器连接到Arduino,并通过程序获取温度数据。希望这篇文章能帮助你更深入地了解Arduino和电子技术。