• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
arduino驱动dbs820温度

 

 

 

 

 

 

 

https://blog.csdn.net/Naisu_kun/article/details/88420357

超过温度报警

 

 

 

 

 

// #include <OneWire.h> //可以不引入,因为DallasTemperature.h中已经引入了OneWire.h
#include <DallasTemperature.h>

int relayPin = 5; //继电器引脚

float tem_alram=30;
#define ONE_WIRE_BUS 4 //1-wire数据总线连接在IO4
OneWire oneWire(ONE_WIRE_BUS); //声明
DallasTemperature sensors(&oneWire); //声明

void setup(void)
{
  Serial.begin(115200);
  Serial.println("");
  pinMode(relayPin, OUTPUT);
  sensors.begin(); //初始化总线
}

void loop(void)
{
 // Serial.println("发起温度转换");
  sensors.requestTemperatures(); //向总线上所有设备发送温度转换请求,默认情况下该方法会阻塞
 // Serial.println("温度转换完成");

  float tempC = sensors.getTempCByIndex(0); //获取索引号0的传感器摄氏温度数据
  if (tempC != DEVICE_DISCONNECTED_C) //如果获取到的温度正常 
  {
    Serial.print("当前温度是: ");
    Serial.print(tempC);
    Serial.println(" ℃\n");

    if(tempC>tem_alram)
      {
        Serial.println("继电器打开");
        digitalWrite(relayPin, HIGH);
      }
      else
      {
         Serial.println("继电器关闭");
         digitalWrite(relayPin, LOW);
      }
  }

 // delay(2000);
}

  

posted on 2019-10-31 21:01  MKT-porter  阅读(316)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3