Black7
发表于 2014-10-10 16:15:39
这个用起来确实简单多了,程序几行就搞定了,18b20相对就复杂许多了。
Black7
发表于 2014-10-10 21:10:14
好东西,相当基础,适合初学者,顶!!!!
151
发表于 2014-10-30 22:01:52
void setup()
{
Serial.begin(9600);
}
void loop ()
{
int n=analogRead(A0);
float vol=n*(5.0/1023.0*100);
Serial.println (vol);
delay(2000);
}
为什么我的测出来感觉数据是随机的······最先以为把线连反了,但是一次是400至500,反过来就是20左右(现在温度绝对没20度!!),还出现很多0.00或者个位数,感觉是乱码,求解
z200125584726
发表于 2014-11-25 17:16:52
我的一直是500
a517002789
发表于 2014-11-26 10:28:27
现在正需要这个简单的温度计:lol
Empty_bottle
发表于 2014-11-27 23:09:23
Alierce 发表于 2014-6-25 17:00 static/image/common/back.gif
为什么 float vol = n*(5.0/1023.0*100); 当中5要写为5.0?1023要写为1023.0?我试过如果把0去掉就只能显示 ...
查了下,arduino官方对float的解释是If doing math with floats, you need to add a decimal point, otherwise it will be treated as an int. See the Floating point constants page for details.
如果用float运算,需要把所有的数都改成浮点进行运算,不然就会被当成int运算。如果你把1023.0的0去掉了,就是两个int运算。n*5/1023的值是个小于1的小数,arduino会直接把它当成0处理,所以结果现实的也就是0了。
和C语言的规则不太一样。
Empty_bottle
发表于 2014-11-27 23:14:53
ardiunoaihaozhe 发表于 2014-7-18 13:24 static/image/common/back.gif
请问能不能显示千分位
把Serial.println(vol)的函数改成Serial.println(vol,3)就能显示千分位了。
但感觉没有意义啊,这个传感器的参数表里写了,精度是0.5℃,显示得再精细,实际也不准确啊。。。
yhtsiren
发表于 2014-12-21 21:27:47
我收到的是aosong的DHT11,测量范围是0-50度,但是 2号引脚输出的一直都是1023, 所以就会一直是最大的数,大多数出现500的估计都是这个问题
求解
yhtsiren
发表于 2014-12-21 21:40:35
DHT11 貌似数字输出 这个例子没法玩
suoma
发表于 2014-12-21 21:44:35
lionelg 发表于 2012-6-27 16:21 static/image/common/back.gif
范例用热敏电阻是不是更简单点儿
差不多,热门电阻编程中要有公式转换,lm35直接通过AD转换输出
qq7221742
发表于 2015-1-26 13:56:25
fish6823 发表于 2014-2-17 23:49 static/image/common/back.gif
因为模拟口输出的数值是0-1023,板子的基准电压是5V,所以5/1023*1000就可以算出模拟口的数值1=4.88759mV ...
你好 那如果按照你这样算n=1023时 vol=500℃了 可是明明应该是100℃啊
fish6823
发表于 2015-1-27 18:22:53
qq7221742 发表于 2015-1-26 13:56 static/image/common/back.gif
你好 那如果按照你这样算n=1023时 vol=500℃了 可是明明应该是100℃啊
您忘记要除以5了,所以1023对应的是100℃。
qq7221742
发表于 2015-2-2 12:10:42
fish6823 发表于 2015-1-27 18:22 static/image/common/back.gif
您忘记要除以5了,所以1023对应的是100℃。
所以完整公式就是:vol=n*5.0/1023.0*1000/10 可是您给的公式中n=1023,vol就=500啊
后来我的理解是n无法达到1023 最高值是使vol=100的值 不知道这样理解对不对
fish6823
发表于 2015-2-2 17:22:23
qq7221742 发表于 2015-2-2 12:10 static/image/common/back.gif
所以完整公式就是:vol=n*5.0/1023.0*1000/10 可是您给的公式中n=1023,vol就=500啊
后来我的理解是 ...
哦确实应该是,因为每10mV为1度的话,1000mV也就是1V就到100度了。
莫拉莫拉
发表于 2015-3-29 14:43:11
这个仿真用的什么软件??、