Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Raspberry Pi Pico BASIC #6 – RealTimeClock programmieren

Posted on 15. Mai 202310. März 2024 by Stefan Draeger

In diesem Beitrag möchte ich dir gerne zeigen, wie du eine RealTimeClock (kurz RTC) am Raspberry Pi Pico mit Picomite in BASIC programmierst.

Den Raspberry Pi Pico mit Picomite habe ich dir bereits in diversen Beiträgen vorgestellt.

  • BASIC Programmierung am Raspberry Pi Pico W,
  • Raspberry Pi Pico BASIC #1 – Überblick
  • Raspberry Pi Pico BASIC #2 – Quellcode organisieren
  • Raspberry Pi Pico BASIC #3 – Autostart
  • Raspberry Pi Pico BASIC #4 – SD-Karte anschließen

In meinem letzten Beitrag habe ich dir auch gezeigt, wie man Sensordaten von einem Temperatursensor auf eine SD-Karte schreiben kann. In diesem Beitrag möchte ich gerne an diesen Beitrag anknüpfen und die Sensordaten mit einem Zeitstempel speichern.

Im Handel erhältst du die RTCs bereits ab 3 €* welche meist für den Arduino angepriesen werden.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Auf der RTC ist eine Batterie verbaut, welche die interne Uhr weiterlaufen lässt und so auch ein Zeitstempel ausgelesen werden kann, wenn der Mikrocontroller mal eine Zeit X ohne Strom war.

Benötigte Ressourcen für dieses Projekt

Wenn du die Schaltung nachbauen möchtest, dann benötigst du:

  • einen Raspberry Pi Pico* / Pico W*,
  • ein Micro-USB-Datenkabel*,
  • eine RTC DS3231* mit I2C Schnittstelle,
  • vier Breadboardkabel*, weiblich-weiblich, 10 cm,
  • optional ein GPIO Dual Expanderboard*

Aufbau der Schaltung

Mit den vier Breadboardkabeln schließen wir die RealTimeClock an den Raspberry Pi Pico wie folgt an.

Raspberry Pi Pico mit RealTimeClock (RTC)
Raspberry Pi Pico mit RealTimeClock (RTC)

An den Raspberry Pi Pico kannst du an mehreren Pins ein I2C Device anschließen. Nachfolgend findest du das Pinout.

Pinout des Raspberry PI Pico
Pinout des Raspberry PI Pico

Einrichten der RTC in Picomite auf dem Raspberry Pi Pico

Bevor wir den Zeitstempel (Datum & Uhrzeit) von der RTC lesen können, müssen wir diese einrichten.

Zunächst müssen wir die I2C Pins aktivieren.

OPTION SYSTEM I2C 1, 0
oder
OPTION SYSTEM I2C GP0, GP1

Nachdem die ENTER Taste betätigt wurde, startet der Pi Pico neu und danach setzen wir den initialen Zeitstempel mit dem nachfolgenden Befehl.

RTC SETTIME Jahr, Monat, Tag, Stunde, Minute, Sekunde
zbsp.
RTC SETTIME 2023, 4, 29, 18, 0, 0

Mit dem Befehl nachfolgenden Befehl kannst du die RTC beim Starten und jede Stunde

Auslesen von Datum & Uhrzeit von der RealTimeClock

Nachdem wir nun den Zeitstempel gesetzt haben, können wir die beiden Werte Datum & Uhrzeit von dieser lesen.

RTC GETTIME
Print DATE$
Print TIME$
Ausgabe von Datum & Uhrzeit auf dem Pi Pico mit einer RTC
Ausgabe von Datum & Uhrzeit auf dem Pi Pico mit einer RTC

Damit wir aus den Feldern DATE$ und TIME$ die Werte lesen können, müssen die mit dem Befehl „RTC GETTIME“ befüllt werden.

Wir können dieses jedoch etwas automatisieren, indem wir die nachfolgende Option für die RTC setzen.

OPTION RTC AUTO ENABLE

Beispiel – Sensordaten mit Zeitstempel auf SD-Karte schreiben

Im letzten Beitrag hatte ich dir gezeigt, wie du die Sensordaten von einem einfachen digitalen Temperatursensor DS18B20 auf eine SD-Karte schreiben kannst. Jetzt möchte ich statt des Index einen Zeitstempel zu jedem Wert speichern.

Aufbau der Schaltung – RTC, DS28B20 & SD-Kartenleser

Die RTC lässt sich wie nachfolgend gezeigt in die ggf. bereits bestehende Schaltung integrieren.

Schaltung - Pi Pico mit DS18B20, RTC & SD-Kartenleser
Schaltung – Pi Pico mit DS18B20, RTC & SD-Kartenleser

Für den Temperatursensor DS18B20 habe ich ein kleines Board auf welchem bereits die Schaltung mit dem 4,7 kOhm Widerstand verbaut ist.

Aufbau der Schaltung - Raspberry Pi Pico mit Realtimeclock, Temperatursensor DS18B20 und SD-Kartenleser
Aufbau der Schaltung – Raspberry Pi Pico mit Realtimeclock, Temperatursensor DS18B20 und SD-Kartenleser

Programmieren im Fullscreen-Editor in Picomite

Erweitern wir jetzt das Programm um den Zeitstempel.

TEMPR START GP15
Dim value As Float
Open "b:/sensordaten.csv" For output As #1
RTC GETTIME
For i = 0 to 100 Step 1
  value = TEMPR(GP15)
  Print #1, DATE$ " " TIME$ ";" value
  Print i DATE$ " " TIME$ "-" value
Next i
Close #1

Die CSV Datei auf der SD-Karte enthält nun den Zeitstempel sowie die Sensordaten getrennt durch ein Semikolon.

2 thoughts on “Raspberry Pi Pico BASIC #6 – RealTimeClock programmieren”

  1. Pingback: ChatGPT - Sensordaten visualisieren - Technik Blog
  2. Pingback: Raspberry Pi Pico BASIC #7 – I2C-Display programmieren - Technik Blog

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}