|
Praktische Einführung in den Ingenieurberuf im Wintersemester 2025/26
(EN google-translate)
(PL google-translate)
- Inhalte und Termine für die Labortermine zur Smartwatch Programmierung
- WING: Donnerstag 16.10., 30.10., 13.11., jeweils 10:15 bis 13:15Uhr, D.2.08
- AU und ICE: Mittwochs 29.10., 05.11., 12.11., jeweils 14:00 bis 17:00Uhr, D.2.08 (aktualisiert am 15.10.2025)
|
- Hier bei "day by day" werden chronologisch im Verlauf des Semesters die behandelten Inhalte vermerkt.
- Meistens werden Links innerhalb von kramann.info angegeben, wo der jeweils behandelte Stoff dargestellt wird.
- Zur Orientierung finden Sie auf kramann.info auch noch das "day by day" der gleichen Lehrveranstaltung vom vorangehenden Jahr.
- Das Testat für dieses Labor wird durch die Präsentation eines Projekts erlangt.
|
Donnerstag, 25.09.2025
Einführende Themen
- Technik in anderen Kulturen: Die Boote der Polynesier
- Die Smart Watch betrachtet als eingebettetes System
|
1 Technik in anderen Kulturen: Die Boote der Polynesier
Bei "Praktische Einführung in den Ingenieurberuf" handelt es sich um so ziemlich das erste,
was Sie als neu einsteigende Studierende geboten bekommen.
Da macht es Sinn, dies zu nutzen, um Ihnen eine Orientierung zu geben.
Dem werde ich auf eine etwas allgemeinere Art und Weise versuchen Gerecht zu werden, als vielleicht erwartet wird:
Ich möchte Ihnen helfen lernen zu verstehen, worin sich die abendländische Technik in besonderer Weise auszeichnet.
Ich möchte die Stärken und sofern es sie gibt, die grundsätzlichen Schwächen der abendländische Technik gemeinsam mit Ihnen versuchen in den Blick zu bekommen.
Ein Weg dies zu machen ist der Vergleich.
Eine Wissenschaft, die Vergleiche zwischen Technologien unterschiedlicher Kulturen anstellt, ist die Technikanthropologie.
Heßler, M., Liggieri, K.: Technikanthropologie: Handbuch für Wissenschaft und Studium, Nomos, Baden-Baden 2020.
Code 0-1: Literatur zu Technikanthropologie
Exemplarisch nehme ich im folgenden die Schiffsnavigation als ein Beispiel.
Marianne George (2012) Polynesian Navigation and Te Lapa -- "The Flashing", Time and Mind: The Journal of Archaeology, Consciousness and Culture, 5:2, 135-173, aufgerufen: 22.09.2025, url: https://www.researchgate.net/publication/261594890_Polynesian_Navigation_and_Te_Lapa-_The_Flashing
Beispiel: Bootsbau in Taumako, Dokumentarfilm von Michael Tauchert.
mitropico.com/filter/Reihe-Magische-Welten-ZDF/Polynesien-Nomaden-der-Sudsee
vaka.org -- Taumako Projekt
Navigation mit Te Puke Booten -- Dr. Mimi George
https://www.vaka.org/blog/categories/navigation
ÜBUNG
- Diskutieren Sie den Unterschied zwischen der Ihnen geläufigen Abendländischen Technik und der Bootsbau- und Navigationskunst der Polynesier.
- Die Polynesischen Inseln wurden von verschiedenen europäischen Ländern bis in die 50er Jahre hinein kolonisiert.
- Überlegen Sie, worin Vor- und Nachteile der verschiedenen Technikarten liegen, wie sie einerseits durch die polynesische Navigations- und Bootsbaukunst repräsentiert wird und andererseits heute durch das abendländische Pendent dazu?
- Leben mit Technik: Betrachten Sie die beiden Arten von Technik im Hinblick auf das Leben im Alltag. Kategorien wie Glück und Zufriedenheit werden im technischen Kontext selten thematisiert, aber letzten Endes sollte doch die Technisierung der Welt dies zum Ziel haben. Also wie steht es damit?
|
Durch Insel verursachtes Wellen-Intereferenzmuster. Kenneth Lohmann und Graeme C Hays: Goal Navigation and Island-Finding in Sea Turtles, Journal of Experimental Marine Biology and Ecology 356(1-2):83-95 DOI:10.1016/j.jembe.2007.12.017, url: https://www.researchgate.net/publication/222699397_Goal_Navigation_and_Island-Finding_in_Sea_Turtles
siehe auch: https://de.wikipedia.org/wiki/Polynesische_Navigation#Navigationstechniken
Uhr "H5" von John Harrison, ca. 1770: https://de.wikipedia.org/wiki/John_Harrison_(Uhrmacher)
2. Die Smart Watch betrachtet als eingebettetes System
Bild 0-1: T-Watch 2020 V3 from Lilygo.
- Wir werden mit einer T-Watch 2020 V3 arbeiten.
- Dies geschieht innerhalb der Arduino Entwicklungsumgebung
|
Dies sind Peripherien die bei der Uhr durch Programmierung angesteuert werden können:
- Display
- Touch
- IMU (Inertia Measurement Unit)
- RTC (Real Time Clock)
- WiFi
- Bluetooth
- Button
- Vibration
- Mikrophone
- Loudspeaker
|
Programming examples: https://youtu.be/xQJAm8CVC_4
- Sie haben da also eine ganze Liste an Komponenten, die erst einen ganzheitlichen Sinn ergeben, wenn sie irgendwie durch eine Software miteinander verknüpft werden.
- Genau damit werden wir uns beschäftigen: Die interne Peripherie eines eingebetteten Systems mittels Software zu einem nützlichen Ganzen zu verknüpfen.
|
"Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden
"
Arthur C. Clarke
- Wie könnte eine Smart Watch dazu beitragen, Ihr Leben auf diesem Campus zu unterstützen?
- Welche der oben aufgelisteten internen Peripherie käme bei der von Ihnen vorgestellten Anwendung zum Tragen?
- Welche extern verfügbare Infrastruktur wiederum würde durch Ihr neu geschaffenes System in Anspruch genommen werden?
- Welche Störungen während der Interaktion der Smartwatch mit ihrer Umgebung und der sie umgebenden Infrastruktur könnten auftreten?
- Welche Maßnahmen könnten ergriffen werden, um das Auftreten der identifizierten Störmöglichkeiten in seinen Auswirkungen möglichst gering zu halten?
|
Donnerstag, 09.10.2025 -- Ringvorlesung Eingebettete System im Ingenieurwesen
Bitte tragen Sie sich in die herumgehende Liste für das Labor ein (alle außer Maschinenbau).
- Die Vision des Marc Weiser: The Computer for the 21st Century
- Eingebettete Systeme gestern und heute: Die erstaunlichen Maschinen des William Grey Walter
- Fallbeispiel Smarthome
- Mobile Devices als Eingebettete Systeme: Programmieren einer Smartwatch
|
1. Die Vision des Marc Weiser: The Computer for the 21st Century
Ubiquitous Computing nach Marc Weiser
Ubiquitous Computing - Wikipedia-Eintrag
Mark Weiser: The Computer for the 21st Century, Scientific American 1991.
"Consider writing, perhaps the first information technology: The ability to capture a symbolic representation of spoken language for long-term storage freed information from the limits of individual memory. Today this technology is ubiquitous in industrialized countries. Not only do books, magazines and newspapers convey written information, but so do street signs, billboards, shop signs and even graffiti. Candy wrappers are covered in writing. The constant background presence of these products of "literacy technology" does not require active attention, but the information to be conveyed is ready for use at a glance. It is difficult to imagine modern life otherwise. Silicon-based information technology, in contrast, is far from having become part of the environment. More than 50 million personal computers have been sold, and nonetheless the computer remains largely in a world of its own. It is approachable only through complex jargon that has nothing to do with the tasks for which which people actually use computers. The state of the art is perhaps analogous to the period when scribes had to know as much about making ink or baking clay as they did about writing.
"
Mark Weiser: The Computer for the 21st Century. Quelle: https://web.archive.org/web/20070630213952/http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html, aufgerufen am 07.10.2025.
"Betrachten wir einmal das Schreiben, vielleicht die erste Informationstechnologie: Die Fähigkeit, eine symbolische Darstellung der gesprochenen Sprache für die langfristige Speicherung festzuhalten, befreite die Information von den Grenzen des individuellen Gedächtnisses. Heute ist diese Technologie in den Industrieländern allgegenwärtig. Nicht nur Bücher, Zeitschriften und Zeitungen vermitteln schriftliche Informationen, sondern auch Straßenschilder, Werbetafeln, Ladenschilder und sogar Graffiti. Sogar Bonbonpapier ist mit Schrift bedeckt. Die ständige Präsenz dieser Produkte der "Schrifttechnologie" im Hintergrund erfordert keine aktive Aufmerksamkeit, aber die zu vermittelnden Informationen sind auf einen Blick verfügbar. Ein modernes Leben ohne sie ist kaum vorstellbar. Die siliziumbasierte Informationstechnologie hingegen ist noch lange nicht Teil unserer Umwelt geworden. Mehr als 50 Millionen PCs wurden verkauft, und dennoch bleibt der Computer weitgehend eine Welt für sich. Er ist nur über komplexe Fachsprache zugänglich, die nichts mit den Aufgaben zu tun hat, für die Menschen Computer tatsächlich nutzen. Der Stand der Technik ist vielleicht vergleichbar mit der Zeit, als Schreiber ebenso viel über die Herstellung von Tinte oder das Brennen von Ton wissen mussten wie über das Schreiben.
"
Deutsche Übersetzung von Mark Weiser: The Computer for the 21st Century. Quelle: https://web.archive.org/web/20070630213952/http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html, aufgerufen am 07.10.2025.
Welche Eigenschaften sollte ein engebettetes Echtzeitsystem haben?
- autark: Bootet nach dem Einschalten ohne Benutzerinteraktion
- robust: kontrolliert eigenen Systemzustand und versucht Probleme still zu lösen. Erst bei Versagen der Selbstreparatur erfolgt eine Rückmeldung an den Nutzer
- einfach: Das System ist einfach zu benutzen und vermittelt intuitiv, wie das geschehen kann
- zeitlich korrekt: genügt dem Anspruch zeitlicher Korrektheit
- nicht terminierend: kann dauerhaft laufen. Es tritt insbesondere kein Speicherüberlauf auf. Basiskonzept: setup() loop()
- Wartungsschnittstelle: liefert bei Wunsch dem versierten Anwender Informationen über seinen inneren Zustand
- Kausalität: eindeutiger kausaler Zusammenhang zwischen Verhalten und der Kombination aus innerem Zustand und äußerer Situation (Sensorinput)
|
Echtzeit im Sinne von "schnell": 67_Echtzeitsysteme/01_Einfuehrung/01_Echtzeit
Echtzeit im Sinne von "zeitlich korrekt": 67_Echtzeitsysteme/01_Einfuehrung/02_Korrektheit
#aeint
67_Echtzeitsysteme/01_Einfuehrung/03_Hardware
67_Echtzeitsysteme/01_Einfuehrung/03_Hardware
Hardware-Plattformen: 67_Echtzeitsysteme/01_Einfuehrung/03_Hardware
State-machine / Zustandsmmaschine: 67_Echtzeitsysteme/12_Zustandsmaschine
Was sind Voraussetzungen für die effiziente Entwicklung engebetteter Echtzeitsysteme?
- Bereitstellung modularisierter Teilfunktionen, die beliebig kombinierbar sind, ohne sich gegenseitig zu stören
- Ein tragfähiges Konzept für das Scheduling der einzelnen Tasks (beispielsweise durch ein Echtzeitbetriebssystem, oder Threads)
- Übersichtlicher Aufbau der Software-Architektur, beispielsweise durch einen objektorientierten Ansatz
|
Java Threads: 67_Echtzeitsysteme/02_Threads
Beispiele eingebetteter Echtzeitsysteme (Prototypen / Funktionsstudien aus vergangenen Lehrveranstaltungen)
15_Einachser -- Einachser auf kramann.info
Elektrokutsche, Personenkutschfahrt auf kramann.info
Physikalische Echtzeitsimulation einer mechanischen Rassel mit einem Smartphone
Vernetztes Smartphone zur Steuerung einer Elektromechanischen melodischen Trommel
KIBA (Kamerasystem segmentiert Spielchips auf Leuchttisch, absolute Positionen werden als Tonereignis in einer zyklischen Phrase interpretiert)
Lichtharfe: Handpositionen der Benutzer erzeugen Klangereignisse
Masken: elektronische Skulpturen
mechatronical_mantra.mp4
Beispiele eingebetteter Echtzeitsysteme (Professionelle Produkte)
- Alle regelungstechnischen Systeme mit Mikroprozessor-basierten elektronischen Komponenten
- Alle autonomen KI-Systeme
- Alle Haushaltsgeräte mit Mikroprozessor-basierten elektronischen Komponenten
|
"Rocket Lab"
ÜBUNG
Diskutieren Sie die nachfolgenden Fragen zunächst in Zweiergruppen.
Im Anschluss werden die Ergebnisse im Plenum zusammengetragen.
- Inwiefern ist die Vision von Marc Weiser des "Ubiquitous Computing" bereits Wirklichkeit geworden und inwiefern reichen die heutigen Systeme nicht an diese Vision heran?
- Verfehlt die aktuelle Entwicklung Weisers Vision, weil die Entwicklung in eine andere Richtung geht, oder wurde ist die Entwicklung schlicht noch nicht so weit? -- Begründen Sie Ihre Meinung.
|
2. Eingebettete Systeme gestern und heute: Die erstaunlichen Maschinen des William Grey Walter
Motivation / Diskussion ... Grey Walter's tortoises 1949
William Grey Walter -- https://en.wikipedia.org/wiki/William_Grey_Walter
Schaltplan der autonomen Schildkröten -- http://davidbuckley.net/DB/HistoryMakers/GreyWalter/Circuits/HowWork.htm
Moderne Diskussion -- https://cyberneticzoo.com/cyberneticanimals/w-grey-walters-tortoises-self-recognition-and-narcissism/
- Was ist ein Mikrocontroller?
- Wozu werden Mikrocontroller verwendet?
- Was ist ein engebettetes System?
- Wer stellt Mikrocontroller her?
- Wie unterscheidet sich ein Mikrocontroller von einem PC?
- Wie zeichnet sich ein Mikrocontroller-Programm aus?
- Was ist ein Cross-Compiler?
- Was ist Maschinen nahes Programmieren?
- Worin liegt der Sinn darin, höhere Programmiersprachen wie C oder C++ zu verwenden?
|
1.1 Mikrocontroller auf Wikipedia
1.2 Foto Dual In Line DIL Bauweise eines ATmega32 von Atmel.
- 2. Durch die Verwendung von Mikrocontrollern werden vormals rein mechanische und elektromechanische Geräte, beispielsweise solche aus dem Haushaltsbereich wie Herd, Kühlschrank usw., zu sehr viel preiswerter herzustellenden anteilig mehr elektronischen Geräten.
|
3. Eingebettete Systeme auf Wikipedia.
"... Im Februar 2021 erklärte die Bundesregierung, nach ihrer Kenntnis seien Lieferengpässe bei Halbleitern
und Halbleiter-Chips für die Automobilindustrie primär entstanden, weil es weltweit nur eine sehr
begrenzte Zahl von Herstellern gebe, welche die von der Automobilindustriebenötigten Halbleiter-Chips fertigten.
Zudem könnten deren Produktionskapazitäten kurzfristig nicht ausgeweitet werden.
Zu Prognosen und Umsatzanalysenbei Halbleitern äußerte die Bundesregierung,
laut Prognosen werde sich der weltweite Umsatz an Halbleiterchips im Jahr 2024 auf 532 Mrd. US Dollar
erhöhen (rund 22% höher als in 2019). Asien (inkl. China) werde mit 62% der größte Chipabnehmer sein,
gefolgt von Amerika mit rund 21% und Europa rund 9%. Aus Sicht der Halbleiterfertigung
(ohne die sog. Foundries -Fertigungsdienstleister) sei die USA mit 50% dominierend am Umsatz beteiligt,
gefolgt von Südkorea (18%), Japan (10%), Europäische Union (9%), Taiwan (6%) und China (5%).
Ein anderes Bild ergebe sich, wenn die Foundries in der Analyse berücksichtigt würden.
Mit rund 76% kontrollierten China, Taiwan, Südkorea und Japan den Halbleiterumsatzmarkt.
Die USA falle mit 11% zurück, gefolgt von der Europäischen Union mit 8% und Singapur mit 5%....
"
zu 4. Quelle: Bundestag Einzelanfrage: Einzelfragen zurHalbleiterproduktion, Seite 10. Web 21.03.2023: https://www.bundestag.de/resource/blob/900450/25b9b36d92928f932b242efc8578386a/WD-5-004-22-pdf-data.pdf
Hersteller in Europa: NXP, ST, Infineon. Japan: Renesas. USA: Microchip.
5.1 Alan Turings Grundkonzept
5.2 Die unterschiedliche Architektur beim PC und beim Mikrocontroller
6. Wesentliches Merkmal eines Mikrocontroller-Programms: Die Loop-Funktion und die Manipulation von Registern.
- 7. Mikrocontroller besitzen in der Regel keine Benutzerschnittstelle wie ein PC. Das Entwickeln und Kompilieren der Programme für einen Mikrocontroller erfolgt darum auf einem PC mit einer Entwicklungsumgebung und einem Cross-Compiler.
|
40_Mikrocontroller/01_Einfuehrung/03_Assemblerbeispiel
ÜBUNG
Diskutieren Sie die nachfolgenden Fragen zunächst in Zweiergruppen.
Im Anschluss werden die Ergebnisse im Plenum zusammengetragen.
- Worin liegen die Vor- und Nachteile heutiger eingebetteter Systeme im Vergleich zu den Maschinen von Walter Grey aus den 1950er Jahren?
|
3. Fallbeispiel Smarthome
12_Technikphilosophie/05_Fallstudien/01_Smart_Home
ÜBUNG
Diskutieren Sie die nachfolgenden Fragen zunächst in Zweierhruppen.
Im Anschluss werden die Ergebnisse im Plenum zusammengetragen.
- Inwieweit ist die Smarthome Technologie durch die Technik der Eingebetteten Systeme bedingt?
- Welche Chancen bietet die Smarthome Technologie für eingeschränkte Personen?
- Welche Möglichkeiten Sehen Sie, Privatheit, Unaufdringlichkeit und Robustheit der Smarthometechnologie zu gewährleiaten?
|
4. Mobile Devices als Eingebettete Systeme: Programmieren einer Smartwatch
06_TWATCH
07_TWATCH_EN
LABOR #1 D.2.08, Donnerstag, 25.09.2025 10:15 bis 13:15Uhr WING / Mittwoch 29.10. 14:00 bis 17:00Uhr AU
- Überblick
- Arbeiten am PC unter Linux
- Projekte in der Arduino IDE
- Beispielprogramme zur Ansteuerung der internen Peripherie
- Projektideen
- Gemeinsame Analyse des Beispielprojektes TWATCH_PROC023
|
1. Überblick
Das folgende sind die internen Peripherien, die bei der Smartwatch programmiert werden können:
- Display
- Touch
- IMU (Inertia Measurement Unit)
- RTC (Real Time Clock)
- WiFi
- Bluetooth
- Button
- Vibration
- Mikrophone
- Loudspeaker
|
Programmierbeispiel: https://youtu.be/xQJAm8CVC_4
T-WATCH sendet Beschleunigungsdaten via WiFi an ein Laptop: https://youtu.be/rJJumsD5vB8
06_TWATCH -- Hauptkapitel zur Smartwatch
06_TWATCH/01_Overview -- Wie die Uhr programmiert wird
06_TWATCH/02_Specifications -- Eigenschaften der verwendeten Uhr
2. Arbeiten am PC unter Linux
Erlernen des Umgangs mit einem PC, auf dem Xubuntu läuft:
- Booten
- Anmelden
- Dateimanager
- Terminal
- Arduino IDE
|
3. Projekte in der Arduino IDE
- Herunterladen eines Projektes
- Entpacken eines Projektes im Projektordner
- Übertragen eines Projektes auf die Uhr
- Anlegen einer Projektkopie unter anderem Namen
- Erzeugen eines Hello World Programms
- Hinweise zur grundlegenden Programmsyntax
|
Übung
- Laden Sie das Projekt TWATCH_PROC023 von nachfolgend angegebener Seite herunter.
- Entpacken Sie das Projekt im Ordner /home/fhbstud/Arduino/
- Starten Sie die Arduino IDE
- Legen Sie eine Kopie des Projektes TWATCH_PROC023 unter anderem Namen an (Datei ... Speichern unter)
- Kopieren Sie in den Haupttab des neu erstellten Projektes das Hello World Programm
- Variieren Sie das Hello World Programm ein wenig und übertragen das Ergebnis auf die Uhr.
|
06_TWATCH/03_Hello_world -- Projekt TWATCH_PROC023 und Hello World Programm.
4. Beispielprogramme zur Ansteuerung der internen Peripherie
06_TWATCH/04_Simplified_Commands
Nachfolgend ist eine Übung und studentische Lösungen aus dem Masterbereich zu sehen:
3. Small programming tasks for using the screen, touchscreen, button, IMU sensor, and real-time clock.
- The list of simplified commands has been expanded specifically for the internal peripheral elements listed here.
- To complete the following tasks, refer to the descriptions and examples here:
|
07_TWATCH_EN/04_Simplified_Commands
Exercise 1: Switsch Background color by pressing the button multiple times between
red, green, blue, red, green, blue, red, ... and so on.
#include "twatch.h"
#include "variables.h"
#include "functions.h"
int state=0;
void setup()
{
setupTWATCH();
backlight(true);
}
void loop()
{
if(button()) {
state++;
if(state > 2){
state=0;
}
switch(state){
case 0:
background(255,0,0);
break;
case 1:
background(0,255,0);
break;
case 2:
background(0,0,255);
break;
}
}
delay(100);
}
Code 0-2: Student solution.
Exercise 2: Program a type of water clock.
The deviation of the clock from the horizontal position should be visualized
graphically by moving a small circle on the display away from the center of the display.
#include "twatch.h"
#include "variables.h"
#include "functions.h"
float skalierung=0.5;
float KreisX=0;
float KreisY=0;
void setup()
{
setupTWATCH();
backlight(true);
}
void loop()
{
bool res = acceleration();
if(KreisX>240){
KreisX=240;
}else if(KreisX<0){
KreisX=0;
}else{
KreisX = 120 - (float)(accY*skalierung);
}
if(KreisY>240){
KreisY=240;
}else if(KreisY<0){
KreisY=0;
}else{
KreisY = 120 + (float)(accX*skalierung);
}
fill(0,0,255);
circle(KreisX,KreisY,20);
delay(50);
clear();
delay(50);
}
Code 0-3: Student solution.
ÜBUNG
- Analysieren Sie die einzelnen Lösungen und testen diese auf der Uhr.
- Schreiben Sie Varianten dieser Lösungen.
|
TWATCH_PROC023_blinken.zip -- studentische Lösung zur Variation des Hello World Programmes.
5. Sammeln von Projektideen
1) Ältere Leute: Wenn sie hinfallen Signal senden,
Tonsignal / WiFi -> Familienmitglied oder Rettungsstelle benachrichtigen
2) Orientierung im Raum:
Wasserwaage
3) Kompass:
Orientierung, Einnorden einer Landkarte
4) Kalender
Erinnerung Tabletteneinnahme / Arzttermin für ältere Leute
Erinnerung Labortermin für Studierende
Code 0-4: Sammeln von Projektideen
- Für das erfolgreiche Absolvieren des Labors soll jede Gruppe eine eigene Anwendung programmieren.
- Im Wesentlichen geschieht dies durch Variation und Kombination der Beispielsnippets und der Verwendung von Teilen aus dem Projekt TWATCH_PROC023.
|
6. Gemeinsame Analyse des Beispielprojektes TWATCH_PROC023
- Bei dem Projekt TWATCH_PROC023 kann über den Button zwischen verschiedenen Betriebsmodi umgeschaltet werden.
- Die einzelenen Modi können getrennt voneinander betrachtet, analysiert und in Teilen in eigenen Projekten verwendet werden.
|
|