DS1307
Датчик
DS1307 использует I2C протокол.
Адреса регистров:
Изображение: Timekeeper_Registers |
Физическое подключение
Tiny RTC DS1307 и Waffle nano подключаются с использованием меньшего количества контактов на левой стороне. Требуется только четыре провода для подключения к основной плате.
Библиотека датчиков
Библиотека датчиков называется ds1307, она предоставляет следующие функции:
Использование:
from machine import I2C, Pin
import ds1307
i2c = I2C(1, sda = Pin(0), scl = Pin(1), freq = 100000)
ds = ds1307.DS1307(i2c) # передача интерфейса
ds.set_halt(False) # запуск отсчёта времени
now = (year, month, day, date, hour, minute, second, subsecond) # запись текущего времени
ds.set_time(now) # установка времени
print(ds.get_time()) # запрос времени
Пример кода:
>>> from machine import I2C, Pin
>>> import ds1307
>>> i2c = I2C(1, sda = Pin(0), scl = Pin(1), freq = 100000)
>>> ds = ds1307.DS1307(i2c)
>>> i2c.scan() # запрос адресов интерфейса
[80, 104]
>>> ds.query_halt() # проверка, остановлены ли часы
False # часы не остановлены
>>> ds.get_time() # запрос времени
(2021, 7, 16, 5, 20, 54, 7, 0) # текущее время
>>> ds.get_time() # ожидание 8 секунд
(2021, 7, 16, 5, 20, 54, 16, 0)
>>> ds.get_time() # ожидание 10 секунд
(2021, 7, 16, 5, 20, 54, 26, 0)
>>> ds.set_halt(True) # остановка часов
>>> ds.get_time() # получение времени
(2021, 7, 16, 5, 20, 54, 43, 0)
>>> ds.get_time() # ожидание 5 секунд
(2021, 7, 16, 5, 20, 54, 43, 0) # время не изменилось
>>> ds.set_halt(False) # запуск часов
>>> ds.get_time() # получение времени
(2021, 7, 16, 5, 20, 54, 49, 0)
>>> ds.get_time() # ожидание 5 секунд
(2021, 7, 16, 5, 20, 54, 54, 0)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )