物联网AI MicroPython传感器学习 之 RTC时钟模块
学物联网,来万物简单IoT物联网!!
一、产品简介
DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。

DS1302 与单片机之间能简单地采用同步串行的方式进行通信,只需要三个数据线:
(1)RST 复位
(2)I/O 数据线
(3)SCLK串行时钟
引脚定义
- VCC:3.3V
- GND:地
- CLK:时钟输出
- DAT:数据输入输出
- RST:复位引脚
二、技术参数
- 工作电压:2V-5.5V
- 接口简单:GPIO三线接口
- 工作温度:-40°C~85°C
- 低功耗:工作电压2V,电流300nA
- 电源供应:支持主电源和备份电源
- 电路板尺寸:4.4cm*2.3cm
三、软件接口
DS1302(o_clk, o_rst, dio_num) - 创建RTC时钟对象
- 函数原型
ds1302Obj = DS1302(o_clk, o_rst, dio_num)
- 参数说明
| 参数 | 类型 | 必选参数? | 说明 |
|---|---|---|---|
| o_clk | Pin | 是 | 传入Pin对象 |
| o_rst | Pin | 是 | 传入Pin对象 |
| dio_num | Pin num | 是 | 传入Pin Num数 |
- 返回值
DS1302对象成功,返回DS1302对象;DS1302对象创建失败,抛出Exception
- 示例代码-无回调函数
from machine import Pin
import ds1302gpiodionum = 18
gpioclk = Pin(16 , Pin.OUT , Pin.PULL_DOWN)
gpiorst = Pin(17 , Pin.OUT , Pin.PULL_DOWN)
ds1302_obj = ds1302.DS1302(gpioclk,gpiorst,gpiodionum)
print('start init ds1302')
- 输出
start init ds1302
setDatetime() - 设置RTC时钟信息
- 函数功能:
设置RTC时钟信息
- 函数原型:
DS1302.setDatetime(data)
- 参数说明:
data日期格式分别为:年-月-日-时-分-秒-星期
- 返回值:
无
getDatetime() - 获取RTC时钟信息
- 函数功能:
获取RTC时钟信息
- 函数原型:
data = DS1302.getDatetime()
- 参数说明:
无
- 返回值:
成功返回data日期格式分别为:年-月-日-时-分-秒-星期
- 示例:
from machine import Pin
import ds1302gpiodionum = 18
gpioclk = Pin(16 , Pin.OUT , Pin.PULL_DOWN)
gpiorst = Pin(17 , Pin.OUT , Pin.PULL_DOWN)
ds1302_obj = ds1302.DS1302(gpioclk,gpiorst,gpiodionum)
print('start init ds1302')
ds1302_obj.getDatetime([2023, 6, 13 , 0, 0, 30, 1])
print(ds1302_obj.getDatetime())
- 输出
start init ds1302
[2023, 6, 13, 0, 0, 31, 1]
四、接口案例
- 案例代码
import utime # 延时函数在utime库中
from machine import Pin
import ds1302ds1302_obj = Nonedef ds1302_init():gpiodionum = 18gpioclk = Pin(16 , Pin.OUT , Pin.PULL_DOWN)gpiorst = Pin(17 , Pin.OUT , Pin.PULL_DOWN)ds1302_obj = ds1302.DS1302(gpioclk,gpiorst,gpiodionum)print('start init ds1302')if __name__ == '__main__':ds1302_init()ds1302_obj.setDatetime([2023, 6, 13 , 0, 0, 30, 1])while True:print(ds1302_obj.getDatetime())utime.sleep(1)
- 输出
start init ds1302
[2023, 6, 13, 0, 0, 31, 1]
[2023, 6, 13, 0, 0, 32, 1]
[2023, 6, 13, 0, 0, 33, 1]
[2023, 6, 13, 0, 0, 34, 1]
[2023, 6, 13, 0, 0, 35, 1]
[2023, 6, 13, 0, 0, 36, 1]
参考文献及购买链接
[1] RTC时钟模块购买链接
相关文章:
物联网AI MicroPython传感器学习 之 RTC时钟模块
学物联网,来万物简单IoT物联网!! 一、产品简介 DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数…...
Mac安装nginx(Homebrew)
查看需要安装 nginx 的信息 brew info nginxDocroot 默认为 /usr/local/var/www 在 /opt/homebrew/etc/nginx/nginx.conf 配置文件中默认端口被配置为8080,从而使 nginx 运行时不需要加 sudo nginx将在 /opt/homebrew//etc/nginx/servers/ 目录中加载所有文件 …...
租用服务器后需要注意什么呢
租用服务器后需要注意什么呢 1、从IDC服务商中接收到服务器时,需要对服务器的各项性能进行测试确认,并做好记录以便对服务器的性能做到心中有数。 2、在服务器租用交接时,要了解服务器的安全设置情况,对服务器安全技术方面不了解…...
pip 时报错 no such option: --bulid-dir 的解决办法
Pycharm 安装第三方库报错及解决方案——no such option: --build-dir Pycharm 安装第三方库报错及解决方案——no such option: --build-dir 最近在学习路径规划相关内容,在运行GitHub上下载例程时缺少“plotly”库,根据网上查到的安装步骤操作&#x…...
[Spring] SpringBoot2 简介(一)—— 基础配置
目录 一、SpringBoot 简介 1、Spring 的缺点 2、SpringBoot 功能 二、SpringBoot 入门案例 1、实现步骤 2、访问服务器 3、入门小结 4、Idea 快速构建 SpringBoot 工程 5、起步依赖无需版本号 6、主启动类的在项目中的位置(*重要*) 三、Sprin…...
【软考】计算机指令系统寻址的几种方式及其速度的比较
速度比较:立即>寄存器>直接> 间接 1. 立即寻址: 直接在指令中给出操作数 2. 寄存器寻址(Register Addressing): 寄存器寻址是指操作数直接存储在寄存器中。指令中的地址字段指定要使用的寄存器编号&#…...
golang笔记17--编译调试go源码
golang笔记17--编译调试go源码 前置条件编译源码在 fmt 包中加自定义函数说明 当前go语言越来越流行了,各大厂商都有加大go工程师的需求,作为go语言的学习者,我们除了要了解如何使用go语言外,也有必要了解一下如何编译、调试go源码…...
DailyPractice.2023.10.22
文章目录 1.[39. 组合总和]2.[22. 括号生成]3.[79. 单词搜索]4.[131. 分割回文串] 1.[39. 组合总和] 39. 组合总和 class Solution { public: vector<vector<int>> res; vector<int> path;void dfs(vector<int>& candidates,int target,int star…...
Go学习第四章——程序流程控制
Go学习第四章——程序流程控制 1 分支结构1.1 单分支1.2 双分支1.3 多分支1.4 switch分支 2 循环结构2.1 for循环2.2 while和dowhile的实现2.3 经典案例——打印金字塔2.4 经典案例——打印九九乘法表 3 跳转控制语句3.1 break3.2 continue3.3 goto3.4 return 流程控制的作用&a…...
自然语言处理---Transformer机制详解之Decoder详解
1 Decoder端的输入解析 1.1 Decoder端的架构 Transformer原始论文中的Decoder模块是由N6个相同的Decoder Block堆叠而成,其中每一个Block是由3个子模块构成,分别是多头self-attention模块,Encoder-Decoder attention模块,前馈全…...
【读书笔记】《软技能》
句子摘抄: 软技能-代码之外的生存指南 “自强不息 孜孜不倦” 强调了坚持不懈、不断奋斗和追求进步的精神。无论遇到多少困难和挫折,都要坚持努力,不断提高自己,不知疲倦地追求目标。这句谚语鼓励人们积极进取,不轻言…...
视频怎么压缩?视频过大这样压缩变小
在日常生活中,我们常常会遇到需要压缩视频的情况,视频压缩不仅可以减小文件大小,方便存储和传输,还可以在保证质量的同时,满足不同的使用需求。那么,如何有效地压缩视频呢? 方法一:嗨…...
蓝桥杯中级题目之组合(c++)
系列文章目录 数位递增数_睡觉觉觉得的博客-CSDN博客拉线开关。_睡觉觉觉得的博客-CSDN博客蓝桥杯中级题目之数字组合(c)_睡觉觉觉得的博客-CSDN博客 文章目录 系列文章目录前言一、个人名片二、描述三、输入输出以及代码示例1.输入2.输出3.代码示例 总…...
julia 笔记:复合类型 struct
1 struct关键字 1.1 声明 struct关键字与复合类型一起引入,后跟一个字段名称的块,可选择使用 :: 运算符注释类型 struct Foobarbaz::Intqux::Float64end 没有类型注释的字段默认为 Any 类型,所以可以包含任何类型的值。 1.2 创建新对象 …...
【JavaEE初阶】 线程池详解与实现
文章目录 🌴线程池的概念🎄标准库中的线程池🍀ThreadPoolExecutor 类🚩corePoolSize与maximumPoolSize🚩keepAliveTime🚩ThreadFactory🚩workQueue🚩RejectedExecutionHandler handl…...
web:[极客大挑战 2019]HardSQL
题目 打开页面显示为 查看源代码没有发现其他的提示信息,随便尝试一下 错误 题目名为hardsql,先来尝试有无sql注入存在 尝试输入单引号输入 显示页面存在注入 这里按照常规思路继续使用order by函数和union select函数进行查询,但是页面没有…...
Android apkanalyzer简介
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、用法3.1 使用 Android Studio3.1.1…...
PJSIP 2.7.2对G.729的支持,编译bcg729步骤
PJSIP 2.7.2对G.729的支持,编译bcg729步骤 下载BCG729源码升级cmake编译BCG729编译pjsip2.7.2 pjsua测试 下载BCG729源码 git clone git://git.linphone.org/bcg729.git升级cmake 注:编译BCG729要求cmake版本大于3.0,如果版本已经达到要求&…...
(二)Python类型总结
Python 是一种面向对象的语言。这意味着在 Python 中,一切都是对象,包括变量、函数和模块。Python 支持类和对象的概念,通过定义类来创建对象,并使用对象的方法和属性来操作数据。 Python 与 Java 和 C 在数据类型方面有一些相似…...
pojo之vo_dto_po的一些理解
一次扫盲VO、DTO、DO和PO区别、用法、概念~-腾讯云开发者社区-腾讯云 (tencent.com) Java学习笔记——实体类(ENTITY,VO,DTO,BO)_dto继承entity_路言汐的博客-CSDN博客 说清楚PO、DTO、VO、BO与使用场景_业务逻辑层p…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...

