Ziel dieser Arbeit ist die Erstellung, mit der Hilfe des Echtzeituhr-Moduls, auch Real Time Clock (RTC) genannt, einer digitalen Uhr auf einem 1.8' TFT Display. Ein weiterer Ziel dieser Arbeit ist die vertiefte Auseinandersetzung mit dem Datenblatt für die Echtzeituhr DS1302 und die Erstellung einer neuer Klasse für deren Funktionalität.
Inhaltsverzeichnis
1 Einleitung
1.1 Hinführung
1.2 Ziel der Arbeit
1.3 Aufbau der Arbeit
2 Grundlagen
2.1 Arduino
2.1.1 Hardware
2.1.2 Software
2.2 TFT Display ST7735
2.3 Echtzeituhr-Modul DS1302
3 Bearbeitung
3.1 Anschließen RTC und TFT Display an Arduino
3.2 Klasse DS1302
3.2.1 Header Datei DS1302.h
3.2.2 Implementierungsdatei DS1302.cpp
3.3 Verwendung der Klasse DS1302
3.4 Die Uhr auf dem TFT Display
3.4.1 Funktion showClockFace()
3.4.2 Funktion showSetTime()
4 Schluss
4.1 Zusammenfassung der wichtigsten Ergebnisse
4.2 Kritische Betrachtung
Zielsetzung & Themen
Ziel dieser Arbeit ist die Erstellung einer digitalen Uhr auf einem 1.8' TFT Display unter Verwendung des Echtzeituhr-Moduls DS1302. Dabei steht die Implementierung einer neuen C++ Klasse zur Ansteuerung des Moduls auf einem Arduino-System im Mittelpunkt.
- Grundlagen zu Arduino-Hardware und Software
- Kommunikationsprotokoll und Funktionsweise des Moduls DS1302
- Objektorientierte Programmierung einer C++ Klasse für Echtzeituhren
- Grafische Aufbereitung und Menüführung auf einem SPI-TFT-Display
- Praktische Implementierung einer Zeit-Einstellungsfunktion
Auszug aus dem Buch
1.1 Hinführung
Mikrocontroller sind aus unseren Leben nicht wegzudenken. In allen Lebensbereichen, ob in Autos, in Flugzeugen oder Kaffeemaschine sind die Mikrocontroller zu treffen, wo sie meistens in sogenannte eingebettete Systeme integriert sind, ohne, dass sie direkt wahrgenommen werden.1 Für die Menschen, die sich zum ersten Mal mit Mikrocontrollern auseinandersetzen, gibt es einige Hürden. Zum einen braucht man einen speziellen Programmiergerät und zum anderen werden die meisten Mikrocontroller mit Assembler programmiert, was mehr Lernaufwand erfordert. Deswegen war 2005 Arduino geboren.2 Arduino ermöglicht einen einfachen Einstieg in die Mikrocontroller-Welt, weil man sich nicht tief mit Mikrocontroller auseinandersetzen musste und mit einer Programmiersprache, basierend auf C/C++, sehr schnell erste Lernerfolge erzielen konnte. Zum jetzigen Zeitpunkt existieren viele Arduino Varianten auf dem Markt: Arduino Uno, Arduino Mega, Arduino Leonardo (Abbildung 1) und viele Klone, wie z.B. Fundruino etc.
Das Programm, auch Sketch genannt, wird in einer Entwicklungsumgebung Arduino IDE geschrieben. Es besteht aber auch die Möglichkeit das Programm mit anderen Editoren, wie z.B. Microsoft Visual Studio Code3 in Verbindung mit PlatformIO4, zu compilieren und auf Arduino zu übertragen.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in die Welt der Mikrocontroller und die Arduino-Plattform ein und definiert das Ziel sowie den Aufbau der Arbeit.
2 Grundlagen: Hier werden die Hardware-Komponenten wie Arduino Leonardo, das TFT-Display ST7735 und das RTC-Modul DS1302 technisch beschrieben.
3 Bearbeitung: Das Hauptkapitel befasst sich mit der schaltungstechnischen Verbindung sowie der objektorientierten Programmierung der Klasse DS1302 und der grafischen Ausgabe auf dem Display.
4 Schluss: Die Arbeit endet mit einer Zusammenfassung der Ergebnisse sowie einer kritischen Reflexion über die umgesetzten Funktionen.
Schlüsselwörter
Arduino, Mikrocontroller, DS1302, Echtzeituhr, RTC, TFT-Display, ST7735, SPI, Objektorientierte Programmierung, C++, Programmierung, Embedded Systems, Zeitsteuerung, Schnittstellen, Hardware-Hardware-Interfacierung.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Entwicklung einer digitalen Uhr, die auf einem 1.8' TFT-Display die Uhrzeit anzeigt, wobei ein DS1302 Echtzeituhr-Modul als präziser Zeitgeber dient.
Welche zentralen Themenfelder werden behandelt?
Die zentralen Felder umfassen die Hardware-Integration von Peripherie an einen Arduino, die Software-Implementierung in C++ durch eine eigene Klasse sowie die grafische Ausgabe mittels SPI-Schnittstelle.
Was ist das primäre Ziel der Forschungsarbeit?
Ziel ist die Erstellung einer nutzerfreundlichen Uhr-Anzeige sowie die Entwicklung einer wiederverwendbaren C++ Klasse für das DS1302-Modul zur einfacheren Handhabung durch andere Anwender.
Welche wissenschaftliche Methode kommt zum Einsatz?
Es wird ein anwendungsorientierter Ansatz gewählt, bei dem zunächst das Datenblatt analysiert, eine Klasse entworfen und anschließend eine Hardware-Prototypschaltung implementiert und getestet wird.
Was ist der Kerninhalt des Hauptteils?
Der Hauptteil gliedert sich in die Hardware-Verdrahtung, die softwareseitige Implementierung der Kommunikationsroutinen für das Modul und die Programmierung der Menüführung zur Zeitkorrektur.
Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?
Wichtige Begriffe sind Arduino, DS1302 Echtzeituhr, TFT-Display (ST7735), SPI-Protokoll und objektorientierte C++ Klassenentwicklung.
Wie erfolgt die Kommunikation zwischen dem RTC-Modul und dem Arduino?
Die Kommunikation erfolgt seriell über ein spezielles Protokoll, das im Datenblatt definiert ist und in der Arbeit durch eine eigene Implementierung der Funktionen readData() und writeData() umgesetzt wird.
Welche Funktion hat die Klasse DS1302 genau?
Die Klasse abstrahiert die komplexen Registerzugriffe des DS1302-Moduls und ermöglicht dem Programmierer das bequeme Lesen und Schreiben von Zeit- und Datumsdaten über einfache Funktionsaufrufe.
- Arbeit zitieren
- Andrej Mironov (Autor:in), 2022, Echtzeituhr DS1302 mit der Ausgabe auf dem 1.8' TFT Display, München, GRIN Verlag, https://www.hausarbeiten.de/document/1282311