Arduino: Infrarotsensor einlesen: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(29 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Arduino]]
[[Kategorie:Arduino]]
[[Datei:Lernset - Einsteiger Kit für Arduino.jpg|thumb|rigth|450px|Abb. 1: Lernset - Einsteiger Kit für Arduino]]
[[Datei:SHARP IR Abstandssensor GP2Y0A21YK0F.png|thumb|rigth|300px|Abb. 1: IR-Abstandssensor Sharp GP2Y0A41SK0F]]
'''Autor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]<br>
{|class="wikitable"
'''Modul:''' Praxismodul I<br>
|-
'''Lehrveranstaltung:''' Mechatronik, Informatikpraktikum 1, 1. Semester, Wintersemester
| '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
|-
| '''Modul:''' || Praxismodul I
|-
| '''Lektion 5:''' || Mechatronik, Informatikpraktikum, 1. Semester, Wintersemester
|}


== Inhalt ==
== Inhalt ==
Zeile 12: Zeile 17:
* Darstellung der Messwerte
* Darstellung der Messwerte
* Kennlinienkalibrierung
* Kennlinienkalibrierung
== Video Tutorials==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tutorial Arrays&thinsp;</strong>
|-
|
<iframe key="panopto" path="/Panopto/Pages/Embed.aspx?id=52d1eee9-b0f9-455a-80db-af3f00f2529b&autoplay=false&offerviewer=true&showtitle=true&showbrand=true&captions=false&interactivity=all" height="405" width="720" style="border: 1px solid #464646;" allowfullscreen allow="autoplay"></iframe>
<iframe key="panopto" path="/Panopto/Pages/Embed.aspx?id=52d1eee9-b0f9-455a-80db-af3f00f2529b&autoplay=false&offerviewer=true&showtitle=true&showbrand=true&captions=false&interactivity=all" height="405" width="720" style="border: 1px solid #464646;" allowfullscreen allow="autoplay"></iframe>
 
|-
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tutorial: Lookup Table&thinsp;</strong>
|-
|
<iframe key="panopto" path="/Panopto/Pages/Embed.aspx?id=98958e23-9c36-48cf-b912-af3c00601ce1&autoplay=false&offerviewer=true&showtitle=true&showbrand=true&captions=false&interactivity=all" height="405" width="720" style="border: 1px solid #464646;" allowfullscreen allow="autoplay"></iframe>
|-
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tutorial: Lookup Table programmieren&thinsp;</strong>
|-
|
<iframe key="panopto" path="/Panopto/Pages/Embed.aspx?id=3b45bf84-7d4e-49e5-bc0c-af4600ef47ee&autoplay=false&offerviewer=true&showtitle=true&showbrand=true&captions=false&interactivity=all" height="405" width="720" style="border: 1px solid #464646;" allowfullscreen allow="autoplay"></iframe>
|-
|}
== Lernziele==
== Lernziele==
Nach Durchführung dieser Lektion
Nach Durchführung dieser Lektion
Zeile 28: Zeile 53:
# Was misst der Sensor GP2Y0A41SK0F? Was ist seine Ausgangsgröße <code>U1</code>?
# Was misst der Sensor GP2Y0A41SK0F? Was ist seine Ausgangsgröße <code>U1</code>?
# Wie wird die Ausgangsgröße (<code>U1</code>) digitalisiert (<code>D1</code>)?
# Wie wird die Ausgangsgröße (<code>U1</code>) digitalisiert (<code>D1</code>)?
# Auf welchen Wegen lässt sich die digitalisierte Ausgangsgröße <code>D1</code> in die Distanz <code>d</code> umgerechnet?
# Auf welchen Wegen lässt sich die digitalisierte Ausgangsgröße <code>D1</code> in die Distanz <code>d</code> umrechnen?
# Wurde der Quelltext durch Header und Kommentare aufgewertet?
# Wurde der Quelltext durch Header und Kommentare aufgewertet?
# Wurden jedes Programm mittels PAP geplant?
# Wurden jedes Programm mittels PAP geplant?
Zeile 36: Zeile 61:
'''Arbeitsergebnisse''' in SVN: <code>Lernzielkontrolle_Termin_05.pdf</code>
'''Arbeitsergebnisse''' in SVN: <code>Lernzielkontrolle_Termin_05.pdf</code>


== Vorbereitung ==
== Tutorials ==
* [https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-plotter Arduino: Using the Serial Plotter Tool]
* [https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/ Arduino Referenz: <code>analogRead()</code> ]
* [[Sharp_GP2Y0A41SK0F| Wiki: SHARP IR Abstandsensor]]
* [[Arduino:_Bibliothek_einbinden|Wiki: HSHL-Bibliothek einbinden]]
* [https://www.arduino.cc/reference/de/ Arduino Befehlsübersicht]
 
== Demos ==
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoArray/DemoArray.ino DemoArray.ino]
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoSharpIR/DemoSharpIR.ino DemoSharpIR.ino]
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoLookupTable/DemoLookupTable.ino DemoLookupTable.ino]
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoLookupTableIR/DemoLookupTableIR.ino DemoLookupTableIR.ino]
 
== Versuchsvorbereitung ==
[[Datei:Batterie-Tester.jpg |thumb|rigth|300px|Abb. 2: Batterie-Tester]]
[[Datei:Batterie-Tester.jpg |thumb|rigth|300px|Abb. 2: Batterie-Tester]]
# Studieren Sie die Tutorials und Demos.
# Studieren Sie das [https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-plotter Using the Serial Plotter Tool]  und nutzen Sie das Demo [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoSharpIR/DemoSharpIR.ino DemoSharpIR.ino], um Daten im Seriellen Plotter auszugeben.
# Studieren Sie das [https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-plotter Using the Serial Plotter Tool]  und nutzen Sie das Demo [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoSharpIR/DemoSharpIR.ino DemoSharpIR.ino], um Daten im Seriellen Plotter auszugeben.
# Recherchieren Sie die Funktion des Sensors anhand von Fachliteratur und des [[Medium:GP2Y0A41SK0F.pdf|Datenblatts]] oder [[Sharp_GP2Y0A41SK0F|Wiki-Artikels]].
# Recherchieren Sie die Funktion des Sensors anhand von Fachliteratur und des [[Medium:GP2Y0A41SK0F.pdf|Datenblatts]] oder [[Sharp_GP2Y0A41SK0F|Wiki-Artikels]].
Zeile 47: Zeile 86:
# Beantworten Sie die Lernzielkontrollfragen.
# Beantworten Sie die Lernzielkontrollfragen.
# Sichern Sie Ihre Unterlagen in SVN.
# Sichern Sie Ihre Unterlagen in SVN.
<div class="mw-collapsible mw-collapsed">
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
| <strong>Musterlösung&thinsp;</strong>
'''Musterlösung:''' für den Batterie-Tester
|-
<source line lang="C" style="font-size:small">const unsigned long BAUD_RATE_u32 = 9600;
| '''Musterlösung:''' für den Batterie-Tester <br>
<syntaxhighlight lang="c" style="background-color: #EFF1C1; font-size:small">
const unsigned int AUFLOESUNG_u16 = 1023; //2^10-1
const unsigned int AUFLOESUNG_u16 = 1023; //2^10-1
const float ARDUINO_SPANNUNG_f32  = 5.0;
const float ARDUINO_SPANNUNG_f32  = 5.0;
Zeile 62: Zeile 102:
   Serial.print(ARDUINO_SPANNUNG_f32 * AUFLOESUNG_u16/Digitalwert_u16); // Umrechnung Digitalwert in V
   Serial.print(ARDUINO_SPANNUNG_f32 * AUFLOESUNG_u16/Digitalwert_u16); // Umrechnung Digitalwert in V
   Serial.println("V");
   Serial.println("V");
</source>
</syntaxhighlight>
</div>
|-
|}
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 1: Kennlinie des IR-Distanzsensors
|+ style = "text-align: left"|Tabelle 1: Kennlinie des IR-Distanzsensors
Zeile 78: Zeile 119:
|-
|-
|}
|}
'''Tipps:'''
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tipps&thinsp;</strong>
|-
|
* Nutzen Sie Werte über den gesamten Wertebereich [0.2&thinsp;V .. 3.2&thinsp;V].
* Nutzen Sie Werte über den gesamten Wertebereich [0.2&thinsp;V .. 3.2&thinsp;V].
* Sie können die Werte auch durch reale Messungen auf ein statisches Ziel ermitteln.
* Sie können die Werte auch durch reale Messungen auf ein statisches Ziel ermitteln.
* Umrechnungsformel: <math>D_1 = U_1\cdot \frac{1023}{5\,V}</math>
* Umrechnungsformel: <math>D_1 = U_1\cdot \frac{1023}{5\,V}</math>
<iframe key="panopto" path="/Panopto/Pages/Embed.aspx?id=98958e23-9c36-48cf-b912-af3c00601ce1&autoplay=false&offerviewer=true&showtitle=true&showbrand=true&captions=false&interactivity=all" height="405" width="720" style="border: 1px solid #464646;" allowfullscreen allow="autoplay"></iframe>
|-
<!--https://hshl.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?-->
|}


== Versuchsdurchführung ==
== Versuchsdurchführung ==
Zeile 90: Zeile 134:


'''Arbeitsergebnisse''' in SVN: <code>Lernzielkontrolle_Termin_05.pdf</code>
'''Arbeitsergebnisse''' in SVN: <code>Lernzielkontrolle_Termin_05.pdf</code>
----


=== Aufgabe 5.2: Der Abstandssensor Sharp GP2Y0A21YK0F ===
=== Aufgabe 5.2: Der Abstandssensor Sharp GP2Y0A21YK0F ===
Zeile 98: Zeile 143:


'''Arbeitsergebnisse''' in SVN: <code>leseSharpIR.ino</code>
'''Arbeitsergebnisse''' in SVN: <code>leseSharpIR.ino</code>
<div class="mw-collapsible mw-collapsed">
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
| <strong>Demo&thinsp;</strong>
|-
|
'''Demo:''' [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoSharpIR/DemoSharpIR.ino Demo: DemoSharpIR.ino]
'''Demo:''' [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoSharpIR/DemoSharpIR.ino Demo: DemoSharpIR.ino]
</div>
|-
|}
----


=== Aufgabe 5.3: Sensorkennlinie ===
=== Aufgabe 5.3: Sensorkennlinie ===
Zeile 112: Zeile 161:


'''Arbeitsergebnisse''' in SVN: <code>leseSharpIR.ino</code>
'''Arbeitsergebnisse''' in SVN: <code>leseSharpIR.ino</code>
<div class="mw-collapsible mw-collapsed">
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
| <strong>Demo&thinsp;</strong>
'''Demo:''' [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoLookupTable/DemoLookupTable.ino DemoLookupTable.ino]
|-
</div>
| '''Demo:''' [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoLookupTable/DemoLookupTable.ino DemoLookupTable.ino]
|-
|}
----


=== Aufgabe 5.4: Charakterisierung des Sharp Abstandssensors ===
=== Aufgabe 5.4: Charakterisierung des Sharp Abstandssensors ===
Bestimmen Sie die nachfolgenden Werte, um den IR-Sensor zu beschreiben
Bestimmen Sie die nachfolgenden Werte, um den IR-Sensor zu beschreiben
* Messbereich in cm
* [https://de.wikipedia.org/wiki/Messbereich Messbereich] in cm
* Auflösung (Zeit, Distanz)
* [https://de.wikipedia.org/wiki/Aufl%C3%B6sung_(Digitaltechnik) Auflösung] (Zeit, Distanz)
* Empfindlichkeit  
* [https://de.wikipedia.org/wiki/Empfindlichkeit_(Technik) Empfindlichkeit]
 


'''Nützliche Befehle''': <code>millis(), Serial.print(), Serial.println()</code>
'''Nützliche Befehle''': <code>millis(), Serial.print(), Serial.println()</code>


'''Arbeitsergebnisse''' in SVN: <code>Sensorcharakterisierung.pdf</code>
'''Arbeitsergebnisse''' in SVN: <code>Sensorcharakterisierung.pdf</code>
<div class="mw-collapsible mw-collapsed">
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
| <strong>Musterlösung&thinsp;</strong>
'''Musterlösung:'''
|-
|
* Den Messbereich beschreibt der kleinste und größte Messwert [3,50]cm.
* Den Messbereich beschreibt der kleinste und größte Messwert [3,50]cm.
* Die Auflösung ist der kleinstmögliche Werteschritt. Hier Zeit: 5-7&thinsp;ms, Spannung: 0,0048V
* Die Auflösung ist der kleinstmögliche Werteschritt. Hier Zeit: 5-7&thinsp;ms, Spannung: 0,0048V
* Die Empfindlichkeit berechnet sich aus <math>E=\frac{\Delta y}{\Delta x}</math>. Im nichtlinearen Fall entsprich dies der 1. Ableitung.
* Die Empfindlichkeit berechnet sich aus <math>E=\frac{\Delta y}{\Delta x}</math>. Im nichtlinearen Fall entsprich dies der 1. Ableitung.
</div>
|-
|}
----


=== Aufgabe 5.5: Nachhaltige Doku ===
=== Aufgabe 5.5: Nachhaltige Doku ===
Zeile 146: Zeile 200:
'''Arbeitsergebnis''' in SVN: <code>SVN Log</code>
'''Arbeitsergebnis''' in SVN: <code>SVN Log</code>


== Bewertung ==
== FAQ ==
{| class="wikitable"
* 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.'''
| '''Aufgabe'''|| '''Punkte'''
|-
| 5.1|| 2
|-
| 5.2|| 2
|-
| 5.3|| 2
|-
| 5.4|| 2
|-
| 5.5|| 2
|-
|}
== Tutorials ==
* [https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-plotter Arduino: Using the Serial Plotter Tool]
* [https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/ Arduino Referenz: <code>analogRead()</code> ]
* [[SHARP_IR_Abstandsensor_GP2Y0A21YK0F| Wiki: SHARP IR Abstandsensor]]
 
