Simple test
Ensure your device works with this simple test.
examples/ds3231_simpletest.py
1# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
2# SPDX-License-Identifier: MIT
3
4# Simple demo of reading and writing the time for the DS3231 real-time clock.
5# Change the if False to if True below to set the time, otherwise it will just
6# print the current date and time every second. Notice also comments to adjust
7# for working with hardware vs. software I2C.
8
9import time
10
11import board
12
13import adafruit_ds3231
14
15i2c = board.I2C() # uses board.SCL and board.SDA
16# i2c = board.STEMMA_I2C() # For using the built-in STEMMA QT connector on a microcontroller
17rtc = adafruit_ds3231.DS3231(i2c)
18
19# Lookup table for names of days (nicer printing).
20days = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
21
22
23if False: # change to True if you want to set the time!
24 # year, mon, date, hour, min, sec, wday, yday, isdst
25 t = time.struct_time((2017, 10, 29, 15, 14, 15, 0, -1, -1))
26 # you must set year, mon, date, hour, min, sec and weekday
27 # yearday is not supported, isdst can be set but we don't do anything with it at this time
28 print("Setting time to:", t) # uncomment for debugging
29 rtc.datetime = t
30 print()
31
32# Main loop:
33while True:
34 t = rtc.datetime
35 # print(t) # uncomment for debugging
36 print(f"The date is {days[int(t.tm_wday)]} {t.tm_mday}/{t.tm_mon}/{t.tm_year}")
37 print(f"The time is {t.tm_hour}:{t.tm_min:02}:{t.tm_sec:02}")
38 time.sleep(1) # wait a second