电子技术电子技术
 
ARDUINO现学现卖之18B20温度传感器+LCD5110显示
wjwj1234xx 2013-9-20 00:33:22
本帖最后由 wjwj1234xx 于 2013-9-20 00:34 编辑

本人纯纯纯小白一枚,没学过C语言,学学ARDUINO也就一两周.连抄带蒙,做了个这么个小玩意.
203068
18B20传感器,TO92小封装.
203072


ARDUINO板

203071
显示效果



附上代码


//      SCK  - Pin 8
//      MOSI - Pin 9
//      DC   - Pin 10
//      RST  - Pin 11
//      CS   - Pin 12
//
#include <OneWire.h>                   \\单总线库
#include <DallasTemperature.h>      \\18B20库
#include <LCD5110_Basic.h>          \\LCD5110库
LCD5110 myGLCD(8,9,10,11,12);      \\定义LCD引脚
#define ONE_WIRE_BUS 2            \\定义18B20数据引脚在arduino的2号脚
OneWire oneWire(ONE_WIRE_BUS);      
DallasTemperature sensors(&oneWire);    
extern uint8_t SmallFont[];  \\设定显示字体
void setup()
{
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
  sensors.begin();    \\以上初始化18B20和LCD5110
}

void loop()
{
  myGLCD.clrScr();    \\清屏
  sensors.requestTemperatures();    \\向18B20读取温度
  int x=sensors.getTempCByIndex(0);   \\赋值给x,实际上应该是float,或者double才对,我使用INT,直接忽视了小数点.
  String t=String(x);                            \\问题就在这里,int转换为字符串,但是float或者double我都不会转字符串,也就无法在LCD显示出来,求高人指点
  myGLCD.print("THE Temp is:",LEFT,0);   \\第一行字输出
  myGLCD.print(t,CENTER,20);       \\第二行,温度输出
  delay (3000);              \\延时三秒.
}


+200  科创币   虎哥   2013-09-20   楼主不会是袁玉虎吧。。
2013-9-20 01:22:33
1楼
Nokia!~~~~试试看这个屏幕能不能当防爆盾~~~~~~
2楼
用sprintf试试看

想参与大家的讨论?现在就 登录 或者 注册

百炼成钢
专栏收藏夹发私信
学术分 0科创币 4235总主题 19 帖总回复 396 楼拥有证书:会员 笔友
注册于 2010-03-20 23:02最后登录 2018-03-17 22:15

个人简介

暂未填写

nkc production server  https://github.com/kccd/nkc.git

科创研究院 (c)2001-2018

蜀ICP备11004945号-2 川公网安备51010802000058号