== Demos ==
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoArray/DemoArray.ino DemoArray.ino]
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoSharpIR/DemoSharpIR.ino DemoSharpIR.ino]
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoLookupTable/DemoLookupTable.ino DemoLookupTable.ino]
* [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Demos/Arduino/DemoLookupTableIR/DemoLookupTableIR.ino DemoLookupTableIR.ino]


== Literatur ==
== Literatur ==
Zeile 179: Zeile 210:
# 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)]]
# 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)]]
# Sharp: ''GP2Y0A41SK0F''. URL: [https://de.farnell.com/sharp/gp2y0a41sk0f/distanzmesssensor/dp/1618431]. [[Medium:GP2Y0A41SK0F.pdf|Datenblatt (858&thinsp;kb)]]
# Sharp: ''GP2Y0A41SK0F''. URL: [https://de.farnell.com/sharp/gp2y0a41sk0f/distanzmesssensor/dp/1618431]. [[Medium:GP2Y0A41SK0F.pdf|Datenblatt (858&thinsp;kb)]]


----
----
→ zurück zum Hauptartikel: [[Arduino_Praxiseinstieg|Arduino Praxiseinstieg]]
→ Termine [[Einführungsveranstaltung Informatikpraktikum 1|0]] [[Einarbeitung_in_die_Versionsverwaltung_SVN|1]] [[Einstieg_in_die_Welt_des_Arduino|2]]  [[Arduino: Taster auswerten und LEDs ansteuern|3]] [[Arduino:_Sensoren_einlesen|4]]  [[Arduino:_Infrarotsensor_einlesen|5]] [[Arduino:_Infrarotsensor_entstören|6]] [[Arduino:_Programmier-Challenge_I_WS_WS_24/25|7]] [[Arduino:_IR-Theremin|8]] [[Arduino:_Aktoren|9]] [[Arduino:_LCD_Display_mit_I2C_Schnittstelle|10]] [[Arduino:_Ultraschall_Entfernungsmessung|11]] [[Arduino:_Ultraschallsensor_entstören|12]] [[Arduino:_Temperaturmessung_mit_NTC_und_PTC|13]] [[Arduino:_Programmier-Challenge_II_WS_WS_24/25|14]]<br>
→ zurück zum Hauptartikel: [[Arduino_Praxiseinstieg_WS_24/25|Arduino Praxiseinstieg]]

