跳转到主要内容

CircuitPython库,用于PCF8523实时时钟。

项目描述

Adafruit的PCF8523实时时钟(RTC)库简介

Documentation Status Discord Build Status Code Style: Black

这是一个出色的电池备份实时时钟(RTC),可以让您的微控制器项目即使在重新编程或断电的情况下也能跟踪时间。非常适合数据记录、时钟构建、时间戳、定时器和闹钟等。配备PCF8523 RTC - 它可以从3.3V或5V电源和逻辑运行!

PCF8523简单且经济实惠,但不是高精度设备。它可能每天损失或获得多达两秒。对于高精度、温度补偿的替代方案,请查看DS3231高精度RTC。如果您需要DS1307以兼容性原因,请查看我们的DS1307 RTC分线板

PCF8523 Breakout Board

依赖项

此驱动程序依赖于RegisterBus Device库。请确保它们也存在于CircuitPython文件系统中。可以通过下载库和驱动程序包来实现这一点。

从PyPI安装

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

pip3 install adafruit-circuitpython-pcf8523

全局安装(在某些情况下可能需要)

sudo pip3 install adafruit-circuitpython-pcf8523

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

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

使用说明

基础

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

import time
from adafruit_pcf8523.pcf8523 import PCF8523

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

import board

现在,初始化I2C总线

i2c = board.I2C()

创建I2C接口对象后,您可以使用它来实例化RTC对象

rtc = PCF8523(i2c)

日期和时间

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

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

设置RTC后,通过读取datetime属性获取时间,并访问struct_time的标准属性,如tm_year、tm_hour和tm_min。

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

闹钟

要设置时间,您需要将alarm设置为一个包含time.struct_time对象和表示频率的字符串的元组,例如“hourly”

rtc.alarm = (time.struct_time((2017,1,9,15,6,0,0,9,-1)), "daily")

设置RTC后,通过读取alarm_status属性检索闹钟状态。一旦为True,将其设置回False以重置。

if rtc.alarm_status:
    print("wake up!")
    rtc.alarm_status = False

文档

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

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

贡献

欢迎贡献!在贡献之前,请阅读我们的行为准则,以帮助本项目保持友好。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

adafruit-circuitpython-pcf8523-2.0.1.tar.gz (272.9 KB 查看哈希)

上传时间

构建分布

支持者