lcd2004 时钟
Arduino LCD2004 实时时钟实现指南
本指南详细讲解如何使用Arduino、LCD2004显示器和DS3231实时时钟模块构建一个桌面电子钟。以下是完整解决方案:
硬件准备
- Arduino UNO 开发板
- LCD2004显示屏 (20列×4行,带I2C接口)
- DS3231高精度实时时钟模块
- 连接线若干
- USB数据线(用于供电和编程)
电路连接
Arduino UNO LCD2004 (I2C) DS3231 (I2C)
5V ----------- VCC --------------- VCC
GND ----------- GND --------------- GND
A4 ----------- SDA --------------- SDA
A5 ----------- SCL --------------- SCL
所需库
- LiquidCrystal_I2C:控制LCD2004
- RTClib:操作DS3231时钟模块
完整代码
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
// LCD2004初始化 (I2C地址 0x27, 20列4行)
LiquidCrystal_I2C lcd(0x27, 20, 4);
// DS3231实例
RTC_DS3231 rtc;
// 星期名称数组
const char* daysOfWeek[] = {"日", "一", "二", "三", "四", "五", "六"};
void setup() {
Serial.begin(9600);
// 初始化LCD
lcd.init();
lcd.backlight();
// 显示启动信息
lcd.setCursor(0, 0);
lcd.print(" Arduino LCD时钟");
lcd.setCursor(0, 1);
lcd.print(" 初始化中...");
// 初始化RTC
if (!rtc.begin()) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("无法找到RTC!");
while (1);
}
// 如果RTC丢失供电,设置初始时间
if (rtc.lostPower()) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("设置初始时间...");
// 设置为编译时的时间(上传时间)
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
delay(2000); // 显示信息2秒
}
void loop() {
// 获取当前时间
DateTime now = rtc.now();
// 清屏
lcd.clear();
// 显示日期 (第一行)
lcd.setCursor(0, 0);
lcd.print("日期: ");
lcd.print(now.year());
lcd.print('/');
if (now.month() < 10) lcd.print('0');
lcd.print(now.month());
lcd.print('/');
if (now.day() < 10) lcd.print('0');
lcd.print(now.day());
// 显示星期 (第二行)
lcd.setCursor(0, 1);
lcd.print("星期: ");
lcd.print(daysOfWeek[now.dayOfTheWeek()]);
// 显示时间 (第三行)
lcd.setCursor(0, 2);
lcd.print("时间: ");
if (now.hour() < 10) lcd.print('0');
lcd.print(now.hour());
lcd.print(':');
if (now.minute() < 10) lcd.print('0');
lcd.print(now.minute());
lcd.print(':');
if (now.second() < 10) lcd.print('0');
lcd.print(now.second());
// 显示温度 (第四行)
float temp = rtc.getTemperature();
lcd.setCursor(0, 3);
lcd.print("温度: ");
lcd.print(temp);
lcd.print(" ℃");
// 每秒钟更新一次
delay(1000);
}
使用说明
- 按照电路图正确连接所有硬件
- 在Arduino IDE中安装所需库
- LiquidCrystal_I2C: Sketch > Include Library > Manage Libraries > 搜索并安装
- RTClib: Sketch > Include Library > Manage Libraries > 搜索并安装
- 将代码上传到Arduino
- 如需设置精确时间:
- 修改代码
rtc.adjust()参数设置初始时间 - 或者上传后打开串口监视器设置时间(9600波特率)
- 修改代码
功能特点
- 显示完整日期(年/月/日)
- 显示中文星期几
- 实时时间显示(时:分:秒)
- 显示环境温度(来自DS3231内置传感器)
- 自动初始化为编译时间(首次使用)
- 掉电时间保持(DS3231内置电池)
常见问题解决
-
LCD不显示:
- 检查I2C地址(0x27或0x3F)
- 检查背光引脚是否连接
- 旋转背面的电位器调整对比度
-
时间不准:
- DS3231精度为每月±2分钟
- 初始化完成后注释掉
rtc.adjust()行
-
无法检测RTC:
- 检查I2C线缆连接
- 确保I2C线缆长度不超过50cm
- 尝试添加4.7KΩ上拉电阻
这个项目适合作为学习Arduino时钟功能的基础案例,您可以根据需要添加闹钟、日期农历转换或网络校时等高级功能。
如果一个LCD时钟频率是20MHZ,主控提供给LCD的时钟频率提高到40MHZ,那么LCD还能正常显示吗?
如果一个LCD时钟频率是20MHZ,当我主控提供给LCD的时钟频率提高到
ADAR2004-EVALZ
1970-01-01 08:00:00 至 1970-01-01 08:00:00
NUC977 lcd时钟配置不生效是什么原因?
我查看nuc970的系列手册,想要将lcd时钟配置为33.3M,我的配置如下: writel((readl(REG_CLKDIVCTL1) & ~0xffff) | 0x818
DS1302时钟LCD1602显示可以按键设置时钟的程序免费下载
本文档的主要内容详细介绍的是DS1302时钟LCD1602显示可以按键设置时钟的程序免费下载。
资料下载
佚名
2020-06-15 17:21:00
使用DS1302时钟芯片和LCD1602实现数字时钟的源代码免费下载
本文档的主要内容详细介绍的是使用DS1302时钟芯片和LCD1602实现数字时钟的源代码免费下载。
资料下载
佚名
2019-10-31 17:20:53
GDM2004D
GDM2004D - SPECIFICATIONS OF LCD MODULE - List of Unclassifed Manufacturers
如何利用树莓派+STM32实现人脸识别门禁系统的设计
这个项目的最后一篇博客也是拖了很久了,从开始复习那会儿拖到了期末考完回了家,今天就赶紧把它了结了,让这个项目正式收官。 STM32部分可以分为按键控制、LCD2004显示、舵机控制、数据的存储
lcd2004一线屏仿真
)图5四,编辑main.c 代码如Proteus8.9 VSM Studio GCC编译器仿真STM32F407ZGT6系列015_lcd2004一线屏(如下图6所示)图6五,Main.c 代码:/* Main.c file generated by New Project wiz
DC2004A DC2004A评估板
电子发烧友网为你提供ADI(ti)DC2004A相关产品参数、数据手册,更有DC2004A的引脚图、接线图、封装手册、中文资料、英文资料,DC2004
dfrobotIIC/TWI LCD2004液晶模块介绍
Arduino控制器的控制端口数量实在是有限,连接几个传感器,通讯设备什么的,你就会发现端口不够用了,还想扩展一个液晶显示器,怎么办? 直接采用我们I2C LCD系列显示器吧!搭配全面的教程和代码库,你可以快速上手这个强大的LCD
2019-12-13 14:50:37
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机