RTC
Was dieses Beispiel zeigt
Das Beispiel stellt Uhrzeit und Datum der integrierten Echtzeituhr (RTC) ein, liest die Uhrzeit anschließend zurück und zeigt sie an. Dabei wird der gesamte Bildschirm alle 10 Sekunden aktualisiert. Das Panel unterstützt kein partielles Update, deshalb füllt das Beispiel vor jedem Neuzeichnen das Feld hinter der Uhrzeit mit Weiß.
Beispielcode
"""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)
Verwendete Funktionen
Inkplate()returns InkplateErstellt das Display-Objekt aus dem Modul inkplate7spectra.
ReturnsDas Display-Objekt.
inkplate.begin()returns boolRichtet das Board einschließlich der RTC sowie einen weißen Framebuffer ein. Einmal aufrufen.
ReturnsTrue.
inkplate.set_text_size(s)returns NoneLegt den Skalierungsfaktor des Textes fest, hier 3.
ReturnsNichts.
inkplate.rtc_set_time(rtc_hour, rtc_minute, rtc_second)returns NoneSchreibt die Uhrzeit in die RTC.
ReturnsNichts.
inkplate.rtc_set_date(rtc_weekday, rtc_day, rtc_month, rtc_yr)returns NoneSchreibt das Datum in die RTC und markiert es als gesetzt. rtc_yr ist das vollständige Jahr, zum Beispiel 2026.
ReturnsNichts.
inkplate.rtc_get_data()returns dictLiest die RTC aus.
ReturnsEin Dictionary mit den Schlüsseln second, minute, hour, day, weekday, month und year (vollständiges Jahr).
inkplate.fill_rect(x, y, w, h, c)returns NoneZeichnet ein gefülltes Rechteck, hier in Weiß über der alten Uhrzeit.
ReturnsNichts.
inkplate.set_cursor(x, y)returns NoneLegt fest, wo print() beginnt.
ReturnsNichts.
inkplate.print(text)returns NoneZeichnet Text an der Cursorposition in den Framebuffer.
ReturnsNichts.
inkplate.display(leave_on=False)returns NoneSendet den Framebuffer an das Panel und aktualisiert es.
ReturnsNichts.
Was Sie erwarten können
Die Uhrzeit erscheint in Schwarz bei (100, 100), in dreifacher Basisgröße, im Format HH:MM:SS, beginnend mit 09:39:10. Der Bildschirm wird alle 10 Sekunden mit der neuen Uhrzeit aktualisiert. In der Shell wird nichts ausgegeben.
🔗Vollständiges Beispiel öffnen
examples/inkplate7spectra/rtc.py