极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14448|回复: 2

arduino+ds18b20+lcd12864

[复制链接]
发表于 2018-3-26 09:43:30 | 显示全部楼层 |阅读模式
我想用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);
}
回复

使用道具 举报

 楼主| 发表于 2018-3-26 11:21:16 | 显示全部楼层
已经解决这个问题了

在这里问一下另一个问题:可以用这个在lcd12864显示屏上绘制温度变化曲线图吗?如果可以,应该要怎么做?希望大神提点一下,谢谢了
回复 支持 反对

使用道具 举报

发表于 2018-3-26 18:23:54 | 显示全部楼层
上万能的u8g    
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 22:12 , Processed in 0.042138 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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