大家好,又见面了,我是你们的朋友全栈君。
##Arduino uno 连接 LCD1602A显示18B20测试温度
面包板接线图
代码
代码语言:javascript复制#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输出引脚,然后用设一个函数用于电脑串口输出模拟值,以达到调节电压对比度的问题。
最终效果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。