查看: 328|回复: 9

Blinker 模拟传感器+数字传感器例程(DHT11 温湿度+气体传感)

[复制链接]
  • TA的每日心情
    开心
    2019-2-17 00:18
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2019-2-6 22:56 | 显示全部楼层 |阅读模式
    本帖最后由 ecstart 于 2019-2-16 22:55 编辑

      才接触1星期,发现Blinker自带了很多例程,已经成功试验了DHT的例程序,并完善了体感温度APP显示,也增加了继电器的,但是现在想添加一个烟雾或者亮度 模拟量传感器,但是貌似没有模拟量的例程序,新手研究了很久也没改成功。

    2-12 日  已经解决读取显示模拟传观器的问题,感谢奈何的基础教程,还是不能一口吃个胖子,基础还是要抓牢

    以下是一个 读取数字温湿度传感器DHT11  和 A0接口模拟量传感器的代码,本文的模拟量传感器用的是气体传感器,本代码初衷是放在厨房检测到气体泄后触发继电器开启换气扇,目前代码只写到了检测温湿度和气体 暂时没加入联动继电器的代码。

    #define BLINKER_WIFI

    #include <Blinker.h>

    char auth[] = "XXXXXXX";
    char ssid[] = "XXXXXXX";
    char pswd[] = "XXXXX";

    BlinkerNumber HUMI("humi");
    BlinkerNumber TEMP("temp");
    BlinkerNumber HEAT("heat");
    BlinkerNumber Kong("kong");
    // Download Adafruit DHT-sensor-library library here:
    // https://github.com/adafruit/DHT-sensor-library
    #include <DHT.h>

    #define DHTPIN 2
    int kong = A0;

    #define DHTTYPE DHT11   // DHT 11
    //#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    DHT dht(DHTPIN, DHTTYPE);

    uint32_t read_time = 0;

    float humi_read, temp_read, heat_read, kong_read;

    void dataRead(const String & data)
    {
        BLINKER_LOG("Blinker readString: ", data);

        Blinker.vibrate();

        uint32_t BlinkerTime = millis();
        Blinker.print(BlinkerTime);
        Blinker.print("millis", BlinkerTime);
    }

    void heartbeat()
    {
        HUMI.print(humi_read);
        TEMP.print(temp_read);
        HEAT.print(heat_read);
        Kong.print(kong_read);
      }

    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);

        pinMode(LED_BUILTIN, OUTPUT);
        digitalWrite(LED_BUILTIN, LOW);
        pinMode(kong,INPUT);

        Blinker.begin(auth, ssid, pswd);
        Blinker.attachData(dataRead);
        Blinker.attachHeartbeat(heartbeat);

        dht.begin();
    }

    void loop()
    {
        Blinker.run();

        if (read_time == 0 || (millis() - read_time) >= 2000)
        {
            read_time = millis();

            float h = dht.readHumidity();
            float t = dht.readTemperature();
            float c = dht.computeHeatIndex(t, h, false);
            float k = analogRead(A0);   
          if (isnan(h) || isnan(t)) {
                BLINKER_LOG("Failed to read from DHT sensor!");
                return;

            humi_read = h;
            temp_read = t;
            heat_read = c;
            kong_read = k;

            BLINKER_LOG("Humidity: ", h, " %");
            BLINKER_LOG("Temperature: ", t, " *C");
            BLINKER_LOG("Heat index: ", c, " *C");
            BLINKER_LOG("Kong Qi: ", k, " /1024");

              }
        }
    }
    IMG_4242.PNG


    QQ图片20190206225610.jpg
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-2-7 09:40 | 显示全部楼层
    8266只有一路ADC,如果有更多ADC需求,可以用ESP32
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    开心
    2019-2-17 00:18
  • 签到天数: 15 天

    [LV.4]偶尔看看III

     楼主| 发表于 2019-2-7 09:46 来自手机 | 显示全部楼层
    奈何col 发表于 2019-2-7 09:40
    8266只有一路ADC,如果有更多ADC需求,可以用ESP32

    大佬!blinke 有没有模拟传感器的例程啊!

    点评

    这个和blinker无关,就是直接用arduino的analogread读就行了  详情 回复 发表于 2019-2-7 14:53
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-2-7 14:53 | 显示全部楼层
    ecstart 发表于 2019-2-7 09:46
    大佬!blinke 有没有模拟传感器的例程啊!

    这个和blinker无关,就是直接用arduino的analogread读就行了
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    开心
    2019-2-17 00:18
  • 签到天数: 15 天

    [LV.4]偶尔看看III

     楼主| 发表于 2019-2-12 17:32 | 显示全部楼层
    奈何col 发表于 2019-2-7 14:53
    这个和blinker无关,就是直接用arduino的analogread读就行了

    感谢大佬的基础教程,理解一下,总算成功了!

    该用户从未签到

    发表于 2019-2-15 20:03 来自手机 | 显示全部楼层
    @ecstart,用了你的代码怎么老是掉线呀,
  • TA的每日心情
    开心
    2019-2-17 00:18
  • 签到天数: 15 天

    [LV.4]偶尔看看III

     楼主| 发表于 2019-2-15 20:57 来自手机 | 显示全部楼层
    换了代码了 看我新的帖子
  • TA的每日心情
    开心
    2019-2-17 00:18
  • 签到天数: 15 天

    [LV.4]偶尔看看III

     楼主| 发表于 2019-2-15 20:58 来自手机 | 显示全部楼层
    极客杰 发表于 2019-2-15 20:03
    @ecstart,用了你的代码怎么老是掉线呀,

    新帖子写了原因 加上去那段代码就好了.

    该用户从未签到

    发表于 2019-2-15 22:38 来自手机 | 显示全部楼层
    谢谢大佬

    该用户从未签到

    发表于 2019-2-17 00:07 来自手机 | 显示全部楼层
    很期待你的下一个作品
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    KittenBot杯第六届开源硬件开发大赛启动啦
    KittenBot杯第六届开源硬
    大赛简介: 第六届开源硬件开发大赛由Arduino中文社区发起 由KittenBot冠名赞助
    求助,Due使用问题。
    求助,Due使用问题。
    如图,Due没有SPI库和Wire库。
    arduino+onenet+edp协议
    arduino+onenet+edp协议
    每次在edp.c这里报错,请问这是什么问题?(这一句本身应该没有问题的)
    一文教你选择Arduino开发板,小白进
    一文教你选择Arduino开发
    笔者在2016年接触了Arduino,跳了万条坑,行了千里弯,到今天也算是Arduino的一
    能够与arduino结合的嵌入式视觉识别模块
    能够与arduino结合的嵌入
    该视觉识别模块是我司于2018年新推出的产品,处理器采用双核MCU,面向创客以及steam
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表