步骤1:材料
1.- Arduino UNO
2.-数据记录器护罩
3.- 2个温度传感器DS18B20
4.-一种线地址查找器实用程序。
5.-面包板,连接器等。
6.-SD或micro SD卡
7.-CR 1220兵器(如果不包含)
8.-达拉斯温度库
9.- Onewire库
第2步:传感器的地址
下载实用程序1有线地址查找器并连接传感器。您必须一一完成。在此示例中,我使用的是正常电源模式,并且将数据连接到arduino的引脚3。
我的引脚
红色= Vcc + 5v
蓝色=数据
黑色= GND
有此页面上有关此传感器的很多信息。
解压缩1个有线地址查找器,然后将文件放入保存草图的文件夹中。以我的Windows7为例:
我的文档--- Arduino
然后从arduino IDE打开并运行它
打开----我的文档- --- Arduino ---一个电线地址查找器。pde
您必须复制地址。
请确保您已安装所需的库(Onewire和达拉斯温度)
步骤3:测试传感器
现在您可以连接两个传感器了。这次是引脚2,还是可以在这里更改:
#define ONE_WIRE_BUS_PIN 2//我们正在使用的引脚
每个传感器都有自己的地址。您必须将地址放在这里:
DeviceAddress Probe01 = { 0x28、0xFF,0x56、0xC4、0x01、0x15、0x02、0x72 };//inox2
DeviceAddress Probe02 = { 0x28、0xFF,0xC2、0xD1、0x02、0x15、0x03、0xD9 };//Inox1
在此处更改分辨率:
///将分辨率设置为9位(可以是9到12位。.越低越快)
sensors.setResolution( Probe01,9);
sensors.setResolution(Probe02,9);
如果一切正常,您将在串行监视器中保存数据(参见图片)
步骤4:采样率控制
I假设您知道如何使用数据记录器防护罩。如果不是,请访问我以前的说明。(介绍中的链接)
现在,我们必须使用数据记录器防护罩的RTC。安装它,然后将传感器连接到arduino(Data)的引脚2。
确保您具有所需的库:Wire,OneWire,RTClib,DallasTemperature
诀窍是
所以我们有了:
DateTime now = RTC.now();。//时钟调用
//-----------------一旦我们调用了时钟,我们将比较min和sec并打印---------
if(now.second()== 00){//每分钟采样
如果秒为0,则我们有一个“新”分钟并打印我们想要的内容。有关更多详细信息,请参见我之前的说明(导言中的链接)
以下是串行监视器的示例:每分钟和每10分钟。您可以在图片中看到结果。
步骤5:数据记录器
我们测试了采样率,现在我们使用屏蔽的sd卡记录数据。您必须使用与上一步相同的连接。
警告
-某些屏蔽需要arduino的引脚10作为输出,即使它在工作(记录)。我没有。
//pinMode(10,OUTPUT);//对于某些数据记录器屏蔽。如果需要,请取消注释。
-更改您的CS(chipSelect)的提示。我的是8
const int chipSelect = 8;//您的数据记录器防护罩的CS引脚。也许不是您的!!
-确保您具有与数据记录器防护罩兼容的经过测试/格式化的sd卡。
使事情变得更容易,则可以使用函数“ getTempCByIndex”(摄氏)或getTempFByIndex(华氏度),其中(0)是第一个传感器,(1)是第二个传感器,依此类推。您不需要地址,但必须手动识别传感器。如果只需要一个传感器,则此示例很有用,因此必须使用索引0。请参见示例。
继续“按地址代码”,我向您展示3个示例:每1、10和30分钟。我认为这些示例可以满足您的需求。如果您每小时都需要:
if(now.minute()== 00 && now.second == 00)
{
打印所需内容
}
您可以使用其他具有此结构的传感器来控制采样率。
-
采样率
+关注
关注
0文章
73浏览量
16727 -
DS18B20
+关注
关注
10文章
778浏览量
80650 -
数据记录器
+关注
关注
0文章
53浏览量
12672 -
Arduino
+关注
关注
187文章
6461浏览量
186540
发布评论请先 登录
相关推荐
评论