Arduino基础入门篇32—LCD1602驱动库的使用

1602显示

本篇介绍液晶驱动库「LiquidCrystal」,通过库来驱动LCD1602刷新显示秒数。

1. 安装库

「LiquidCrystal」是Arduino的液晶驱动库,使用它能很方便的驱动常用液晶显示模块。其详细介绍请参考官网介绍

一般下载的Arduino IDE会自带此库,也可以在管理库中查找添加。在IDE中点击「项目」—「加载库」—「管理库」,查找「LiquidCrystal」,选择最新版本进行安装。目前最新版本为1.0.7。

安装库

2. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • LCD1602液晶屏
  • 16Pin排针
  • 10K电位器

3. 实验步骤

1. 根据原理图搭建电路图。

LCD1602的第1、5、16脚接开发板GND;LCD1602第2、15脚接开发板5V;LCD1602的第4、6、11、12、13、14分别连接开发板数字引脚7、6、5、4、3、2;电位器两端引脚分别连接5V和GND,中间引脚连接LCD1602第3引脚。

实验原理图如下图所示:
电路连接图

实物连接图如下图所示:

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

/*
 * LCD1602
 * 1602驱动库的使用
 */
 
#include <LiquidCrystal.h>

const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  lcd.begin(16, 2);
  lcd.clear();
}

void loop() {
  lcd.setCursor(2, 0);
  lcd.print("Hello World!");
  
  lcd.setCursor(0, 1);
  lcd.print("Second: ");
  lcd.print(millis() / 1000);
}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

程序下载

4. 实验现象

LCD1602动态刷新秒数。

实验现象


Arduino基础入门篇系列就写到这里了,32篇基础教程希望能给Arduino初学者提供帮助,感谢读者的支持与鼓励,若发现其中有错误还望指正,希望兴趣引导着你通过Arduino实现每一个有创意的idea。

更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注:
扫码加入微信公众号:TonyCode

连接步骤如下: 1. 将 DS18B20 温度传感器的 VCC 引脚连接到 Arduino 板的 5V 引脚上,将 GND 引脚连接到 Arduino 板的 GND 引脚上,将 DATA 引脚连接到 Arduino 板的数字引脚上(比如 D2 引脚)。 2. 将 LCD1602 液晶显示屏的 VSS 引脚连接到 Arduino 板的 GND 引脚上,将 VCC 引脚连接到 Arduino 板的 5V 引脚上,将 V0 引脚连接到一个可变电阻的中间引脚上,将 RS 引脚连接到 Arduino 板的数字引脚上(比如 D3 引脚),将 RW 引脚连接到 Arduino 板的 GND 引脚上,将 E 引脚连接到 Arduino 板的数字引脚上(比如 D4 引脚),将 D4-D7 引脚分别连接到 Arduino 板的数字引脚上(比如 D5-D8 引脚)。 3. 在 Arduino IDE 中安装并打开 OneWire 和 LiquidCrystal 。 4. 编写代码,通过 OneWire 读取 DS18B20 温度传感器的温度值,再通过 LiquidCrystal 将温度值显示在 LCD1602 液晶显示屏上。 下面是一个简单的示例代码: ``` #include <OneWire.h> #include <LiquidCrystal.h> #define ONE_WIRE_BUS 2 // DS18B20 DATA 引脚连接到 D2 引脚上 OneWire oneWire(ONE_WIRE_BUS); LiquidCrystal lcd(3, 4, 5, 6, 7, 8); // RS、E、D4-D7 引脚连接到 D3-D8 引脚上 void setup() { lcd.begin(16, 2); // 初始化 LCD1602 液晶显示屏,设置行数和列数 lcd.print("Temperature:"); // 在第一行第一列显示“Temperature:”文本 } void loop() { float temperature = getTemperature(); // 读取 DS18B20 温度传感器的温度值 lcd.setCursor(0, 1); // 将光标移到第二行第一列 lcd.print(temperature); // 在 LCD1602 液晶显示屏上显示温度值 lcd.print("C"); // 在温度值后面显示“C”符号 delay(1000); // 延迟 1 秒 } float getTemperature() { byte data[2]; float temperature = 0; oneWire.reset(); // 发送复位信号 oneWire.write(0xCC); // 跳过 ROM,直接发命令 oneWire.write(0x44); // 启动温度转换 delay(800); // 等待转换完成 oneWire.reset(); oneWire.write(0xCC); oneWire.write(0xBE); // 读取温度值 for (int i = 0; i < 2; i++) { data[i] = oneWire.read(); } temperature = ((data[1] << 8) | data[0]) * 0.0625; // 计算温度值 return temperature; } ```
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值