bluehook
发表于 2013-6-10 16:51:07
我觉得应该是float vol = n * ((5.0 / 1024.0)/0.01); 结果是一样的
5.0/1024得到输入端口电压的识别率,再比上LM35的电压识别率,再乘以输入端口的值更直观一些
chqiyi
发表于 2013-6-11 01:47:09
简单温度计的不简单讨论哈,学习氛围很浓厚:)
迷你强
发表于 2013-6-13 12:04:15
:L大家往后看,后面的就准了。。这个是简单玩法、、、、
really_ashamed
发表于 2013-6-26 15:16:57
强子老是让大家复制代码,靠复制代码能学会编程吗,还是亲手打一遍好一些,个人建议
fantasybei
发表于 2013-7-25 00:24:27
前面的讨论里有些错误,应该不是0-100℃对应0-5v(或者就是对应模拟口0-1024),如果是这样的话,那么模拟口每个数对应的温度是 100/1024,所以假设n是从模拟口读到的数字,那么它对应的温度就是n * 100 / 1024.所以说实际上应该说是0-500℃对应0-5v(模拟口0-1024),但是这个设备最多只能检测100度的温度,其实从模拟口读出来的数应该永远小于1024/5:lol
茗嗳§矜de缕
发表于 2013-8-3 09:43:48
我使用的红外测温探头,输出的是电流信号,转为电压信号就可以实时测温了!
chaoser
发表于 2013-8-9 23:15:04
上面的讨论看得我云山雾罩的。总之我用电位器测过板子的电压变化值是0~4.88V,所以用 5.0/1023.0*100 这个式子妥妥的,测出的温度比较准确。
开空调室内温度大概是26度,比空调遥控器上的温度高2度,这个觉得很正常。用手指捏住LM35,大概能均匀升到32度,放开后缓缓回落,变化很均匀。
那么,是我人品好么,哇哈哈哈哈。:lol
Greek
发表于 2013-8-16 11:51:14
想请教一下,在这个语句float vol = n * (5.0 / 1023.0*100);中 “5.0 / 1023.0*100”是什么意思? 看不懂。
迷你强
发表于 2013-8-17 10:17:43
Greek 发表于 2013-8-16 11:51 static/image/common/back.gif
想请教一下,在这个语句float vol = n * (5.0 / 1023.0*100);中 “5.0 / 1023.0*100”是什么意思? 看不懂 ...
10位 adc是1024级 datasheet 上说 lm35 10mv/℃
Greek
发表于 2013-8-18 23:03:11
迷你强 发表于 2013-8-17 10:17 static/image/common/back.gif
10位 adc是1024级 datasheet 上说 lm35 10mv/℃
为什么不用所测量电压直接除以0.01V呢?
[email protected]
发表于 2013-9-26 18:37:46
很好,赞一个!其实我也同意应该自己手打程序,不要直接复制教程程序对加深印象有帮助,另外,看完教程看留言也是收获很多!
Champ
发表于 2013-12-6 21:47:34
float vol = n * (5.0 / 1023.0*100)????是这样的么》?
Champ
发表于 2013-12-6 21:49:56
float vol = n * (100.00 / 1023.0),这样更合理
laofuz1024
发表于 2013-12-27 19:54:26
呵呵,我看了一下lm35的资料
说是每升1度就上升10mv,应该怎么理解5/1023*100这里面呢?
本来还理解,但是越想越糊涂了...
还在sd18b20 数字信号,怎么和arduino通信,能详细解说一下吗?呵呵,网上找到有程序是用库的或者和是单片机的,类似汇编的,有很多看不懂,特别是有什么时序的...
fish6823
发表于 2014-2-17 23:49:56
laofuz1024 发表于 2013-12-27 19:54 static/image/common/back.gif
呵呵,我看了一下lm35的资料
说是每升1度就上升10mv,应该怎么理解5/1023*100这里面呢?
因为模拟口输出的数值是0-1023,板子的基准电压是5V,所以5/1023*1000就可以算出模拟口的数值1=4.88759mV,又因为LM35测出温度是以电压输出的形式来表现的,每升1度就上升10mV,所以完整公式就是:vol=n*5.0/1023.0*1000/10,理解了吧?