极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 弘毅

arduino学习笔记11 - 温度传感器实验

  [复制链接]
 楼主| 发表于 2012-9-21 20:47:02 | 显示全部楼层
奥氏体 发表于 2012-9-21 20:29
也发一个我的程序,可以直接显示小数点后两位的的温度,另外如何把程序发上来的时候和楼主一样呢?
#inclu ...

高级编辑里,右上角有<>形状的图标,点击后,把代码写进去确认就可以。
回复 支持 反对

使用道具 举报

发表于 2012-9-21 21:37:37 | 显示全部楼层
弘毅 发表于 2012-9-21 20:47
高级编辑里,右上角有形状的图标,点击后,把代码写进去确认就可以。

多谢版主还编辑了我的程序
回复 支持 反对

使用道具 举报

发表于 2012-9-21 22:43:18 | 显示全部楼层
没用过这芯片,据说不错
回复 支持 反对

使用道具 举报

发表于 2012-10-8 14:12:36 | 显示全部楼层
temperature = (val*0.0048828125*1000);         
1度是10MV,那么后面应该乘的是100啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-8 16:41:08 | 显示全部楼层
hk386 发表于 2012-10-8 14:12
temperature = (val*0.0048828125*1000);         
1度是10MV,那么后面应该乘的是100啊

额。。。。可以看注释,是故意10倍的~~
回复 支持 反对

使用道具 举报

发表于 2013-2-18 10:21:46 | 显示全部楼层
疑问:
5/1024=0.0048828125
根据公式 val*0.0048828125
而 val 的有效值是 0到1023
那么当val取到最大值,即1023,而得到的温度就是 0.0048828125*1023=4.9951171875
不知道这里是否存在误差
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-18 14:59:49 | 显示全部楼层
peter13447 发表于 2013-2-18 10:21
疑问:
5/1024=0.0048828125
根据公式 val*0.0048828125

肯定是存在的,不过对于民用级别,这个误差在0.01V之内,是不影响使用的。因为无法整除,浮点数的使用肯定会有误差,大小多少的问题。
回复 支持 反对

使用道具 举报

发表于 2013-2-18 16:56:29 | 显示全部楼层
弘毅 发表于 2013-2-18 14:59
肯定是存在的,不过对于民用级别,这个误差在0.01V之内,是不影响使用的。因为无法整除,浮点数的使用肯定 ...

我的想法是
5/1023 而不是 5/1024
这样不是更加精确吗
老大 你看是否可以呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-18 22:31:12 | 显示全部楼层
peter13447 发表于 2013-2-18 16:56
我的想法是
5/1023 而不是 5/1024
这样不是更加精确吗

0-1023是1024个数字。。。所以还是要除以1024的
回复 支持 反对

使用道具 举报

发表于 2013-2-18 23:02:00 | 显示全部楼层
弘毅 发表于 2013-2-18 22:31
0-1023是1024个数字。。。所以还是要除以1024的

你的概念里面,点和段 没有认识清楚
2个点 组成1个段

0-1023 实际是1024个点,但是却是1023段
我们目前是把5V电压分成1023段

初始值与结束值一定是一一对应的
也就是说
0V电压 对应 0
5V电压 对应 1023

请再仔细研究下看
回复 支持 反对

使用道具 举报

发表于 2013-4-15 21:25:19 | 显示全部楼层
请问这里的LiquidCrystal库可以用spi接法么?
回复 支持 反对

使用道具 举报

发表于 2013-4-16 14:53:14 | 显示全部楼层
想知道那个模拟口和数字口都用4了  不会冲突么。。不是A4么?
回复 支持 反对

使用道具 举报

发表于 2013-4-16 21:42:16 | 显示全部楼层
幻影殇∮ 发表于 2012-2-4 18:22
那张示意图使用什么软件画的,感觉很不错的样子啊。

用fritzing画的
回复 支持 反对

使用道具 举报

发表于 2013-5-26 20:55:15 | 显示全部楼层
本帖最后由 philhoo 于 2013-5-26 21:05 编辑

我也做了实验,并且改了程序,没有明白弘毅大师为什么要转换温度,一个位一个位的显示?用这个程序和弘老师的程序比较了一下温度也没有太大的差别。我还以为1602不能显示变量的值,非要转换后显示10位,显示个位,显示小数点这样的。
  1. /*
  2.   LiquidCrystal Library - Hello World

  3. Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
  4. library works with all LCD displays that are compatible with the
  5. Hitachi HD44780 driver. There are many of them out there, and you
  6. can usually tell them by the 16-pin interface.

  7. This sketch prints "Hello World!" to the LCD
  8. and shows the time.

  9.   The circuit:
  10. * LCD RS pin to digital pin 12
  11. * LCD Enable pin to digital pin 11
  12. * LCD D4 pin to digital pin 5
  13. * LCD D5 pin to digital pin 4
  14. * LCD D6 pin to digital pin 3
  15. * LCD D7 pin to digital pin 2
  16. * LCD R/W pin to ground
  17. * 10K resistor:
  18. * ends to +5V and ground
  19. * wiper to LCD VO pin (pin 3)

  20. Library originally added 18 Apr 2008
  21. by David A. Mellis
  22. library modified 5 Jul 2009
  23. by Limor Fried (http://www.ladyada.net)
  24. example added 9 Jul 2009
  25. by Tom Igoe
  26. modified 22 Nov 2010
  27. by Tom Igoe

  28. This example code is in the public domain.

  29. http://www.arduino.cc/en/Tutorial/LiquidCrystal
  30. */

  31. // include the library code:
  32. #include <LiquidCrystal.h>

  33. // initialize the library with the numbers of the interface pins
  34. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  35. int potPin = 4;                     //设置模拟口4为LM35的信号输入端
  36. float temperature = 0;                //设置temperature为浮点变量
  37. long val=0;   
  38. void setup() {
  39.   // set up the LCD's number of columns and rows:
  40.   lcd.begin(16, 2);
  41. }
  42. void loop() {
  43.   val = analogRead(potPin);             //val变量为从LM35信号口读取到的数
  44.   temperature = (val*0.0048828125*100);         //把读取到的val转换为温度数值的10倍
  45.   lcd.clear(); //清屏
  46.   lcd.print("Now Temp is"); //使屏幕显示文字
  47.   lcd.setCursor(0, 1) ; //设置光标位置为第二行第一个位置
  48.   lcd.print(temperature);   //显示温度
  49.   lcd.print((char)223); //显示o符号
  50.   lcd.print("C"); //显示字母C
  51. delay(1000);
  52. }
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-28 11:52:54 | 显示全部楼层
philhoo 发表于 2013-5-26 20:55
我也做了实验,并且改了程序,没有明白弘毅大师为什么要转换温度,一个位一个位的显示?用这个程序和弘老师 ...

哈哈。。当年不会用,随便写的了。。其实原来写的东西BUG;连篇。。。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 22:06 , Processed in 0.043352 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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