Diese Weiterbildung vermittelt Kenntnisse in der C++-Programmierung und der Entwicklung von Embedded-Systemen mit der Arduino-Plattform. Im Fokus stehen die Steuerung von Hardwarekomponenten, die Integration von Sensoren und Aktoren sowie die Programmierung vernetzter Anwendungen.
Kursinhalte:
Einführung in C++ und Embedded-Programmierung
- Erweiterte Grundlagen der C++-Programmierung: Klassen, Objekte, Vererbung
- Speicherverwaltung in C++: Zeiger, Referenzen und dynamische Speicherallokation
- Verwendung von C++-Bibliotheken für Mikrocontroller-Programmierung
- Unterschiede zwischen allgemeiner C++-Programmierung und Embedded-C++
Einrichtung und Verwendung der Arduino-Plattform
- Einführung in Arduino: Aufbau und Funktionsweise
- Arduino IDE einrichten und Projekte erstellen
- Verbindung von Arduino mit C++-Entwicklungsumgebungen
- Verwaltung von Arduino-Sketches und Upload auf den Mikrocontroller
Steuerung von Hardwarekomponenten mit C++
- Einführung in die Arbeit mit Sensoren und Aktoren auf Arduino
- Ansteuerung von digitalen und analogen Pins mit C++
- Verwendung von PWM (Pulsweitenmodulation) zur Steuerung von Motoren und LEDs
- Echtzeit-Programmierung zur Steuerung von komplexen Hardwarekomponenten
Fortgeschrittene C++-Konzepte in der Embedded-Programmierung
- Verwendung von Klassen und Objekten zur modularen Hardwaresteuerung
- Arbeiten mit Interrupts und Timern für zeitkritische Anwendungen
- Speicheroptimierung und Effizienz in der C++-Programmierung auf Arduino
- Fehlerbehandlung und Debugging in Embedded-Systemen
Kommunikation mit Arduino und externen Geräten
- Serielle Kommunikation zwischen Arduino und externen Geräten (UART, SPI, I2C)
- Integration von Arduino mit anderen Systemen: PCs, Raspberry Pi, etc.
- Kommunikation über Funktechnologien (Bluetooth, WLAN, Zigbee)
- Verarbeitung und Visualisierung von Sensordaten in Echtzeit
Verwendung von Bibliotheken und Erweiterungen
- Verwendung gängiger Arduino-Bibliotheken für Sensoren und Aktoren
- Erstellen eigener Bibliotheken für spezifische Hardwarekomponenten
- Integration von externen Hardware-Bibliotheken in C++-Projekte
- Optimierung von Bibliotheken für Embedded-Anwendungen
Vernetzte Systeme und IoT-Anwendungen mit Arduino
- Grundlagen des Internet of Things (IoT) und vernetzte Systeme
- Verwendung von Arduino in IoT-Projekten zur Steuerung und Überwachung
- Kommunikation mit Cloud-Diensten und Datenbanken über REST-APIs
- Integration von IoT-Kommunikationsprotokollen wie MQTT und CoAP
Performance-Optimierung und Energiemanagement
- Optimierung der C++-Programme für Embedded-Systeme zur Laufzeitreduktion
- Energieeffiziente Programmierung auf Arduino: Sleep-Modi und Stromsparstrategien
- Arbeiten mit Batteriebetriebenen Systemen und Langzeitbetrieb
- Messung und Optimierung der Energieeffizienz von Arduino-Projekten
Testen und Debugging in C++-Arduino-Projekten
- Debugging von C++-Programmen auf der Arduino-Plattform
- Verwendung von seriellen Monitoren und Debugging-Tools zur Fehlerbehebung
- Testen und Validieren von Hardware und Software in vernetzten Anwendungen
- Fehlerbehebung und Debugging in Echtzeitsystemen
Projekt: Entwicklung eines komplexen Arduino-Systems
- Entwicklung eines vollständigen Projekts: Von der Planung bis zur Implementierung
- Integration von Sensoren, Aktoren und externen Geräten in einem IoT-System
- Optimierung von Hardware und Software für maximale Leistung
- Präsentation und Dokumentation des Projekts
Anforderung für die Weiterbildung
- Interesse an IT und Programmierung
- abgeschlossene Berufsausbildung, ein Studium oder eine Anpassungs-Qualifizierung im IT-Bereich; oder ein bestandener Eignungstest
- Deutsch-Sprachniveau von mindestens B1