使用arduino uno用蓝牙碰到温湿度问题-Arduino中文社区 - Powered by Discuz! Archiver

liren66 发表于 2019-9-29 01:34

使用arduino uno用蓝牙碰到温湿度问题

本帖最后由 liren66 于 2019-9-29 01:38 编辑


[*]硬件:
[*]接入方式:
[*]blinker库版本: [最新刚下的]
[*]开发环境:
[*]操作系统:
[*]蓝牙:DX-BT05(CC2541)
手机信息及APP信息
[*]
[*]手机品牌及型号:oppoo r11s
[*]android系统版本:7.11
[*]blinker App版本:2.27
问题描述我用了论坛大大给的教程里面的案例https://www.arduino.cn/thread-83176-1-1.html 这个帖子里面的温湿度遇到的问题1.如果我rx'tx不用1,2。debug就不会显示任何内容。2.论坛里面查到的方法我给rxtx换个2.3或者12.13都没有用我端口9600和115200都试过。3.humi和temp就是不会显示任何数字,debug会更新。求大佬帮忙看看 这个搞了好几天了
代码#define BLINKER_BLE
#include <Blinker.h>
#include <DHT.h>

BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");

#define DHTPIN 8

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

float humi_read = 0, temp_read = 0;

void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    Serial.begin(9600);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(9600);
    Blinker.attachHeartbeat(heartbeat);
    dht.begin();
}

void loop()
{
    Blinker.run();

    float h = dht.readHumidity();
    float t = dht.readTemperature();

    if (isnan(h) || isnan(t))
    {
      BLINKER_LOG("Failed to read from DHT sensor!");
    }
    else
    {
      BLINKER_LOG("Humidity: ", h, " %");
      BLINKER_LOG("Temperature: ", t, " *C");
      humi_read = h;
      temp_read = t;
    }

    Blinker.delay(2000);
}

coloz 发表于 2019-9-29 01:58

你这问题和另一个帖子一模一样:
https://www.arduino.cn/thread-92281-1-1.html

你用硬串口的同时就不能和PC通信了
解决办法:按照文档,使用软串口。

liren66 发表于 2019-9-29 02:11

coloz 发表于 2019-9-29 01:58
你这问题和另一个帖子一模一样:
https://www.arduino.cn/thread-92281-1-1.html



大佬你好,请问是不是就是使用这个呢#include<SoftwareSerial.h>
SoftwareSerial espSerial(2,3);
还有文档是指开发文档吗。。我看过很多遍是指Blinker.begin(4, 5, 115200); 这一项吗

coloz 发表于 2019-9-29 02:16

liren66 发表于 2019-9-29 02:11
大佬你好,请问是不是就是使用这个呢#include
SoftwareSerial espSerial(2,3);
还有文档是指开发文档吗。 ...
我觉得文档已经非常详尽了。
复读下文档:
1.将串口BLE模块的 TXD连接到UNO的2号引脚,RXD连接到UNO的3号引脚
2.Blinker.begin();

https://diandeng.tech/doc/getting-start-ble


补充:
1.文档中写明了需要接2、3引脚,0、1是用来和PC通信的,接了蓝牙,本来传给PC的数据,就传给蓝牙了。
2.文档中有写明Blinker.begin的用法,并没有Blinker.begin(9600)这种用法。

liren66 发表于 2019-10-6 00:31

coloz 发表于 2019-9-29 02:16
我觉得文档已经非常详尽了。
复读下文档:
1.将串口BLE模块的 TXD连接到UNO的2号引脚,RXD连接到UNO的3号 ...

#define BLINKER_BLE
#include <Blinker.h>
#include <DHT.h>


BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");

#define DHTPIN 8
#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);

float humi_read = 0, temp_read = 0;

void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin();
    Blinker.attachHeartbeat(heartbeat);
    dht.begin();
}

void loop()
{
    Blinker.run();

    float h = dht.readHumidity();
    float t = dht.readTemperature();

    if (isnan(h) || isnan(t))
    {
      BLINKER_LOG("Failed to read from DHT sensor!");
    }
    else
    {
      BLINKER_LOG("Humidity: ", h, " %");
      BLINKER_LOG("Temperature: ", t, " *C");
      humi_read = h;
      temp_read = t;
    }

    Blinker.delay(2000);
}
大佬我这里,已经都按你的做了,我新买了个jdy08也不行.卖家告诉我默认波特率是9600.还是只有电脑串口可以收到数据。

coloz 发表于 2019-10-6 10:21

liren66 发表于 2019-10-6 00:31
#define BLINKER_BLE
#include
#include


8\11插的啥,是否有共地?请先严格按照文档检查硬件连接。

liren66 发表于 2019-10-6 16:48

coloz 发表于 2019-10-6 10:21
8\11插的啥,是否有共地?请先严格按照文档检查硬件连接。

大佬下午好,我刚才把8与11都拔了,我的只剩2-TXD,3-RXD,7-DTH11了。我的蓝牙模块与温湿度模块的GND和电源都是插我从arduino单口引出来在面包板上的分支。我代码里接8的dth也修改成7了。还是只有电脑串口有数据反馈。手机端还是一样的情况。

coloz 发表于 2019-10-6 17:57

我这边看了几家淘宝,JDY08默认波特率为115200,没有写9600的。
且我也测试了手上的JDY08,一切正常,如果还是不行,那我也不知道你哪里没对了。

liren66 发表于 2019-10-6 21:07

coloz 发表于 2019-10-6 17:57
我这边看了几家淘宝,JDY08默认波特率为115200,没有写9600的。
且我也测试了手上的JDY08,一切正常,如果 ...

大佬晚上好。那我是不是应该改成这样Blinker.begin(2,3,115200); 电脑的波特率和蓝牙的是否需要一样呢Serial.begin(115200);就是这一项括号里面的数字

coloz 发表于 2019-10-6 22:37

Blinker.begin(2,3,115200);
页: [1] 2
查看完整版本: 使用arduino uno用蓝牙碰到温湿度问题