Skip to main content

RTC

Što primjer prikazuje​

Postavlja vrijeme i datum na ugrađenom satu stvarnog vremena (RTC), zatim očitava vrijeme i prikazuje ga, pri čemu se cijeli zaslon osvježava svakih 10 sekundi. Zaslon nema djelomično osvježavanje, pa primjer prije svakog ponovnog crtanja briše bijelom bojom okvir iza vremena.

Primjer koda​

"""Use the onboard RTC."""

# Include all the required libraries
from inkplate7spectra import Inkplate
import time

# Create Inkplate object
inkplate = Inkplate()

# Initialize the display, needs to be called only once
inkplate.begin()

inkplate.set_text_size(3)

# This is how to set the RTC's time
# Arguments are hour, minute, seconds
inkplate.rtc_set_time(9, 39, 10)
# And this is the date
# Arguments are weekday, day in month, month and year
inkplate.rtc_set_date(2, 9, 2, 2026)

# Box that the time text is drawn into -- must be cleared before each redraw,
# since we redraw the whole screen every tick (this board has no partial-
# refresh support)
box_x, box_y, box_w, box_h = 100, 100, 300, 60

# Infinite loop
while True:
rtc_data = inkplate.rtc_get_data()

hour = rtc_data["hour"]
minute = rtc_data["minute"]
second = rtc_data["second"]

if hour < 10:
hour = "0" + str(hour)
if minute < 10:
minute = "0" + str(minute)
if second < 10:
second = "0" + str(second)

inkplate.fill_rect(box_x, box_y, box_w, box_h, inkplate.WHITE)
inkplate.set_cursor(box_x, box_y)
current_time = str(hour) + ":" + str(minute) + ":" + str(second)
inkplate.print(current_time)
inkplate.display()

# Let's wait 10 seconds
time.sleep(10)

Korištene funkcije​

Inkplate()returns Inkplate

Stvara objekt zaslona iz modula inkplate7spectra.

ReturnsObjekt zaslona.

inkplate.begin()returns bool

Postavlja pločicu, uključujući RTC, i bijeli međuspremnik okvira. Pozovite je jednom.

ReturnsTrue.

inkplate.set_text_size(s)returns None

Postavlja faktor mjerila teksta, ovdje 3.

ReturnsNišta.

inkplate.rtc_set_time(rtc_hour, rtc_minute, rtc_second)returns None

Upisuje vrijeme u RTC.

ReturnsNišta.

inkplate.rtc_set_date(rtc_weekday, rtc_day, rtc_month, rtc_yr)returns None

Upisuje datum u RTC i označava ga kao postavljenog. rtc_yr je puna godina, na primjer 2026.

ReturnsNišta.

inkplate.rtc_get_data()returns dict

Očitava RTC.

ReturnsRječnik s ključevima second, minute, hour, day, weekday, month i year (puna godina).

inkplate.fill_rect(x, y, w, h, c)returns None

Crta ispunjeni pravokutnik, ovdje bijeli preko starog vremena.

ReturnsNišta.

inkplate.set_cursor(x, y)returns None

Postavlja mjesto od kojeg print() započinje.

ReturnsNišta.

inkplate.print(text)returns None

Crta tekst na položaju kursora u međuspremnik okvira.

ReturnsNišta.

inkplate.display(leave_on=False)returns None

Šalje međuspremnik okvira na zaslon i osvježava ga.

ReturnsNišta.

Što očekivati​

Vrijeme se prikazuje crnom bojom na položaju (100, 100), u trostrukoj osnovnoj veličini, u obliku HH:MM:SS, počevši od 09:39:10. Zaslon se osvježava novim vremenom svakih 10 sekundi. U shellu se ništa ne ispisuje.

🔗Otvorite cjeloviti primjer

examples/inkplate7spectra/rtc.py

→