Arduino Praxiseinstieg: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
 
(82 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 43: Zeile 43:
* Für die '''Erstsemester''' im WS 22/23 greift das [[Projekt Mechatronik-Baukasten|Projekt "Mechatronik-Baukasten"]] mit freundlicher Unterstützun der [http://www.agl-lippstadt.de/ Akademische Gesellschaft in Lippstadt]. Sie müssen daher keine Hardware beschaffen.
* Für die '''Erstsemester''' im WS 22/23 greift das [[Projekt Mechatronik-Baukasten|Projekt "Mechatronik-Baukasten"]] mit freundlicher Unterstützun der [http://www.agl-lippstadt.de/ Akademische Gesellschaft in Lippstadt]. Sie müssen daher keine Hardware beschaffen.
* Für alle höhersemestrigen Studierenden stehen in der Praktikumszeit und im Tutorium Mechatronik-Baukästen im Labor zur Verfügung.
* Für alle höhersemestrigen Studierenden stehen in der Praktikumszeit und im Tutorium Mechatronik-Baukästen im Labor zur Verfügung.
 
<!--
=== Zusätzlichen Baukasten kaufen ===
=== Zusätzlichen Baukasten kaufen ===
Dieses Lernset können Sie in dieser Ausstattung beispielsweise im [https://funduinoshop.com Funduino Shop] kaufen.
Dieses Lernset können Sie in dieser Ausstattung beispielsweise im [https://funduinoshop.com Funduino Shop] kaufen.
Benötigen Sie ein zusätzliche Mechatronik-Baukasten, so schreiben Sie bitte eine [[https://funduinoshop.com/kontaktformular E-Mail]] bis zum 01.10.2022 an Funduino und beziehen sich auf die '''Rechnung 220877888 Funduino Kit für die HSHL'''.
Benötigen Sie ein zusätzliche Mechatronik-Baukasten, so schreiben Sie bitte eine [[https://funduinoshop.com/kontaktformular E-Mail]] bis zum 01.10.2022 an Funduino und beziehen sich auf die '''Rechnung 220877888 Funduino Kit für die HSHL'''.
Dieser Starterbaukasten wurde speziell für die HSHL zusammengestellt.  Er wird in dieser Bestückung nur bis zum 1.10.2022 beim Händler vorgehalten.
Dieser Starterbaukasten wurde speziell für die HSHL zusammengestellt.  Er wird in dieser Bestückung nur bis zum 1.10.2022 beim Händler vorgehalten.
-->


== Auftaktveranstaltung ==
== Auftaktveranstaltung ==
Zeile 61: Zeile 62:


== Lektionen ==
== Lektionen ==
# [[Einarbeitung_in_die_Versionsverwaltung_SVN|Einarbeitung in SVN]]
{| class="wikitable"
# [[Einstieg in die Welt des Arduino]]
|-
! #   !! Termin  !! Thema
|-
| 0  || 19.09.22 || [[Einführungsveranstaltung Informatikpraktikum 1 im WS 2022|Einführungsveranstaltung]]
|-
| 1  || 26.09.22 || [[Einarbeitung_in_die_Versionsverwaltung_SVN|Einarbeitung in SVN]]
|-
|  || 03.10.22 || ''Feiertag''
|-
| 2  || 10.10.22 || [[Einstieg in die Welt des Arduino]]
|-
| 3  || 17.10.22 || [[Arduino: Taster auswerten und LEDs ansteuern|Taster auswerten und LEDs ansteuern]]
|-
| 4  || 24.10.22 || [[Arduino: Sensoren einlesen|Sensoren einlesen]] (Bewegung, LDR, Drehpoti)
|-
| 5  || 31.10.22 || [[Arduino: Infrarotsensor einlesen|Infrarotsensor einlesen]]
|-
| 6  || 07.11.22 || [[Arduino: Infrarotsensor entstören|Infrarotsensor entstören]]
|-
| 7  || 14.11.22 || [[Arduino: IR-Theremin|IR-Theremin]]
|-
| 8  || 21.11.22 || [[Arduino: Aktoren|Aktoren ansteuern]]
|-
| 9  || 28.11.22 || [[Arduino: LCD Display mit I2C Schnittstelle|LCD Display mit I²C Schnittstelle]]
|-
| 10  || 05.12.22 || [[Arduino: Ultraschall Entfernungsmessung|Ultraschall Entfernungsmessung]]
|-
| 11  || 12.12.22 || [[Arduino: Ultraschallsensor entstören|Ultraschallsensor entstören]]
|-
| 12  || 19.12.22 || [[Arduino: Temperaturmessung mit NTC und PTC|Temperaturmessung mit NTC und PTC]]
|-
|  || 26.12.22 || ''Feiertag''
|-
| 13  || 02.01.23 || [[Arduino: Programmier-Challenge I WS2022|Programmier-Challenge I]]
|-
| 14  || 09.01.23 || [[Arduino: Programmier-Challenge II WS2022|Programmier-Challenge II]]
|-
|}
Die Aufgaben der Programmier-Challenge werden am Termin für Sie bereitgestellt. Lösen Sie diese Challenge in Ihrem Team. Auf diese Weise können Sie sich Bonuspunkte für das Praktikum erarbeiten oder einen Termin, den Sie wegen Krankheit verpasst haben, ausgleichen.


== Tutorium ==
== Tutorium ==
Für das Praktikum gibt es ein begleitendes Tutorium. Alle Informationen hierzu finden Sie auf der [https://mymoodle.hshl.de/course/view.php?id=37341 Lernplattform].
Für das Praktikum gibt es ein begleitendes Tutorium. Alle Informationen hierzu finden Sie auf der [https://mymoodle.hshl.de/course/view.php?id=37341 Lernplattform]. Nutzen Sie bitte dieses Angebot.


== Video Tutorials ==
== Video Tutorials ==
Zeile 80: Zeile 119:
# Besuchen Sie die Einführungsveranstaltung.
# Besuchen Sie die Einführungsveranstaltung.
# Wenden Sie sich bei Rückfragen an Prof. Schneider (Tel. 806).
# Wenden Sie sich bei Rückfragen an Prof. Schneider (Tel. 806).
# Die Gruppeneinteilung (InfA, InfB) findet am Freitag vor Studienbetginn statt. Sollten Sie die Eintragung verpasst haben, wenden Sie sich direkt an das ZfW.
# Die Gruppeneinteilung (Inf1_A, Inf1_B) findet am Freitag vor Studienbeginn statt. Sollten Sie die Eintragung verpasst haben, wenden Sie sich direkt an das ZfW.
# Studieren Sie die Teilnahmebedingungen und stimmen Sie diesen zu.
# Studieren Sie die Teilnahmebedingungen und stimmen Sie diesen zu.
# Bereiten Sie den ersten Praktikumstwermin vor.
# Bereiten Sie den ersten Praktikumstermin vor.
# Lösen Sie die Aufgaben des ersten Aufgabenzettels und sichern Sie die Ergebnisse in SVN. Spätester Abgabetermin: Tag vor Ihrem Praktikum.
# Arbeiten Sie sich in die [[Software_Versionsverwaltung_mit_SVN|Versionskontrolle Subversion (SVN)]] ein.
# Lösen Sie die Aufgaben des ersten Aufgabenzettels und sichern Sie die Ergebnisse in Subversion (SVN). Spätester Abgabetermin: Tag vor Ihrem Praktikum.
# Stellen Sie Fragen zu den Aufgaben frühzeitig.
# Stellen Sie Fragen zu den Aufgaben frühzeitig.
# Erscheinen Sie pünktlich zum jedem Praktikumstemin.  
# Erscheinen Sie pünktlich zum jedem Praktikumstermin.  
# Die Bewertung erfolgt auf Basis Ihrer Vor-, Nachbereitung und dem Praktikumsgespräch.
# Die Bewertung erfolgt auf Basis Ihrer Vor-, Nachbereitung und dem Praktikumsgespräch.
# Lesen Sie den [[Arduino]]-Einstiegsartikel im HSHL-Wiki.


== Praktikumsordnung ==
== Praktikumsordnung ==
# '''An jedem Praktikumstermin herrscht Anwesenheitspflicht'''.
# Jeder Praktikumstermin ist vor Beginn unter Hinzunahme geeigneter Literatur gründlich und vollständig vorzubereiten.
# Jeder Praktikumstermin ist vor Beginn unter Hinzunahme geeigneter Literatur gründlich und vollständig vorzubereiten.
# Bearbeiten Sie alle Lernzielkontrollfragen wissenschaftlich/technisch tiefgründig.
# Bearbeiten Sie alle Lernzielkontrollfragen wissenschaftlich/technisch tiefgründig.
Zeile 94: Zeile 136:
# Bei selbst verschuldetem Spät- oder Nichterscheinen kann Ihnen das Praktikum nicht anerkannt werden. Unentschuldigtes Fernbleiben führt zum Ausschluss vom Praktikum.
# Bei selbst verschuldetem Spät- oder Nichterscheinen kann Ihnen das Praktikum nicht anerkannt werden. Unentschuldigtes Fernbleiben führt zum Ausschluss vom Praktikum.
# Sichern Sie Ihre Ergebnisse in Ihrem SVN-Teamordner: <code>https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS2223/Inf1P_#/Inf1P_#/Praktikum_#</code> spätestens einen Tag vor ihrem Praktikumstermin.
# Sichern Sie Ihre Ergebnisse in Ihrem SVN-Teamordner: <code>https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS2223/Inf1P_#/Inf1P_#/Praktikum_#</code> spätestens einen Tag vor ihrem Praktikumstermin.
# Legen Sie pro Termin einen Arbeitsordner in SVN an (z.&thinsp;B. Termin_1, Termin_2,...).
# Legen Sie pro Termin einen Arbeitsordner in SVN an (z.&thinsp;B. Termin_01, Termin_02,...).
# Beachten Sie beim Arbeiten mit SVN die Grundregeln: [[Software_Versionsverwaltung_mit_SVN|Software Versionsverwaltung mit SVN]].
# Beachten Sie beim Arbeiten mit SVN die Grundregeln: [[Software_Versionsverwaltung_mit_SVN|Software Versionsverwaltung mit SVN]].
# Arbeiten Sie nachhaltig in SVN mit Header, Kommentaren und ggf. technischen Dokumentationen.
# Arbeiten Sie nachhaltig in SVN mit Header, Kommentaren und ggf. technischen Dokumentationen.
# Die geltenden Programmierrichtlinien finden Sie in SVN: <code>https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Aufgaben/AlphaBot/Namenskonventionen.pdf</code>.
# Richten Sie sich beim Programmieren nach den [[Medium:Programmierrichtlinie.pdf|Programmierrichtlinien]].
# Beider Teammitglieder müssen Lösungsanteile in SVN sichern. Dies übt das kollaborierte Arbeiten mit einer Versionsverwaltung.
# 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. Dies übt das kollaborierte Arbeiten mit einer Versionsverwaltung.
# Die Praktikums- bzw. Teamarbeit unterliegt den allgemeinen Regeln des wissenschaftlichen Arbeitens und erfordert die Integrität der (Team-) Mitglieder untereinander sowie deren Ehrlichkeit und Fairness im gegenseitigen Umgang. Besonders hervorzuheben ist der Schutz des geistigen Eigentums. Die Wieder- und Weiterverwendung der Erkenntnisse Dritter ist statthaft, sofern direkt oder indirekt auf die verwandten Quellen verwiesen wird. Eine vorsäatzliche Zuwiderhandlung führt zum Ausschluss des Teams und somit zum Nicht-Bestehen des Praktikums. Alle Teams, die identischen Quellcode präsentieren, werden vom Praktikum ausgeschlossen.
# Die Praktikums- bzw. Teamarbeit unterliegt den allgemeinen Regeln des wissenschaftlichen Arbeitens und erfordert die Integrität der (Team-) Mitglieder untereinander sowie deren Ehrlichkeit und Fairness im gegenseitigen Umgang. Besonders hervorzuheben ist der Schutz des geistigen Eigentums. Die Wieder- und Weiterverwendung der Erkenntnisse Dritter ist statthaft, sofern direkt oder indirekt auf die verwandten Quellen verwiesen wird. Eine vorsätzliche Zuwiderhandlung ([https://de.wikipedia.org/wiki/Plagiat Plagiat], [[Software Plagiat]]) führt zum Ausschluss des Teams und somit zum Nicht-Bestehen des Praktikums. Alle Teams, die identischen Quellcode oder 1:1 den Quelltext der Beispiellösung präsentieren, werden vom Praktikum ausgeschlossen.
# Wenden Sie sich bei Fragen frühzeitig an die Tutoren, Herrn Ebmeyer (Tel. -847) oder Prof. Schneider (Tel. -806).
# Die Beispiellösungen in [5] dienen Ihnen als Orientierung/roter Faden für ein Konzept (z.&thinsp;B. [[Software Planung|Programmablaufpläne (PAP)]]). Programmieren Sie Ihre Lösung eigenständig '''ohne die Beispiellösungen zu kopieren'''.
# Wenden Sie sich bei Fragen frühzeitig an die Tutoren, Herrn Ebmeyer (Tel. -847) oder Prof. Schneider (Tel. -806).  
# Für die Teilnahme am Praktikum benötigen Sie die Sicherheitseinweisung in das Labor L3.1-E02-180 (Robotik).
# Für die Teilnahme am Praktikum benötigen Sie die Sicherheitseinweisung in das Labor L3.1-E02-180 (Robotik).
# Für die Praktikumstermine benötigen Sie pro Team einen [[HSHL-Mechatronik-Baukasten]]. Bringen Sie diesen funktionsbereit zu den Terminen mit.
# Für die Praktikumstermine benötigen Sie pro Team einen [[HSHL-Mechatronik-Baukasten]]. Bringen Sie diesen funktionsbereit zu den Terminen mit.
# Die Verwendung von USB-Sticks ist im Labor untersagt.
# Die Verwendung von USB-Sticks und eigenen Computern ist im Labor untersagt.
 
== Vor- und Nachbereitung ==
* Jeder Praktikumstermin muss vorbereitet werden. Sichern Sie die geforderten Informationen bis zum '''Sonntag vor''' dem Praktikum bis 18:00 Uhr in SVN.
* Sollten Sie die Praktikumsziele im Praktikum nicht erreicht haben, können Sie diese bis '''Freitag nach''' dem Praktikum bis 18:00 Uhr in SVN nachholen.
 
{| class="wikitable"
|+ Bewertungskriterien für die Vorbereitung
|-
! #  !! Kriterium
|-
| 1  || Wurden die Lernzielkontrollfragen in einem PDF beantwortet?
|-
| 2a  || Wurden die [[Software Planung|Programmablaufpläne (PAP)]] erstellt und abgelegt?
|-
| 2b || Passen die PAPs 100% zum Programm?
|-
| 2c  || Haben die PAPs den Namen der Funktion (z.&thinsp;B. messeSensor.ino und nicht Hauptprogramm)?
|-
| 2d  || Hat jedes PAP einen Header mit Autoren, Datum
|-
| 2e  || Ist das PAP korrekt/sinnvoll?
|-
| 2f  || Ist das PAP verständlich? Wurden erläuternde Kommentare verwendet?
|-
| 3  || Wurden ggf. Vorübungen durchgeführt und in SVN gesichert?
|-
|}
 
{| class="wikitable"
|+ Bewertungskriterien für die Nachbereitung
|-
! #  !! Kriterium
|-
| 4a  || Wurden die Regeln für den [[Software_Versionsverwaltung_mit_SVN#Grundregeln_im_Umgang_mit_SVN|Umgang mit SVN]] eingehalten?
|-
| 4b  || Haben beide Teamteilnehmer etwas in SVN gesichert?
|-
| 4c || Wurden sinnvolle Kommentare als Log Message hinterlassen?
|-
| 5  || Wurde die Programmierrichtlinie eingehalten?
|-
| 6  || Haben die Programme einen Header?
|-
| 7  || Wurden der Quelltext umfangreich kommentiert?
|-
| 8  || Sortieren Sie Ihre Ergebnisse in Ordnern mit führenden Null (z.&thinsp;B.<code>Termin_01\Aufgabe_1_1</code>).
|-
|}


== Ablauf des Praktikums ==
== Ablauf des Praktikums ==
Zeile 109: Zeile 200:
# Wählen Sie als Zweierteam einen Rechnerarbeitsplatz aus.
# Wählen Sie als Zweierteam einen Rechnerarbeitsplatz aus.
<!--# Logen Sie sich zur Corona Nachverfolgung mit Labor und Sitzplatz in anny ein.-->
<!--# Logen Sie sich zur Corona Nachverfolgung mit Labor und Sitzplatz in anny ein.-->
# Nutzen Sie die ausschließlich Rechner im Roboterlabor. Schalten Sie diese am Schalter an der Dockingstation ein. Das Notebook bleibt geschlossen, damit Sie beide Monitore verwenden können.
# Nutzen Sie ausschließlich die Rechner im Roboterlabor. Schalten Sie diese am Schalter an der Dockingstation ein. Das Notebook bleibt geschlossen, damit Sie beide Monitore verwenden können.
# Loggen Sie sich als <code>.\hshl-user</code>. auf den Rechnern an.
# Loggen Sie sich als <code>.\hshl-user</code>. auf den Rechnern an.
# Machen Sie mit SVN Checkout eine Kopie des SVN Servers auf Ihr Gruppenarbeitsverzeichnes. Der lokale Ordner lautet <code>.D:\SVN\Inf1P\A1</code>. für die Gruppe A1. Arbeiten Sie ausschließlich in diesem Ordner.
# Machen Sie mit SVN Checkout eine Kopie des SVN Servers auf Ihr Gruppenarbeitsverzeichnes. Der lokale Ordner lautet <code>D:\SVN\Inf1P\A1</code>. für die Gruppe A1. Arbeiten Sie ausschließlich in diesem Ordner.
# Führen Sie am Praktikumstermin Ihre Lösungen vor. Prof. Schneider hilft Ihnen, falls Sie Probleme haben.
# Führen Sie am Praktikumstermin Ihre Lösungen vor. Prof. Schneider hilft Ihnen, falls Sie Probleme haben.
# Jeder Versuchsteil wird mit Punkten bewertet.
# Jeder Versuchsteil wird mit Punkten bewertet.
# Sichern Sie Ihre Ergebnisse mit SVN Commit auf dem SVN Server. Nur gesicherte Ergebnisse werden bewertet.
# Sichern Sie Ihre Ergebnisse mit SVN Commit auf dem SVN Server. Nur gesicherte Ergebnisse werden bewertet.
# Löschen Sie Ihre Nutzerdaten und Ihre Login-Daten.
# Fahren Sie den Rechner herunter und hinterlassen Sie das Praktikum ordentlich für die nächste Gruppe.
# Fahren Sie den Rechner herunter und hinterlassen Sie das Praktikum ordentlich für die nächste Gruppe.
== Codereferenz ==
Wenn Sie Arduino-Einsteiger sind finden Sie [https://www.arduino.cc/reference/de/ hier] die gängigsten Befehle.
== Arduino Simulator ==
* [https://www.tinkercad.com/ Thinkercad]
* [https://create.arduino.cc/projecthub/Hack-star-Arduino/tinkercad-versus-wokwi-arduino-simulator-2022-5ab08d?ref=user&ref_id=1743724&offset=58 WOKWI]
* [https://all3dp.com/2/best-arduino-simulators-online-offline/ Liste der besten Arduino Simulatoren]


== Literatur ==
== Literatur ==
# Banzi, M.; Shiloh, M.: ''Arduino für Einsteiger''. Köln: O'Reilly Verlag, 3. Auflage 2015. ISBN: 978-3-95875-055-5
# Brühlmann, T: ''Arduino Praxiseinstieg''. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: [https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=125816&query_desc=kw%2Cwrdl%3A%20arduino HSHL-Bib], [https://learning.oreilly.com/library/view/arduino-praxiseinstieg/9783747500569/ O'Reilly]
# Brühlmann, T: ''Arduino Praxiseinstieg''. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: [https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=125816&query_desc=kw%2Cwrdl%3A%20arduino HSHL-Bib], [https://learning.oreilly.com/library/view/arduino-praxiseinstieg/9783747500569/ O'Reilly]
# Brühlmann, T.: ''Sensoren im Einsatz mit Arduino''. Frechen: mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: [https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=130719&query_desc=kw%2Cwrdl%3A%20Br%C3%BChlmann HSHL-Bib], [https://learning.oreilly.com/library/view/sensoren-im-einsatz/9783958451520/?ar O'Reilly]
# Brühlmann, T.: ''Sensoren im Einsatz mit Arduino''. Frechen: mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: [https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=130719&query_desc=kw%2Cwrdl%3A%20Br%C3%BChlmann HSHL-Bib], [https://learning.oreilly.com/library/view/sensoren-im-einsatz/9783958451520/?ar O'Reilly]
# Funduino: ''Anleitungen für Arduino''. URL: [https://funduino.de/anleitungen]
# c't Make: ''Arduino Special''. In: Hannover: Heise Verlag, 2/2017
# Snieders, R.: ''ARDUINO lernen''. Nordhorn: 8. Auflage 2022. URL: [https://funduino.de/vorwort https://funduino.de/anleitungen]
# Schneider, U.: ''Programmierrichtlinie für für die Erstellung von Software in C.'' Lippstadt, 1. Auflage 2022. [[Medium:Programmierrichtlinie.pdf|PDF-Dokument (212&thinsp;kb)]]


== Symbole ==
<!-- == Symbole ==
Die Aufgaben sind mit nachfolgenden Symbolen markiert.
Die Aufgaben sind mit nachfolgenden Symbolen markiert.
{| class="wikitable"
{| class="wikitable"
Zeile 132: Zeile 235:
| [[Datei:Arduino Logo.png |80px]] || Lösen Sie die Aufgabe mit der Arduino IDE.
| [[Datei:Arduino Logo.png |80px]] || Lösen Sie die Aufgabe mit der Arduino IDE.
|-
|-
| [[Datei:hausaufgaben1.jpg|80px]] || Lösen Sie diese Aufgabe mit dem PAP-Designer.
| [[Datei:PAP_Designer.png|80px]] || Lösen Sie diese Aufgabe mit dem PAP-Designer.
|-
|-
| [[Datei:yED.png|80px]] || Lösen Sie diese Aufgabe mit dem yEd Graph Editor.
| [[Datei:yED.png|80px]] || Lösen Sie diese Aufgabe mit dem yEd Graph Editor.
|-
|-
|}
|}
-->
== Nützliche Links ==
* [https://www.c-howto.de c-HowTo (Deutsche Anleitung)]
* [https://homepage.ruhr-uni-bochum.de/patrick.laskowski/pic/skript.pdf Programmieren in C]
* [[Software_Plagiat| Was ist ein Plagiat?]]
* [[Software_Planung| Was ist ein PAP?]]
* [[Medium:Programmierrichtlinie.pdf|Programmierrichtlinien]]


== Förderung ==
== Förderung ==
Zeile 147: Zeile 258:
<br>
<br>
Wir bedanken uns für die Unterstützung!
Wir bedanken uns für die Unterstützung!
== 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 [[Software_Plagiat|Plagiat]] und wird als Täuschungsversuch gewertet.'''
* Muss ich zu allen Praktikumsterminen pünktlich erscheinen? '''Ja, bei Praktika besteht Anwesenheitspflicht.'''
----
----
→ zurück zum Hauptartikel: [[Informatikpraktikum_MTR|Informatikpraktikum 1]]<br>
→ zurück zum Hauptartikel: [[Informatikpraktikum_MTR|Informatikpraktikum 1]]<br>

Aktuelle Version vom 12. September 2024, 13:55 Uhr

Abb. 1: Lernset - Einsteiger Kit für Arduino

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatikpraktikum, 1. Semester, Wintersemester

Lernziele

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. Das Praktikum dient als Ergänzung zur Vorlesung Informatik 1 und Sie soll an praktischen Beispielen Ihre Fachkenntnisse zur Anwendung bringen.

Nach erfolgreicher Teilnahme am Praktikum können Sie:

  • Aufgaben in Kleingruppen bearbeiten.
  • strukturiert Software planen.
  • mit einem SW-Versionierungstool umgehen.
  • Aufgaben der Informatik systematisch lösen.
  • mit einem SW-Entwicklungstool umgehen.
  • Ergebnisse zur einem Abgabetermin hin erstellen (Projekt- und Zeitmanagement), anschaulich und verständlich präsentieren sowie nachhaltig dokumentieren.
  • eine mechatronische System mit der Mikrokontrollerplattform Arduino in der Sprache C programmieren.

Prüfungsform

  • Anwesenheitspflicht an allen Praktikumsterminen (Anwesenheitskontrolle)
  • Vorbereitung des Praktikumstags und Überprüfung in Form von mündlichen Antestaten
  • 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.

Workload

ETCS Workload gesamt Präsenz Selbststudium
2,5 75 h 30 h 45 h

Hardware

Für diese Lehrveranstastung benötigen Sie das Lernset - Einsteiger Kit für Arduino (vgl. Abb. 1).

Auftaktveranstaltung

Datum: 19.09.2022
Uhrzeit: 08:15 Uhr
Ort: Labor Robotik L3.1-E02-180

  • Die Einführungsveranstaltung ist für alle Teilnehmer aller Gruppen verpflichtend.
  • Am Einführungstermin findet die Themeneinführung und die Sicherheitsbelehrung statt.
  • Studieren Sie die Sicherheitsunterlagen und stimmen Sie diesen zu. Ohne Sicherheitsbelehrung können Sie nicht im Labor arbeiten.
  • Die Gruppeneinteilung findet allgemein statt.


Lektionen

# Termin Thema
0 19.09.22 Einführungsveranstaltung
1 26.09.22 Einarbeitung in SVN
03.10.22 Feiertag
2 10.10.22 Einstieg in die Welt des Arduino
3 17.10.22 Taster auswerten und LEDs ansteuern
4 24.10.22 Sensoren einlesen (Bewegung, LDR, Drehpoti)
5 31.10.22 Infrarotsensor einlesen
6 07.11.22 Infrarotsensor entstören
7 14.11.22 IR-Theremin
8 21.11.22 Aktoren ansteuern
9 28.11.22 LCD Display mit I²C Schnittstelle
10 05.12.22 Ultraschall Entfernungsmessung
11 12.12.22 Ultraschallsensor entstören
12 19.12.22 Temperaturmessung mit NTC und PTC
26.12.22 Feiertag
13 02.01.23 Programmier-Challenge I
14 09.01.23 Programmier-Challenge II

Die Aufgaben der Programmier-Challenge werden am Termin für Sie bereitgestellt. Lösen Sie diese Challenge in Ihrem Team. Auf diese Weise können Sie sich Bonuspunkte für das Praktikum erarbeiten oder einen Termin, den Sie wegen Krankheit verpasst haben, ausgleichen.

Tutorium

Für das Praktikum gibt es ein begleitendes Tutorium. Alle Informationen hierzu finden Sie auf der Lernplattform. Nutzen Sie bitte dieses Angebot.

Video Tutorials

Mit den folgenden Video Tutorial lernen Sie spielend leicht und kostenlos den Einstieg in die Arduino-Welt:

  • Thomas Rode - Arduino Grundkurs bei LinkedIn
  • Thomas Rose - Arduino: Kleine Projekte spielerisch umsetzen bei LinkedIn
  • Thomas Rose - Lichtsteuerung mit dem Arduino bei LinkedIn

Den kostenlosen Zugang zum LinkedIN Portal erhalten Sie über den Bibliothekskatalog unter dem Reiter "Literatur und Fachdatenbanken".

KEINE PANIK!

  1. Besuchen Sie die Einführungsveranstaltung.
  2. Wenden Sie sich bei Rückfragen an Prof. Schneider (Tel. 806).
  3. Die Gruppeneinteilung (Inf1_A, Inf1_B) findet am Freitag vor Studienbeginn statt. Sollten Sie die Eintragung verpasst haben, wenden Sie sich direkt an das ZfW.
  4. Studieren Sie die Teilnahmebedingungen und stimmen Sie diesen zu.
  5. Bereiten Sie den ersten Praktikumstermin vor.
  6. Arbeiten Sie sich in die Versionskontrolle Subversion (SVN) ein.
  7. Lösen Sie die Aufgaben des ersten Aufgabenzettels und sichern Sie die Ergebnisse in Subversion (SVN). Spätester Abgabetermin: Tag vor Ihrem Praktikum.
  8. Stellen Sie Fragen zu den Aufgaben frühzeitig.
  9. Erscheinen Sie pünktlich zum jedem Praktikumstermin.
  10. Die Bewertung erfolgt auf Basis Ihrer Vor-, Nachbereitung und dem Praktikumsgespräch.
  11. Lesen Sie den Arduino-Einstiegsartikel im HSHL-Wiki.

Praktikumsordnung

  1. An jedem Praktikumstermin herrscht Anwesenheitspflicht.
  2. Jeder Praktikumstermin ist vor Beginn unter Hinzunahme geeigneter Literatur gründlich und vollständig vorzubereiten.
  3. Bearbeiten Sie alle Lernzielkontrollfragen wissenschaftlich/technisch tiefgründig.
  4. Teilnehmer*innen, die zugewiesene Praktikumstermine nicht wahrnehmen können, haben dies frühzeitig mitzuteilen und einen schriftliche Prüfungsunfähigkeitsbescheinigung vorzulegen. Sie müssen auf spätere Termine, ggf. in einem späteren Semester, verwiesen werden.
  5. Bei selbst verschuldetem Spät- oder Nichterscheinen kann Ihnen das Praktikum nicht anerkannt werden. Unentschuldigtes Fernbleiben führt zum Ausschluss vom Praktikum.
  6. Sichern Sie Ihre Ergebnisse in Ihrem SVN-Teamordner: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Gruppen/Gruppen_WS2223/Inf1P_#/Inf1P_#/Praktikum_# spätestens einen Tag vor ihrem Praktikumstermin.
  7. Legen Sie pro Termin einen Arbeitsordner in SVN an (z. B. Termin_01, Termin_02,...).
  8. Beachten Sie beim Arbeiten mit SVN die Grundregeln: Software Versionsverwaltung mit SVN.
  9. Arbeiten Sie nachhaltig in SVN mit Header, Kommentaren und ggf. technischen Dokumentationen.
  10. Richten Sie sich beim Programmieren nach den Programmierrichtlinien.
  11. 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. Dies übt das kollaborierte Arbeiten mit einer Versionsverwaltung.
  12. Die Praktikums- bzw. Teamarbeit unterliegt den allgemeinen Regeln des wissenschaftlichen Arbeitens und erfordert die Integrität der (Team-) Mitglieder untereinander sowie deren Ehrlichkeit und Fairness im gegenseitigen Umgang. Besonders hervorzuheben ist der Schutz des geistigen Eigentums. Die Wieder- und Weiterverwendung der Erkenntnisse Dritter ist statthaft, sofern direkt oder indirekt auf die verwandten Quellen verwiesen wird. Eine vorsätzliche Zuwiderhandlung (Plagiat, Software Plagiat) führt zum Ausschluss des Teams und somit zum Nicht-Bestehen des Praktikums. Alle Teams, die identischen Quellcode oder 1:1 den Quelltext der Beispiellösung präsentieren, werden vom Praktikum ausgeschlossen.
  13. Die Beispiellösungen in [5] dienen Ihnen als Orientierung/roter Faden für ein Konzept (z. B. Programmablaufpläne (PAP)). Programmieren Sie Ihre Lösung eigenständig ohne die Beispiellösungen zu kopieren.
  14. Wenden Sie sich bei Fragen frühzeitig an die Tutoren, Herrn Ebmeyer (Tel. -847) oder Prof. Schneider (Tel. -806).
  15. Für die Teilnahme am Praktikum benötigen Sie die Sicherheitseinweisung in das Labor L3.1-E02-180 (Robotik).
  16. Für die Praktikumstermine benötigen Sie pro Team einen HSHL-Mechatronik-Baukasten. Bringen Sie diesen funktionsbereit zu den Terminen mit.
  17. Die Verwendung von USB-Sticks und eigenen Computern ist im Labor untersagt.

Vor- und Nachbereitung

  • Jeder Praktikumstermin muss vorbereitet werden. Sichern Sie die geforderten Informationen bis zum Sonntag vor dem Praktikum bis 18:00 Uhr in SVN.
  • Sollten Sie die Praktikumsziele im Praktikum nicht erreicht haben, können Sie diese bis Freitag nach dem Praktikum bis 18:00 Uhr in SVN nachholen.
Bewertungskriterien für die Vorbereitung
# Kriterium
1 Wurden die Lernzielkontrollfragen in einem PDF beantwortet?
2a Wurden die Programmablaufpläne (PAP) erstellt und abgelegt?
2b Passen die PAPs 100% zum Programm?
2c Haben die PAPs den Namen der Funktion (z. B. messeSensor.ino und nicht Hauptprogramm)?
2d Hat jedes PAP einen Header mit Autoren, Datum
2e Ist das PAP korrekt/sinnvoll?
2f Ist das PAP verständlich? Wurden erläuternde Kommentare verwendet?
3 Wurden ggf. Vorübungen durchgeführt und in SVN gesichert?
Bewertungskriterien für die Nachbereitung
# Kriterium
4a Wurden die Regeln für den Umgang mit SVN eingehalten?
4b Haben beide Teamteilnehmer etwas in SVN gesichert?
4c Wurden sinnvolle Kommentare als Log Message hinterlassen?
5 Wurde die Programmierrichtlinie eingehalten?
6 Haben die Programme einen Header?
7 Wurden der Quelltext umfangreich kommentiert?
8 Sortieren Sie Ihre Ergebnisse in Ordnern mit führenden Null (z. B.Termin_01\Aufgabe_1_1).

Ablauf des Praktikums

  1. Erscheinen Sie pünktlich zum Versuch.
  2. Wählen Sie als Zweierteam einen Rechnerarbeitsplatz aus.
  3. Nutzen Sie ausschließlich die Rechner im Roboterlabor. Schalten Sie diese am Schalter an der Dockingstation ein. Das Notebook bleibt geschlossen, damit Sie beide Monitore verwenden können.
  4. Loggen Sie sich als .\hshl-user. auf den Rechnern an.
  5. Machen Sie mit SVN Checkout eine Kopie des SVN Servers auf Ihr Gruppenarbeitsverzeichnes. Der lokale Ordner lautet D:\SVN\Inf1P\A1. für die Gruppe A1. Arbeiten Sie ausschließlich in diesem Ordner.
  6. Führen Sie am Praktikumstermin Ihre Lösungen vor. Prof. Schneider hilft Ihnen, falls Sie Probleme haben.
  7. Jeder Versuchsteil wird mit Punkten bewertet.
  8. Sichern Sie Ihre Ergebnisse mit SVN Commit auf dem SVN Server. Nur gesicherte Ergebnisse werden bewertet.
  9. Löschen Sie Ihre Nutzerdaten und Ihre Login-Daten.
  10. Fahren Sie den Rechner herunter und hinterlassen Sie das Praktikum ordentlich für die nächste Gruppe.

Codereferenz

Wenn Sie Arduino-Einsteiger sind finden Sie hier die gängigsten Befehle.

Arduino Simulator

Literatur

  1. Banzi, M.; Shiloh, M.: Arduino für Einsteiger. Köln: O'Reilly Verlag, 3. Auflage 2015. ISBN: 978-3-95875-055-5
  2. Brühlmann, T: Arduino Praxiseinstieg. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: HSHL-Bib, O'Reilly
  3. Brühlmann, T.: Sensoren im Einsatz mit Arduino. Frechen: mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: HSHL-Bib, O'Reilly
  4. c't Make: Arduino Special. In: Hannover: Heise Verlag, 2/2017
  5. Snieders, R.: ARDUINO lernen. Nordhorn: 8. Auflage 2022. URL: https://funduino.de/anleitungen
  6. Schneider, U.: Programmierrichtlinie für für die Erstellung von Software in C. Lippstadt, 1. Auflage 2022. PDF-Dokument (212 kb)


Nützliche Links

Förderung

Das Projekt "Mechatronik-Baukasten" wird gefördert durch die Akademische Gesellschaft in Lippstadt:






Wir bedanken uns für die Unterstützung!

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.
  • Muss ich zu allen Praktikumsterminen pünktlich erscheinen? Ja, bei Praktika besteht Anwesenheitspflicht.



→ zurück zum Hauptartikel: Informatikpraktikum 1