Einführungsveranstaltung Informatikpraktikum 2 im SoSe 2025: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „thumb|rigth|450px|Abb. 1: Visualisierung einer Ultraschallmessung '''Autor:''' Prof. Dr.-Ing. Schneider<br> '''Lehrveranstaltung:''' Mechatronik, Informatik Praktikum 2, 2. Semester<br> '''Sprechstunde:''' Montag. 11:00 - 12:00 Uhr, nach Vereinbarung<br> '''Einführungsveranstaltung''': 20. & 23.03.2023<br> == Modulbeschreibung == Die Lehrveranstaltung Informatik Praktikum 2 is…“ |
Keine Bearbeitungszusammenfassung |
||
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Datei:ZeigeZyklischUltraschallMessung.jpg|thumb|rigth|450px|Abb. 1: Visualisierung einer Ultraschallmessung]] | [[Datei:ZeigeZyklischUltraschallMessung.jpg|thumb|rigth|450px|Abb. 1: Visualisierung einer Ultraschallmessung]] | ||
'''Autor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | {|class="wikitable" | ||
'''Lehrveranstaltung:''' Mechatronik, Informatik Praktikum 2, 2. Semester | |- | ||
'''Sprechstunde:''' | | '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | ||
'''Einführungsveranstaltung''': | |- | ||
| '''Modul:''' || Praxismodul II | |||
|- | |||
| '''Lehrveranstaltung:''' || Mechatronik, Informatik Praktikum 2, 2. Semester | |||
|- | |||
| '''Sprechstunde:''' || nach Vereinbarung | |||
|- | |||
| '''Einführungsveranstaltung''': || 27.03.2025 | |||
|} | |||
= Modulbeschreibung = | |||
Die Lehrveranstaltung Informatik Praktikum 2 ist Teil des Moduls '''MTR-B-2-2.11'''. | Die Lehrveranstaltung Informatik Praktikum 2 ist Teil des Moduls '''MTR-B-2-2.11'''. | ||
| Zeile 53: | Zeile 60: | ||
'''Hinweis''': Das Praktikum ist ein Submodul. Haben Sie dies bestanden, bleibt der Status bestanden auch beim Nichtbestehen des Moduls erhalten. | '''Hinweis''': Das Praktikum ist ein Submodul. Haben Sie dies bestanden, bleibt der Status bestanden auch beim Nichtbestehen des Moduls erhalten. | ||
= Informationsplattformen = | |||
Nachfolgende Informationsplattformen finden im Praktikum Anwendung | Nachfolgende Informationsplattformen finden im Praktikum Anwendung | ||
== HSHL-Wiki == | |||
* Aufgabenstellungen | * Aufgabenstellungen | ||
* Anleitungen | * Anleitungen | ||
| Zeile 63: | Zeile 70: | ||
* Downloads | * Downloads | ||
== Versionsverwaltung SVN == | |||
* Demo-Quelltext | * Demo-Quelltext | ||
* Gruppenordner | * Gruppenordner | ||
| Zeile 71: | Zeile 78: | ||
* Datensicherung via TortoiseSVN Client | * Datensicherung via TortoiseSVN Client | ||
= Voraussetzung für die Teilnahme = | |||
* Gruppeneinteilung | * Gruppeneinteilung | ||
* Prüfung des SVN-Zugangs | * Prüfung des SVN-Zugangs | ||
| Zeile 79: | Zeile 86: | ||
* Vorbereitung der Praktika | * Vorbereitung der Praktika | ||
= Gruppeneinteilung = | |||
Die Gruppeneinteilung erfolgt über die Lernplattform | Die Gruppeneinteilung erfolgt über die Lernplattform | ||
= Sicherheitseinweisung = | |||
* Studieren Sie die Sicherheitsunterlagen auf der Lernplattform. | * Studieren Sie die Sicherheitsunterlagen auf der Lernplattform. | ||
* Bestätigen Sie auf der Lernplattform, dass Sie diese studiert und verstanden haben. | * Bestätigen Sie auf der Lernplattform, dass Sie diese studiert und verstanden haben. | ||
* Ohne Sicherheitseinweisung dürfen Sie das Labor nicht betreten. | * Ohne Sicherheitseinweisung dürfen Sie das Labor nicht betreten. | ||
= Erwartungen an die Teilnehmenden = | |||
* Voraussetzungen erfüllen | * Voraussetzungen erfüllen | ||
* Vorbereitung der Termine | * Vorbereitung der Termine | ||
| Zeile 96: | Zeile 103: | ||
* Teilnahme an Gruppenarbeiten | * Teilnahme an Gruppenarbeiten | ||
= Tutorial zum Einstieg = | |||
* [[Software_Plagiat| Was ist ein Plagiat?]] | * [[Software_Plagiat| Was ist ein Plagiat?]] | ||
* [[Einarbeitung_in_die_Versionsverwaltung_SVN|Einarbeitung in die Versionsverwaltung SVN]] | * [[Einarbeitung_in_die_Versionsverwaltung_SVN|Einarbeitung in die Versionsverwaltung SVN]] | ||
| Zeile 114: | Zeile 112: | ||
* [[Medium:Programmierrichtlinie.pdf|Programmierrichtlinien]] | * [[Medium:Programmierrichtlinie.pdf|Programmierrichtlinien]] | ||
= Einstiegsaufgabe = | |||
== Aufgabe 1.1: Softwareplanung == | |||
Planen Sie die Arduino-Software als PAP. | Planen Sie die Arduino-Software als PAP. | ||
'''Arbeitsergebnisse''' in SVN: <code>Softwareplanung_Termin_01.pap</code> | '''Arbeitsergebnisse''' in SVN: <code>Softwareplanung_Termin_01.pap</code> | ||
== Aufgabe 1.2: Positionserfassung mit Ultraschall == | |||
# Lesen Sie die Messwerte des Ultraschall-Sensors auf ein statisches Ziele aus. Schreiben Sie hierzu ein Arduino-Programm <code>messeEntfernung.ino</code>. Messen Sie zyklisch die Zeit mit dem Befehl <code>millis()</code>. | # Lesen Sie die Messwerte des Ultraschall-Sensors auf ein statisches Ziele aus. Schreiben Sie hierzu ein Arduino-Programm <code>messeEntfernung.ino</code>. Messen Sie zyklisch die Zeit mit dem Befehl <code>millis()</code>. | ||
# Messen Sie 10 s auf ein statisches Ziel (z. B. einen Karton) in 30 cm Entfernung. | # Messen Sie 10 s auf ein statisches Ziel (z. B. einen Karton) in 30 cm Entfernung. | ||
| Zeile 135: | Zeile 132: | ||
</div> | </div> | ||
== Aufgabe 1.3: Darstellung und Speicherung in MATLAB<sup>®</sup> == | |||
# Kopieren Sie das Demo [https://svn.hshl.de/usvn/project/Informatikpraktikum_1/show/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E32_DebugTxt2MATLAB/E32_DebugTxt2MATLAB.ino|<code>DemoDebugTxt2MATLAB.ino</code>] in Ihr Arbeitsverzeichnis und passen Sie es an. | # Kopieren Sie das Demo [https://svn.hshl.de/usvn/project/Informatikpraktikum_1/show/trunk/Arduino/ArduinoLibOrdner/AlphaBot/examples/E32_DebugTxt2MATLAB/E32_DebugTxt2MATLAB.ino|<code>DemoDebugTxt2MATLAB.ino</code>] in Ihr Arbeitsverzeichnis und passen Sie es an. | ||
# Laden und visualisieren Sie die Messdaten in <code>Ultraschallmessung.txt</code> mit MATLAB<sup>®</sup>. | # Laden und visualisieren Sie die Messdaten in <code>Ultraschallmessung.txt</code> mit MATLAB<sup>®</sup>. | ||
| Zeile 155: | Zeile 152: | ||
</div> | </div> | ||
== Aufgabe 1.4: Zyklische Messdatenverarbeitung in MATLAB<sup>®</sup> == | |||
# Schreiben Sie die Funktion <code>(fZeit, fEntfernung)=LeseUltraschall(k)</code> und speichern Sie diese in der Datei <code>LeseUltraschall.m</code>. | # Schreiben Sie die Funktion <code>(fZeit, fEntfernung)=LeseUltraschall(k)</code> und speichern Sie diese in der Datei <code>LeseUltraschall.m</code>. | ||
# Laden Sie darin <code>UltraschallMessung.mat</code> einmalig nur bei ersten Durchlauf und speichern Sie <code>fZeit, fEntfernung</code> als persistente Variablen. | # Laden Sie darin <code>UltraschallMessung.mat</code> einmalig nur bei ersten Durchlauf und speichern Sie <code>fZeit, fEntfernung</code> als persistente Variablen. | ||
| Zeile 172: | Zeile 169: | ||
</div> | </div> | ||
== Aufgabe 1.5: Nachhaltige Doku == | |||
Sichern Sie alle Ergebnisse mit beschreibendem Text (<code>message</code>) in SVN. | Sichern Sie alle Ergebnisse mit beschreibendem Text (<code>message</code>) in SVN. | ||
* Halten Sie die Regeln für den [[Software_Versionsverwaltung_mit_SVN|Umgang mit SVN]] ein. | * Halten Sie die Regeln für den [[Software_Versionsverwaltung_mit_SVN|Umgang mit SVN]] ein. | ||
| Zeile 181: | Zeile 178: | ||
'''Arbeitsergebnis''' in SVN: <code>SVN Log</code> | '''Arbeitsergebnis''' in SVN: <code>SVN Log</code> | ||
= Tutorials = | |||
* [https://www.arduino.cc/reference/de/ Arduino Befehlsübersicht] | * [https://www.arduino.cc/reference/de/ Arduino Befehlsübersicht] | ||
* [[MATLAB-Befehle|MATLAB<sup>®</sup> Befehlsübersicht]] | * [[MATLAB-Befehle|MATLAB<sup>®</sup> Befehlsübersicht]] | ||
| Zeile 187: | Zeile 184: | ||
* [[Medium:Programmierrichtlinien_für_Matlab.pdf|Programmierrichtlinien für MATLAB<sup>®</sup>]] | * [[Medium:Programmierrichtlinien_für_Matlab.pdf|Programmierrichtlinien für MATLAB<sup>®</sup>]] | ||
= Demos = | |||
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoUltraschallHCSR04 SVN: <code>DemoUltraschallHCSR04</code>] | * [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoUltraschallHCSR04 SVN: <code>DemoUltraschallHCSR04</code>] | ||
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoDebugTxt2MATLAB/ SVN: <code>DemoDebugTxt2MATLAB</code>] | * [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoDebugTxt2MATLAB/ SVN: <code>DemoDebugTxt2MATLAB</code>] | ||
= FAQ = | |||
* Muss ich die Lösungen selbst programmieren? '''Ja, nur Eigenleistung wird bewertet.''' | * Muss ich die Lösungen selbst programmieren? '''Ja, nur Eigenleistung wird bewertet.''' | ||
* Darf ich die Musterlösung 1:1 kopieren und als meine Leistung ausgeben? '''Nein, das ist ein [[Software_Plagiat|Plagiat]] und wird als Täuschungsversuch gewertet.''' | * Darf ich die Musterlösung 1:1 kopieren und als meine Leistung ausgeben? '''Nein, das ist ein [[Software_Plagiat|Plagiat]] und wird als Täuschungsversuch gewertet.''' | ||
| Zeile 202: | Zeile 195: | ||
---- | ---- | ||
→ Termine [[Einführungsveranstaltung_Informatikpraktikum_2_im_SoSe_2025|1]] [[AlphaBot: | → Termine [[Einführungsveranstaltung_Informatikpraktikum_2_im_SoSe_2025|1]] [[AlphaBot:_Hardware_Support_Package_für_MATLAB|2]] [[AlphaBot: Servo_mit_MATLAB_ansteuern|3]] [[AlphaBot:_Motoren_und_Inkrementalgeber|4]] [[AlphaBot: Programmier-Challenge I SoSe25|5]] [[AlphaBot:_Gesteuerte_Geradeausfahrt|6]] [[AlphaBot: Geregelte Fahrt mit Linienverfolger|7]] [[AlphaBot: Parklücke suchen|8]] [[AlphaBot: Autonomes Einparken|9]] [[AlphaBot: Programmier-Challenge II SoSe25|10]]<br> | ||
→ zurück zum Hauptartikel: [[AlphaBot_SoSe25|Informatik Praktikum 2]] | → zurück zum Hauptartikel: [[AlphaBot_SoSe25|Informatik Praktikum 2]] | ||
Aktuelle Version vom 14. Mai 2025, 20:45 Uhr

| Autor: | Prof. Dr.-Ing. Schneider |
| Modul: | Praxismodul II |
| Lehrveranstaltung: | Mechatronik, Informatik Praktikum 2, 2. Semester |
| Sprechstunde: | nach Vereinbarung |
| Einführungsveranstaltung: | 27.03.2025 |
Modulbeschreibung
Die Lehrveranstaltung Informatik Praktikum 2 ist Teil des Moduls MTR-B-2-2.11.
Qualifikationsziele
Die Studierenden können das an der Hochschule erworbene Wissen in der beruflichen Praxis bzw. in vergleichbaren Aufgabenstellungen anwenden und verfügen daher über eine verbesserte instrumentale Kompetenz. Die Studierenden können praxisorientierte Aufgaben analysieren und geeignete Problemlösungsmethoden im Kontext der Ingenieurdisziplinen anwenden.
Aufbauend auf das Informatik Praktikum 1 können die Studierenden
- strukturiert Software planen und visualisieren.
- mit einem SW-Versionierungstool umgehen.
- komplexe Aufgaben der Informatik systematisch lösen.
- Fehler analysieren und beheben.
- mit dem Simulationstool MATLAB/Simulink umgehen.
- Ergebnisse anschaulich und verständlich präsentieren.
- Ergebnisse nachhaltig dokumentieren.
Inhalte
Informatik Praktikum 2:
- Einführung
- Praktische Umsetzung der Programmierkenntnisse in Projekten
- Dokumentation und Präsentation der Ergebnisse
- In Abhängigkeit der Aufgabenstellungen kann zusätzlich eine Hardwareplattform z. B. Lego Mindstorms/Arduino eingesetzt werden und eine Simulation und Programmierung mit MATLAB®/Simulink erfolgen.
Lehrform des Informatikpraktikum 2
2 SWS Praktikum (2 SWS)
Prüfungsform des Informatikpraktikum 2
- Anwesenheitspflicht an allen Praktikumsterminen (Anwesenheitskontrolle)
- Vorbereitung des Praktikumstags und Überprüfung in Form von mündlichen Antestaten
- Durchführung im Praktikum
- Nachbereitung in Form von Versuchsberichten bzw. Protokollen (Hausarbeit)
Bewertung
- Bewertung der Abgaben anhand der Bewertungskriterien für Software.
- Plagiate (ähnliche Lösungen) werden mit der Note 6.0 bewertet.
- Die Versuche finden chronologisch statt.
- Wer diesen Termin unentschuldigt verpasst, kann dieses Semester nicht am Praktikum teilnehmen. Legen Sie im Krankheitsfall eine ärztliche Bescheinigung bei Prof. Schneider vor.
- Beantworten Sie die Aufgaben im Team und und sichern Sie die Programme/Lösungen in SVN. Wechseln Sie sich bitte bei Upload ab, damit sichtbar ist, dass beide Teammitglieder am Projekt arbeiten. regelmäßige Teilnahme
Workload des Informatikpraktikum 2
| ETCS | Workload gesamt | Präsenz | Selbststudium |
|---|---|---|---|
| 2,5 | 75 h | 30 h | 45 h (3 h/w) |
Hinweis: Das Praktikum ist ein Submodul. Haben Sie dies bestanden, bleibt der Status bestanden auch beim Nichtbestehen des Moduls erhalten.
Informationsplattformen
Nachfolgende Informationsplattformen finden im Praktikum Anwendung
HSHL-Wiki
- Aufgabenstellungen
- Anleitungen
- Bewertungskriterien
- Literaturhinweise
- Links
- Downloads
Versionsverwaltung SVN
- Demo-Quelltext
- Gruppenordner
- Softwareablageort
- Versionsverwaltung
- Kollaboriertes Arbeiten
- Datensicherung via TortoiseSVN Client
Voraussetzung für die Teilnahme
- Gruppeneinteilung
- Prüfung des SVN-Zugangs
- Einarbeitung in SVN
- Einstieg in die Welt des Arduino
- Einführung_in_MATLAB
- Vorbereitung der Praktika
Gruppeneinteilung
Die Gruppeneinteilung erfolgt über die Lernplattform
Sicherheitseinweisung
- Studieren Sie die Sicherheitsunterlagen auf der Lernplattform.
- Bestätigen Sie auf der Lernplattform, dass Sie diese studiert und verstanden haben.
- Ohne Sicherheitseinweisung dürfen Sie das Labor nicht betreten.
Erwartungen an die Teilnehmenden
- Voraussetzungen erfüllen
- Vorbereitung der Termine
- Aktive Teilnahme - Fragen stellen
- Auseinandersetzung mit den Demos
- Teilnahme an allen Terminen
- Pünktlichkeit
- Teilnahme an Gruppenarbeiten
Tutorial zum Einstieg
- Was ist ein Plagiat?
- Einarbeitung in die Versionsverwaltung SVN
- Software Planung mit PAP
- Einstieg in die Welt des Arduino
- Einführung in MATLAB®
- Programmierrichtlinien
Einstiegsaufgabe
Aufgabe 1.1: Softwareplanung
Planen Sie die Arduino-Software als PAP.
Arbeitsergebnisse in SVN: Softwareplanung_Termin_01.pap
Aufgabe 1.2: Positionserfassung mit Ultraschall
- Lesen Sie die Messwerte des Ultraschall-Sensors auf ein statisches Ziele aus. Schreiben Sie hierzu ein Arduino-Programm
messeEntfernung.ino. Messen Sie zyklisch die Zeit mit dem Befehlmillis(). - Messen Sie 10 s auf ein statisches Ziel (z. B. einen Karton) in 30 cm Entfernung.
- Nutzen Sie das Programm Putty, um die Daten der seriellen Schnittstelle in der ASCII-Datei
UltraschallMessung.txtzu speichern. Eine Anleitung finden Sie unter der URL Einrichtung von PuTTY. - Schreiben Sie einmalig als Header die Bezeichnung der Messwerte Zeit in ms und Strecke in cm in die Textdatei.
Nützliche Befehle: pinMode(), digitalWrite(), pulseIn(), delayMicroseconds(), millis()
Arbeitsergebnisse in SVN: UltraschallMessung.txt, messeEntfernung.ino
Tipp: Nutzen Sie das Demoprogramm DemoUltraschallHCSR04 als Programmierstart.
Aufgabe 1.3: Darstellung und Speicherung in MATLAB®
- Kopieren Sie das Demo
DemoDebugTxt2MATLAB.inoin Ihr Arbeitsverzeichnis und passen Sie es an. - Laden und visualisieren Sie die Messdaten in
Ultraschallmessung.txtmit MATLAB®. - Sichern Sie die Achsenbeschriftung im 2x1 Cell-Array
stTitel. - Stellen Sie die Messdaten in einem Diagramm in cm über der Zeit in s dar.
- Beschriften Sie die Graphen.
- Speichern Sie die Messung in der Datei
UltraschallMessung.mat.
Nützliche Befehle: plot, xlabel, ylabel, save
Arbeitsergebnisse in SVN: zeigeUltraschallMessung.m, UltraschallMessung.mat
Gegeben (vgl. Abb. 1):
fZeit: 1x100 Messwertarray der Zeit in sfMesswerte: 1x100 Messwertarray der Ultraschallwerte in cm
save('UltraschallMessung.mat','fZeit',fMesswerte','stTitel')
Aufgabe 1.4: Zyklische Messdatenverarbeitung in MATLAB®
- Schreiben Sie die Funktion
(fZeit, fEntfernung)=LeseUltraschall(k)und speichern Sie diese in der DateiLeseUltraschall.m. - Laden Sie darin
UltraschallMessung.mateinmalig nur bei ersten Durchlauf und speichern SiefZeit, fEntfernungals persistente Variablen. (fZeit, fEntfernung)=LeseUltraschall(k)gibt zwei Werte fZeit(k) und fEntfernung(k) zurück (z. B. [0 30] für 0 s und 30 m).- Schreiben Sie das Rahmenprogramm
zeigeZyklischUltraschallMessung.m, welchesLeseUltraschallzyklisch aufruft. - Stellen Sie im Rahmenprogramm die Messdaten in einem Diagramm in cm über der Zeit in s dar.
- Beschriften Sie den Graphen entsprechend Abb. 1.
Nützliche Befehle: plot, xlabel, ylabel, load, global, persistent, isempty, for, function
Arbeitsergebnisse in SVN: zeigeZyklischUltraschallMessung.m, LeseUltraschall.m
Aufgabe 1.5: Nachhaltige Doku
Sichern Sie alle Ergebnisse mit beschreibendem Text (message) in SVN.
- Halten Sie die Regeln für den Umgang mit SVN ein.
- Halten Sie die Programmierrichtlinie für C und die Programmierrichtlinien für MATLAB® ein.
- Versehen Sie jedes Programm mit einem Header (Header Beispiel für MATLAB, Header Beispiel für C).
- Kommentiere Sie den Quelltext umfangreich.
Arbeitsergebnis in SVN: SVN Log
Tutorials
- Arduino Befehlsübersicht
- MATLAB® Befehlsübersicht
- Programmierrichtlinie für C
- Programmierrichtlinien für MATLAB®
Demos
FAQ
- Muss ich die Lösungen selbst programmieren? Ja, nur Eigenleistung wird bewertet.
- Darf ich die Musterlösung 1:1 kopieren und als meine Leistung ausgeben? Nein, das ist ein Plagiat und wird als Täuschungsversuch gewertet.
→ Termine 1 2 3 4 5 6 7 8 9 10
→ zurück zum Hauptartikel: Informatik Praktikum 2
