WIFIduino 使用多个DS18B20-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4223|回复: 2

WIFIduino 使用多个DS18B20

[复制链接]
发表于 2018-7-7 13:05 | 显示全部楼层 |阅读模式
在WIFIduino使用DS18B20温度传感器时只有D2,D3可以使用,其它输出都为0,D1有乱码的现象不能正常采集数据, webwxgetmsgimg (1).jpg webwxgetmsgimg.jpg
这是源码:
#include <OneWire.h>
#include <DallasTemperature.h>

// 定义DS18B20数据口连接arduino的2号IO上
#define ONE_WIRE_BUS D3
#define ONE_WIRE_BUS1 D2
#define ONE_WIRE_BUS2 D4

// 初始连接在单总线上的单总线设备
OneWire oneWire(ONE_WIRE_BUS);
OneWire oneWire1(ONE_WIRE_BUS1);
OneWire oneWire2(ONE_WIRE_BUS2);
DallasTemperature sensors(&oneWire);
DallasTemperature sensors1(&oneWire1);
DallasTemperature sensors2(&oneWire2);

void setup(void)
{
  // 设置串口通信波特率
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // 初始库
  sensors.begin();
  sensors1.begin();
  sensors2.begin();
}

void loop(void)
{
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures(); // 发送命令获取温度
  sensors1.requestTemperatures(); // 发送命令获取温度
  sensors2.requestTemperatures(); // 发送命令获取温度
  Serial.println("DONE");

  Serial.print("Temperature for the device 1 (index 0) is: ");
  Serial.print(sensors.getTempCByIndex(0));
  Serial.print(" - - - ");
  Serial.print(sensors1.getTempCByIndex(0));
  Serial.print(" - - - ");
  Serial.println(sensors2.getTempCByIndex(1));


}

QQ图片20180707050316.png
订单号:185691741985338727
 楼主| 发表于 2018-7-7 13:06 | 显示全部楼层
D4--D13都不能正常使用,不知是板子问题,还是我的代码写的有问题,问了些人也是不清楚原因。问了度娘也是不太清楚。只能慢慢找问题
发表于 2018-8-8 18:16 来自手机 | 显示全部楼层
是否有上拉?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:30 , Processed in 0.085404 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表