Aktuelle Version vom 28. Oktober 2024, 14:14 Uhr

Abb. 1: IR-Abstandssensor Sharp GP2Y0A41SK0F
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lektion 5: Mechatronik, Informatikpraktikum, 1. Semester, Wintersemester

Inhalt

  • Deklaration und Verwendung von Arrays
  • Kapselung einer Teilaufgabe in einer Funktion
  • Funktion des Sharp Entfernungssensors GP2Y0A41SK0F
  • Einlesen des Entfernungssensors mit dem Arduino
  • Darstellung der Messwerte
  • Kennlinienkalibrierung

Video Tutorials

Lernziele

Nach Durchführung dieser Lektion

  • können Sie den IR-Sensor korrekt (elektrisch) anschließen.
  • können die Messwerte mit dem Serial Plotter der Arduino IDE anzeigen.
  • können Sie ein Array anlegen und auf die Array-Elemente zugreifen.
  • können Sie funktional programmieren.
  • können Sie die Sensordaten in die gemessene Entfernung umrechnen.
  • können Sie die Messwerte charakterisieren.

Lernzielkontrolle

  1. Welcher Primärsensor kommt im Sharp GP2Y0A21YK0F zum Einsatz?
  2. Wie funktioniert der Sensor GP2Y0A41SK0F technisch?
  3. Was misst der Sensor GP2Y0A41SK0F? Was ist seine Ausgangsgröße U1?
  4. Wie wird die Ausgangsgröße (U1) digitalisiert (D1)?
  5. Auf welchen Wegen lässt sich die digitalisierte Ausgangsgröße D1 in die Distanz d umrechnen?
  6. Wurde der Quelltext durch Header und Kommentare aufgewertet?
  7. Wurden jedes Programm mittels PAP geplant?
  8. Wurde auf magic numbers verzichtet?
  9. Wurde die Programmierrichtlinie eingehalten?

Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_05.pdf

