跳转到主要内容

CircuitPython库,用于DS1307实时时钟。

项目描述

简介

Documentation Status Discord Build Status Code Style: Black

这是一个优秀的电池备份实时时钟(RTC),可以让您的微控制器项目即使在重新编程或断电的情况下也能保持时间跟踪。非常适合数据记录、时钟构建、时间戳、计时器和闹钟等。DS1307是最受欢迎的RTC,但需要5V电源才能工作。

DS1307简单且价格低廉,但不是高精度设备。它每天可能会丢失或获得多达两秒钟的时间。如果您需要一个高精度、温度补偿的替代品,请查看DS3231高精度RTC。如果您不需要DS1307,或需要一个3.3V电源/逻辑的RTC,请查看我们经济实惠的PCF8523 RTC扩展板

DS1307

依赖项

此驱动程序依赖于

请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载Adafruit库和驱动程序捆绑包轻松实现。

从PyPI安装

在支持GNU/Linux系统(如Raspberry Pi)上,您可以从PyPI本地安装驱动程序。安装当前用户

pip3 install adafruit-circuitpython-ds1307

要系统范围内安装(在某些情况下可能需要)

sudo pip3 install adafruit-circuitpython-ds1307

在当前项目中安装到虚拟环境中

mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-ds1307

使用说明

当然,您必须导入库才能使用它

import board
import adafruit_ds1307
import time

所有Adafruit RTC库都接受一个实例化和活动的I2C对象(来自board库)作为其构造函数的参数。创建I2C对象的方式取决于您所使用的板。对于带有标记SCL和SDA引脚的板,您可以

import board

现在,初始化I2C总线

i2c = board.I2C()

一旦创建了I2C接口对象,您就可以使用它来实例化RTC对象

rtc = adafruit_ds1307.DS1307(i2c)

要设置时间,您需要将datetime设置为一个time.struct_time对象

rtc.datetime = time.struct_time((2017,1,9,15,6,0,0,9,-1))

设置RTC后,您可以通过读取datetime属性来检索时间,并访问struct_time的标准属性,如tm_yeartm_hourtm_min

t = rtc.datetime
print(t)
print(t.tm_hour, t.tm_min)

文档

此库的API文档可在Read the Docs上找到。

有关构建库文档的信息,请参阅本指南

贡献

欢迎贡献!在为此项目做出贡献之前,请阅读我们的行为准则,以帮助保持项目的开放性。

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面