用于DS3231精密实时时钟的CircuitPython库。
adafruit-circuitpython-ds3231的Python项目详细描述
简介图片::https://readthedocs.org/projects/adafruit-micropython-ds3231/badge/?version=latest
:目标:https://circuitpython.readthedocs.io/projects/ds3231/en/latest/
:alt:文档状态
…图片::https://img.shields.io/discord/327254708534116352.svg
:目标:https://discord.gg/nbqh6qu
:alt:discord
图片::https://travis-ci.com/adafruit/adafruit_circuitpython_ds3231.svg?branch=master
:target:https://travis c i.com/adafruit/adafruit_circuit python_ds3231
:alt:build status
DS3231的数据表解释了这一部分是一个
"极其精确的集成了RTC/TCXO/Crystal的I_C"。而且,
嘿,它完全按照罐头上说的做!这个实时时钟(rtc)是一个小的、低功耗的封装中可以获得的最精确的时钟。
大多数rtc使用一个外部的32kHz定时晶体,它用来在低电流消耗下保持时间。这一切都很好,
很好,但是那些晶体有轻微的漂移,特别是当温度变化时(温度变化的振荡频率非常小,但它确实增加了!)这个rtc在一个结实的包里,因为晶体在芯片里!在集成晶体旁边有一个温度传感器。该传感器通过添加或删除时钟信号来补偿频率变化,从而使计时保持在
预定的时间内。
这是您可以获得的最好的RTC,现在我们有了一个
紧凑的、易于突破的突破。在背面插入一个硬币电池,即使失去了主电源,也可以获得数年的精确计时。非常适合
数据记录和时钟,或任何需要
真正知道时间的地方。
图片:../docs/_static/3013-01.jpg
:alt:ds3231产品图片
依赖项
====
此驱动程序依赖于:
*`adafruit circuitpython<;https://github.com/adafruit/circuitpython>;``u
*`总线设备<;https://github.com/adafruit/adafruit circuitpython_busdevice>;`
*`注册<;https://github.com/adafruit/adafruit\u circuitpython\u register>;`
请确保circuitpython文件系统上的所有依赖项都可用。
这可以通过下载adafruit库和驱动程序包<;https://github.com轻松实现/adafruit/adafruit_circuit python_bundle>;` `.
使用说明
===
代码::python
import busio
import adafruit\u ds3231
import time
所有adafruit rtc库都将一个实例化的活动i2c对象作为其构造函数的参数。创建i2c对象的方法取决于您使用的板。对于标有
SCL和SDA引脚的电路板,您可以:
…代码::python
from board import*
代码::python
创建i2c接口对象后,可以使用它来实例化
rtc对象:
代码::python
rtc=adafruit\u ds3231.ds3231(myi2c)
日期和时间
----
>要设置时间,需要将"date time"设置为"time.struct\u time"对象:
。代码::python
rtc.datetime=time.struct时间((2017,1,9,15,6,0,0,9,-1))
rtc设置后,通过读取``datetime`
属性来检索时间,并访问结构时间的标准属性,如``tmu year``、
``tmu hour`和``tmu min`。
代码::python
t=rtc.datetime
print(t)
print(t.tm_hour,t.tm_min)
alarm
----
要设置时间,需要将"alarm1"或"alarm2"设置为一个元组,该元组具有一个表示频率的对象和字符串,例如"hourly":
代码::python
rtc.alarm1=(time.struct廑time((2017,1,9,15,6,0,0,9,-1)),"daily")
一旦为真,将其设置回false
以重置。
。代码::python
如果rtc.alarm1_状态:
则打印("唤醒!")
rtc.alarm1_status=false
欢迎投稿!请阅读我们的"行为准则
<;https://github.com/adafruit/adafruit_circuit python_ds3231/blob/master/code_conduct.md>;`\u
在帮助该项目保持受欢迎之前。
安装
`circuitpython build tools<;https://github.com/adafruit/circuitpython build tools>;``包。
…代码块::shell
python3-m venv.env
source.env/bin/activate
pip install circuitpython编译工具
代码块::shell
source.env/bin/activate
,然后运行生成:
。代码块::shell
circuitpython构建包——文件名前缀adafruit-circuitpython-ds3231——库位置。
----
安装依赖项(请随意重用上面的虚拟环境):
…代码块::shell
source.env/bin/activate
pip安装sphinx sphinx rtd主题
代码块:shell
cd docs
sphinx build-e-w-b html。_ build/html
这将把文档输出到"docs/u build/html"。在浏览器中打开index.html以查看它们。它还将(由于-w)错误的任何警告,像特拉维斯将。这是
本地验证它是否通过的好方法。
:目标:https://circuitpython.readthedocs.io/projects/ds3231/en/latest/
:alt:文档状态
…图片::https://img.shields.io/discord/327254708534116352.svg
:目标:https://discord.gg/nbqh6qu
:alt:discord
图片::https://travis-ci.com/adafruit/adafruit_circuitpython_ds3231.svg?branch=master
:target:https://travis c i.com/adafruit/adafruit_circuit python_ds3231
:alt:build status
DS3231的数据表解释了这一部分是一个
"极其精确的集成了RTC/TCXO/Crystal的I_C"。而且,
嘿,它完全按照罐头上说的做!这个实时时钟(rtc)是一个小的、低功耗的封装中可以获得的最精确的时钟。
大多数rtc使用一个外部的32kHz定时晶体,它用来在低电流消耗下保持时间。这一切都很好,
很好,但是那些晶体有轻微的漂移,特别是当温度变化时(温度变化的振荡频率非常小,但它确实增加了!)这个rtc在一个结实的包里,因为晶体在芯片里!在集成晶体旁边有一个温度传感器。该传感器通过添加或删除时钟信号来补偿频率变化,从而使计时保持在
预定的时间内。
这是您可以获得的最好的RTC,现在我们有了一个
紧凑的、易于突破的突破。在背面插入一个硬币电池,即使失去了主电源,也可以获得数年的精确计时。非常适合
数据记录和时钟,或任何需要
真正知道时间的地方。
图片:../docs/_static/3013-01.jpg
:alt:ds3231产品图片
依赖项
====
此驱动程序依赖于:
*`adafruit circuitpython<;https://github.com/adafruit/circuitpython>;``u
*`总线设备<;https://github.com/adafruit/adafruit circuitpython_busdevice>;`
*`注册<;https://github.com/adafruit/adafruit\u circuitpython\u register>;`
请确保circuitpython文件系统上的所有依赖项都可用。
这可以通过下载adafruit库和驱动程序包<;https://github.com轻松实现/adafruit/adafruit_circuit python_bundle>;` `.
使用说明
===
代码::python
import busio
import adafruit\u ds3231
import time
所有adafruit rtc库都将一个实例化的活动i2c对象作为其构造函数的参数。创建i2c对象的方法取决于您使用的板。对于标有
SCL和SDA引脚的电路板,您可以:
…代码::python
from board import*
代码::python
创建i2c接口对象后,可以使用它来实例化
rtc对象:
代码::python
rtc=adafruit\u ds3231.ds3231(myi2c)
日期和时间
----
>要设置时间,需要将"date time"设置为"time.struct\u time"对象:
。代码::python
rtc.datetime=time.struct时间((2017,1,9,15,6,0,0,9,-1))
rtc设置后,通过读取``datetime`
属性来检索时间,并访问结构时间的标准属性,如``tmu year``、
``tmu hour`和``tmu min`。
代码::python
t=rtc.datetime
print(t)
print(t.tm_hour,t.tm_min)
alarm
----
要设置时间,需要将"alarm1"或"alarm2"设置为一个元组,该元组具有一个表示频率的对象和字符串,例如"hourly":
代码::python
rtc.alarm1=(time.struct廑time((2017,1,9,15,6,0,0,9,-1)),"daily")
一旦为真,将其设置回false
以重置。
。代码::python
如果rtc.alarm1_状态:
则打印("唤醒!")
rtc.alarm1_status=false
欢迎投稿!请阅读我们的"行为准则
<;https://github.com/adafruit/adafruit_circuit python_ds3231/blob/master/code_conduct.md>;`\u
在帮助该项目保持受欢迎之前。
安装
`circuitpython build tools<;https://github.com/adafruit/circuitpython build tools>;``包。
…代码块::shell
python3-m venv.env
source.env/bin/activate
pip install circuitpython编译工具
代码块::shell
source.env/bin/activate
,然后运行生成:
。代码块::shell
circuitpython构建包——文件名前缀adafruit-circuitpython-ds3231——库位置。
…代码块::shell
pip安装sphinx sphinx rtd主题
代码块:shell
cd docs
sphinx build-e-w-b html。_ build/html
这将把文档输出到"docs/u build/html"。在浏览器中打开index.html以查看它们。它还将(由于-w)错误的任何警告,像特拉维斯将。这是
本地验证它是否通过的好方法。