查看: 477|回复: 2

[未解决] 使用lcd屏幕和ds18b20测温度时程序编译错误

[复制链接]
  • TA的每日心情
    郁闷
    2020-11-27 22:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-11-27 22:13 | 显示全部楼层 |阅读模式
    希望有大佬帮助一下刚入门的小萌新,真心求教!
    [Q0YCN6Z{V0K8(TC`G@X6A1.jpg
    O7KUXVGL9DU2IS8JKNJH$7J.png
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2020-11-28 20:23 | 显示全部楼层
    打开详细错误信息
  • TA的每日心情
    奋斗
    2021-1-26 19:45
  • 签到天数: 403 天

    [LV.9]以坛为家II

    发表于 2020-11-29 17:31 | 显示全部楼层

    试解使用lcd屏幕和ds18b20测温度时程序编译错误

    本帖最后由 topdog 于 2020-11-29 21:27 编辑

    一,安装库的注意事项:
    (1)LiquidCrystal 库是Arduino IDE自带的,一般在安装目录下路径 C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\,重复的需要删除。最新版本是1.0.7。(2)DallasTemperature库需要onewire库一起使用,可以直接用Arduino IDE在选择项中选择共同下载。


    二、硬件接线和软体编程的注意事项:
    A:硬件接线
    LCD RS引脚到数字引脚12
    LCD EN引脚到数字引脚11
    LCD D4引脚到数字引脚9
    LCD D5引脚到数字引脚8
    LCD D6引脚到数字引脚7
    LCD D7引脚到数字引脚6
    LCD R/W引脚对GND
    18B20信号引脚和5V引脚之间的电阻为4.7K

    B:软体编程
    (1)通过关联任何需要的LCD接口引脚来初始化库。
       const int rs = 12, en = 11, d4 = 9, d5 = 8, d6 = 7, d7 = 6;
    (2)与所连接的arduino pin码连接。
      LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
    (3)float自带小数不需要再计算了,画蛇添足。
    #include <OneWire.h>
    
    #include <LiquidCrystal.h>
    #include <DallasTemperature.h>
    
    #define ONE_WIRE_BUS 2
    
    OneWire oneWire(ONE_WIRE_BUS);
    
    DallasTemperature sensors(&oneWire);
    
    float tempC = 0;
    float tempF = 0;
    
    const int rs = 12, en = 11, d4 = 9, d5 = 8, d6 = 7, d7 = 6;
    LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
    //LiquidCrystal lcd(12,11,9,8,7,6);
    
    void setup() {    
      Serial.begin(9600);
      sensors.begin();
      lcd.begin(16,2);
      lcd.clear();  
      
    }
    
    void loop() {
      sensors.requestTemperatures();
      tempC = sensors.getTempCByIndex(0);
      tempF = sensors.toFahrenheit(tempC);
      delay(1000);
      
      Serial.println(tempC);
      lcd.setCursor(0,0);
      lcd.print("C: ");
      lcd.print(tempC);
      lcd.print(" degrees");
      lcd.setCursor(0,1);
      lcd.print("F: ");
      lcd.print(tempF);
      lcd.print(" degrees");
    }







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

    本版积分规则

    热门推荐

    (开源)微信小程序控制esp8266,可远程
    (开源)微信小程序控制es
    流程说明:首先要使esp8266能够联网,能联网就可以控制,使用示例程序,修改WIFI、
    arduino封装了一个无线串口模块LC12S的操作库
    arduino封装了一个无线串
    前一段时间接触到一个比较好用的2.4G无线串口通信模块LC12S, 在淘宝上仅四五块钱,收
    【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
    【花雕动手做】快餐盒盖,
    吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成
    全新AVR芯片ATMEGA328P烧录程序的教程
    全新AVR芯片ATMEGA328P烧
    潜水多年,觉得有义务贡献一些内容,此贴作为最近学习Arduino的一个总结。 玩Arduino
    【Arduino】168种传感器模块系列实验(90)--- ULN2003步进电机
    【Arduino】168种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表