今天,所有传感器全部到齐,可以开始我的硬件之旅了;
不同的温度使内部的温度二极管两端有不同的电压,将这个电压模拟量进行A/D(模数)转换,得到温度数字量,然后通过串行传输送出来。
温度传感器分别是三个口,vcc,vout,gnd! gnd链接ardunio的gnd, vcc可以链接3.3v vcc 或者5伏vcc,电压越大传回数字越大。最后vout,我们接A0模拟端口。
下载ardunio ide,连接ardunio到电脑;
导入dallastemperature包,导入onewire包,把下载好的包放入安装目录的lib,如果不知道安装目录,可以点击file,prefence!
2.程序
#include <OneWire.h>
#include <DallasTemperature.h>
//定义一线接入在ardunio的端口
#define ONE_WIRE_BUS 2
//一线接入
OneWire oneWire(ONE_WIRE_BUS);
//以温度的形式解析数据
DallasTemperature sensors(&oneWire);
//初始化函数
void setup(void)
{
//开启串口端口
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// 开启库
sensors.begin();
}
//循环执行函数
void loop(void)
{
Serial.print("Requesting temperatures...");
//请求数据
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");
Serial.print("Temperature for the device 1 (index 0) is: ");
// 因为只有一个数据输入线,所以获取第一个数据
Serial.println(sensors.getTempCByIndex(0));
delay(2000); 延迟2秒执行
}