Tutorials

Demos

Versuchsvorbereitung

Abb. 2: Batterie-Tester
  1. Studieren Sie die Tutorials und Demos.
  2. Studieren Sie das Using the Serial Plotter Tool und nutzen Sie das Demo DemoSharpIR.ino, um Daten im Seriellen Plotter auszugeben.
  3. Recherchieren Sie die Funktion des Sensors anhand von Fachliteratur und des Datenblatts oder Wiki-Artikels.
  4. Bauen Sie die Schaltungen zur Auswertung der Sensoren auf.
  5. Nutzen Sie die Abbildung auf Seite 4 des Datenblatts, um eine Tabelle Spannung/Distanz aufzustellen (vgl. Tab. 1).
  6. Machen Sie sich mit der Funktion der analogen Eingänge vertraut: Arduino Referenz: analogRead() . Messen Sie gemäß Abb. 2 die Spannung einen AA Batterie in V. (Hinweis: KEINE 9-V-BLOCK nutzen! Spannung von mehr als 5 V können den Arduino zerstören.)
  7. Nutzen Sie die Arduino Referenz: analogRead() und erweitern Sie Ihre Tabelle um die Spalte Digitalwert D1 (vgl. Tab. 1).
  8. Planen Sie die Software via PAP.
  9. Beantworten Sie die Lernzielkontrollfragen.
  10. Sichern Sie Ihre Unterlagen in SVN.
