极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 33118|回复: 18

Arduin读取两个温度传感器的数据出现问题!谢谢大家解答!

[复制链接]
发表于 2013-5-15 22:49:34 | 显示全部楼层 |阅读模式
本帖最后由 alvin123 于 2013-5-24 22:12 编辑

代码如下:


int a ;
int b ;

void setup() {
  Serial.begin(9600);

}

void loop() {
  a=analogRead(3);
  b=analogRead(1);
  Serial.println(a);
  Serial.println(b);
  delay(500);
}

我只有一个的传感器时候串口的值没问题!是62左右,用手捏住传感器数值会提高!但是两个传感器后,a的值就不受控制了;

是什么原因?我想实现两个传感器的时候能像只有一个传感器的时候。数值能受控制!!

多谢大侠解答!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2013-5-15 22:53:40 | 显示全部楼层
补充一张图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-5-16 10:16:28 | 显示全部楼层
你这个是什么温度传感器? 是DS18b20吗? 如果是,那你的读取程序是错误的,应该遵循单总线规则。论坛里有ds18b20教程,你可以参考下。
回复 支持 反对

使用道具 举报

发表于 2013-5-16 12:58:09 | 显示全部楼层
如果是LM35的话,尝试的在两个analogRead中间添加一个delay,看看有没有效果。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-16 13:00:35 | 显示全部楼层
弘毅 发表于 2013-5-16 12:58
如果是LM35的话,尝试的在两个analogRead中间添加一个delay,看看有没有效果。

是LM35啊!但是如果其一个LM35 和一个旋转电位器 读出来的两个数也是不受控制的!
回复 支持 反对

使用道具 举报

发表于 2013-5-16 13:03:24 | 显示全部楼层
alvin123 发表于 2013-5-16 13:00
是LM35啊!但是如果其一个LM35 和一个旋转电位器 读出来的两个数也是不受控制的!

我晚上回家后测试测试。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-16 13:07:32 | 显示全部楼层
alvin123 发表于 2013-5-16 13:00
是LM35啊!但是如果其一个LM35 和一个旋转电位器 读出来的两个数也是不受控制的!

加了个delay 还是一样!谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-16 13:08:15 | 显示全部楼层
wuhaoyc 发表于 2013-5-16 10:16
你这个是什么温度传感器? 是DS18b20吗? 如果是,那你的读取程序是错误的,应该遵循单总线规则。论坛里有d ...

是LM35传感器!单总线规则在哪里可以找到
回复 支持 反对

使用道具 举报

发表于 2013-5-16 17:12:55 | 显示全部楼层
你监控一下VCC出来的电源,看看是不是正确.
还有就是LM35不存在18B20的单线接口.因为出来的值直接就是模拟值.18B20出来的是数字值不一样的(长得一样但是远离啥的完全不同).
回复 支持 反对

使用道具 举报

发表于 2013-5-16 17:20:13 | 显示全部楼层
还有就是你的管脚接法是否正确,以及是否有接触不良(很多莫名的故障都是这些小问题造成的)
温故一下接法:

其中VCC接5V GND接你的GND 中间的脚接A3和A1
另外,面包板以及面包线很多都有接触不良或者触点氧化的问题, 很容易出现之类问题,
另外,用万用表检测VCC出来的电压, 看看是不是达到或者接近5V,有些第三方的板子用料以及改动的设计都有可能造成对外供电不稳.
回复 支持 反对

使用道具 举报

发表于 2013-5-16 17:24:37 | 显示全部楼层
alvin123 发表于 2013-5-16 13:08
是LM35传感器!单总线规则在哪里可以找到

单线主要是DS18b20的协议, 总共3根线,VCC GND DATA, 在条件许可的情况下,可以并联很多DS18b20,也就是一根数据线 就可以直接连接多个数字温度计,做到多点测温。 接线比较简单,但是要求VCC供电够强大。
DS18b20 是数字传感器,出来的信号是方波,和LM35不一样,LM35是模拟的,出来的是电压信号。
回复 支持 反对

使用道具 举报

发表于 2013-5-17 18:33:56 | 显示全部楼层
刚用mango+两个LM35测试了下,就用了楼顶的代码,两个数值都能正常显示。。。



不过我是用杜邦线直接接的传感器,插接很紧,怀疑是LM35与其他地方接触不良造成的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-19 21:45:05 | 显示全部楼层
弘毅 发表于 2013-5-17 18:33
刚用mango+两个LM35测试了下,就用了楼顶的代码,两个数值都能正常显示。。。

你好!我是新手!mango是什么?那么就是说我的代码没有问题,还有线路连接也没有问题!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-19 21:57:16 | 显示全部楼层
本帖最后由 alvin123 于 2013-5-19 22:13 编辑
弘毅 发表于 2013-5-17 18:33
刚用mango+两个LM35测试了下,就用了楼顶的代码,两个数值都能正常显示。。。


你是按我那样连接吗??可以把你连接的图发给我看看吗?谢谢
回复 支持 反对

使用道具 举报

发表于 2013-5-20 00:11:22 | 显示全部楼层
本帖最后由 弘毅 于 2013-5-20 00:12 编辑
alvin123 发表于 2013-5-19 21:57
你是按我那样连接吗??可以把你连接的图发给我看看吗?谢谢


看上去和你的差不多,不过我的lm35是直接杜邦公转母线接了。。刚好手头面包板跳线不够。。就直接飞了。。。我感觉你那个问题应该是LM35与Arduino连线之间接触不良造成的问题。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 23:58 , Processed in 0.037450 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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