当前位置: 首页 > news >正文

【ESP8266+TM1650时钟数码管+DS3231模块】制作网络时钟

【ESP8266+TM1650时钟数码管+DS3231模块】制作网络时钟

    • 所需元器件
    • 接线方式
    • 代码

所需元器件

  • ESP8266 NodeMCU——开发板
  • TM1650时钟数码管——显示时钟
  • DS3231模块——网络对时

接线方式

  • TM1650
    SCL—>D1
    SDA—>D2
  • DS3231
    SCL—>D1
    SDA—>D2

代码

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <Wire.h>
#include <TM1650.h>
#include <SPI.h>  // not used here, but needed to prevent a RTClib compile error
#include <RTClib.h>
#include <UnixTime.h>const char *ssid = "***";
const char *password = "***";DS3231 RTC;
TM1650 d;
UnixTime stamp(8);  // 定义东八区时间WiFiUDP ntpUDP;
// NTPClient timeClient(ntpUDP, "cn.ntp.org.cn", 28800);
NTPClient timeClient(ntpUDP, "cn.ntp.org.cn");int h, m, s = 0;
int ii = 0;String intToStr(int x) {if (x < 10) {return "0" + String(x);}return String(x);
}void setup() {Serial.begin(74880);// Start the I2C interfaceWire.begin();d.init();d.displayOn();d.setBrightnessGradually(5);RTC.begin();WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {  // 连接wifiii++;Serial.print(".");if (ii % 2 == 0) {d.setDot(1, true);} else {d.setDot(1, false);}delay(500);}timeClient.begin();d.displayString("8888");
}void loop() {// 0点更新时间if (h + m + s == 0) {timeClient.update();Serial.println("开始同步NTP时间");stamp.getDateTime(timeClient.getEpochTime());RTC.adjust(DateTime(stamp.year, stamp.month, stamp.day, stamp.hour, timeClient.getMinutes(), timeClient.getSeconds()));Serial.println("同步NTP时间完成");}// 以下获取RTC时间DateTime now = RTC.now();h = now.hour();m = now.minute();s = now.second();// 以下格式化HH:MM并显示String hhmm = intToStr(h) + intToStr(m);char charBuf[10];hhmm.toCharArray(charBuf, 10);d.displayString(charBuf);// 以下显示秒的跳动d.setDot(1, true);delay(500);d.setDot(1, false);delay(500);
}

时钟效果

http://www.lryc.cn/news/175093.html

相关文章:

  • 手动安装Linux服务器JDK
  • 9月24日,每日信息差
  • 【Linux】详细介绍Linux重入不可重入带例子
  • 学术团体的机器人相关分会和机器人相关大赛的说明
  • C# 并发编程
  • 关于ClickHouse的表引擎和SQL操作
  • rust字符串
  • 解析-BeautifulSoup
  • C++:数组
  • 结合Mockjs与Bus事件总线搭建首页导航和左侧菜单
  • 模拟桌面自动整理, 先顶左,再顶上。
  • 新增MariaDB数据库管理、支持多版本MySQL数据库共存,1Panel开源面板v1.6.0发布
  • 【dbeaver】win环境的kerberos认证和Clouders集群中Kerberos认证使用Dbeaver连接Hive和Phoenix
  • MongoDB索引
  • ChatGPT的问世给哪些行业带来了冲击?
  • Elasticsearch:与多个 PDF 聊天 | LangChain Python 应用教程(免费 LLMs 和嵌入)
  • docker系列(7) - Dockerfile
  • Spring面试题8:面试官:说一说Spring的BeanFactory
  • Win10专业版系统一键重装怎么操作?
  • 十大服装店收银系统有哪些 好用的服装收银软件推荐
  • 算法通过村第八关-树(深度优先)白银笔记|深度和高度问题
  • Redis安装和使用
  • UML基础与应用之面向对象
  • 将 Ordinals 与比特币智能合约集成:第 2 部分
  • PCL 法线空间采样(C++详细过程版)
  • 论文阅读:AugGAN: Cross Domain Adaptation with GAN-based Data Augmentation
  • CNC 3D浮雕 Aspire 11.55 Crack
  • 【Clickhouse2022.02 查询优化】
  • PMP证书在国内已经泛滥了,还有含金量吗?
  • SolidJs节点级响应性