############################
# E025_RTC_EXT_DS1307.PY: Visualiza RTC externo DS1307©
# ENTRADAS: Hora del sistema
# SALIDAS: Visualiza hora DS1307©
# IMPORTANTE: La librería ds13207.py debe estar cargada en el ESP32©
############################
from machine import Pin, SoftI2C# Gestión del GPIO
import ds1307 # Gestión RTC, debe estar cargada en el ESP32©
# Configura los GPIO, deben permitir la entrada y salida
scl_pin = Pin(21, Pin.OUT) # Reloj
sda_pin = Pin(22, Pin.OUT) # Datos
# Inicialización del RTC DS1307© bus I2C
i2c = SoftI2C(sda=Pin(sda_pin), scl=Pin(scl_pin))
rtc = ds1307.DS1307(i2c)
# Buscando DS1307© en bus I2C
print('Escaneando bus...')
print(f'RTC en: {hex(i2c.scan()[0])}')
semana = ['Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo']
# Visualiza RTC
datos = rtc.datetime()
anno = datos[0]
dia = datos[2]
mes = datos[1]
dia_semana = semana[datos[3]-1]
hora = datos[4]
minuto = datos[5]
segundo = datos[6]
print(f'Fecha: {dia_semana}, {dia}-{mes}-{anno}')
print(f'Hora: {hora}:{minuto}:{segundo}')