Tabelle 1: Kennlinie des IR-Distanzsensors
Spannung U1 in V Distanz d in cm Digitalwert D1
3 3,6 614
2.02 6 413
0.82 16 168
.. .. ..

Versuchsdurchführung

Aufgabe 5.1: Lernzielkontrolle

Präsentieren Sie Prof. Schneider das Ergebnis der Lernzielkontrolle.

Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_05.pdf


Aufgabe 5.2: Der Abstandssensor Sharp GP2Y0A21YK0F

  1. Setzen Sie Ihre geplante Software 1:1 um.
  2. Stellen Sie die Messwerte D1 im Seriellen Monitor und Plotter dar.

Nützliche Befehle: Serial.begin(), Serial.println(), analogRead()

Arbeitsergebnisse in SVN: leseSharpIR.ino


Aufgabe 5.3: Sensorkennlinie

  1. Erweitern Sie Ihr Programm leseSharpIR.ino. Rechnen Sie das Digitalwort D1 in die Messdistanz d um.
  2. Stellen Sie die Distanz d im Seriellen Monitor und Plotter dar.
  3. Verifizieren Sie Ihr Ergebnis mit einem Gliedermaßstab.
  4. Was fällt Ihnen bei den Messwerten auf?

Nützliche Befehle: Serial.begin(), Serial.println(), analogRead(), LookupTable(), analogRead()

Arbeitsergebnisse in SVN: leseSharpIR.ino


Aufgabe 5.4: Charakterisierung des Sharp Abstandssensors

Bestimmen Sie die nachfolgenden Werte, um den IR-Sensor zu beschreiben

Nützliche Befehle: millis(), Serial.print(), Serial.println()

Arbeitsergebnisse in SVN: Sensorcharakterisierung.pdf


Aufgabe 5.5: Nachhaltige Doku

Sichern Sie alle Ergebnisse mit beschreibendem Text (message) in SVN.

  • Wurden die Regeln für den Umgang mit SVN eingehalten?
  • Wurde die Programmierrichtlinie eingehalten?
  • Wurde nachhaltig dokumentiert?
  • Haben die Programme einen Header?
  • Wurden der Quelltext umfangreich kommentiert?
  • Wurden die PAPs erstellt und abgelegt? Passen die PAPs 100% zum Programm?

Arbeitsergebnis in SVN: SVN Log

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.

Literatur

  1. Brühlmann, T.: Arduino Praxiseinstieg. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: HSHL-Bib, O'Reilly-URL
  2. Brühlmann, T.: Sensoren im Einsatz mit Arduino. Frechen: mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: HSHL-Bib, O'Reilly
  3. Snieders, R.: ARDUINO lernen. Nordhorn: 8. Auflage 2022. URL: https://funduino.de/vorwort
  4. Schneider, U.: Programmierrichtlinie für für die Erstellung von Software in C. Lippstadt: 1. Auflage 2022. PDF-Dokument (212 kb)
  5. Sharp: GP2Y0A41SK0F. URL: [1]. Datenblatt (858 kb)



→ Termine 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
→ zurück zum Hauptartikel: Arduino Praxiseinstieg