快捷搜索: 王者荣耀 脱发

Arduino uno 连接 LCD1602A显示18B20监测温度

##Arduino uno 连接 LCD1602A显示18B20测试温度

面包板接线图

代码

#include <LiquidCrystal.h> //引入依赖
#include <DS18B20.h>

DS18B20 ds(2); 
/* 初始化针脚 */
const int rs = 3;
const int en = 5;
const int d4 = 10;
const int d5 = 11; 
const int d6 = 12;
const int d7 = 13;
const int lcdlight = 9; //调节对比度
  
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
  
void setup() {
          
   
   pinMode(lcdlight,OUTPUT);
   analogWrite(lcdlight, 130);//用于调节对比度(0-255)
     
   lcd.begin(16, 2);//设置LCD要显示的列数、行数,即2行16列
     
}
  
void loop() {
          
   
   lcd.setCursor(0, 0); //设置光标定位到第0列,第1行(从0开始)
   lcd.print("Temp:"+String(ds.getTempC())+" C  ");//打印从重置后的秒数
   lcd.setCursor(0, 1); //设置光标定位到第0列,第2行(从0开始)
   lcd.print(millis() / 1000);
}

引入库文件

需要导入包,建议使用1.8以上版本软件,流程是点击菜单: 项目->加载库->管理库,搜索LiquidCrystal,然后安装即可。

问题处理

1602显示屏一开始只显示16个格子,因为LCD第三个引脚没有电位器,把3号引脚,也就是V0引脚插A0-A5的PWM输出引脚,然后用设一个函数用于电脑串口输出模拟值,以达到调节电压对比度的问题。

最终效果

经验分享 程序员 微信小程序 职场和发展