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输出引脚,然后用设一个函数用于电脑串口输出模拟值,以达到调节电压对比度的问题。