我想用arduino控制,利用ds16b10温度传感器实时测量温度,然后lcd12864显示屏每隔1ms显示一次温度。现在遇到的问题是:显示屏上能显示温度,但是它没有变化,当我的手靠近它,显示屏上的温度没有任何变化,因此,请大神们看看,是哪里出问题了?谢谢各位大神了。
以下是我的程序
#include "LCD12864R.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#define ONE_WIRE_BUS 2 //2号引脚输出温度
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(17, 16, 18, 8, 9, 10, 11, 4, 5, 6, 7);
unsigned char show1[]={0xCF,0xD6,0xD4,0xDA,0xB5,0xC4,0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};//现在的温度是:
void setup(void)
{
LCDA.Initialise(); // 屏幕初始化
delay(100);
sensors.begin(); //传感器启动
}
void loop(void)
{
LCDA.CLEAR();//清屏
delay(100);
float tem; //输出温度值
sensors.requestTemperatures(); // Send the command to get temperatures
tem = sensors.getTempCByIndex(0);
delay(1); //每隔100ms检测一次温度是否改变
LCDA.DisplayString(1,0,show1,AR_SIZE(show1)); //第二行第一格开始输出
delay(1);
lcd.print(tem);
while(1);
}
|