Arduino: Infrarotsensor einlesen
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatikpraktikum 1, 1. Semester, Wintersemester
Inhalt
- Funktion des Sharp Entfernungssensors GP2Y0A41SK0F
- Einlesen des Entfernungssensors mit dem Arduino
- Darstellung der Messwerte
- Kennlinienkalibrierung
Lernziele
Nach Durchführung dieser Lektion
- können Sie den Sensor korrekt (elektrisch) anschließen.
- können die Messwerte mit dem Serial Plotter der Arduino IDE anzeigen.
- können Sie die Sensordaten in die gemessene Entfernung umrechnen.
- können Sie die Messwerte charakterisieren.
Lernzielkontrolle
- Welcher Primärsensor kommt im Sharp GP2Y0A21YK0F zum Einsatz?
- Wie funktioniert der Sensor GP2Y0A41SK0F technisch?
- Was misst der Sensor GP2Y0A41SK0F? Was ist seine Ausgangsgröße A1?
- Wie wird die Ausgangsgröße (A1) digitalisiert (D1)?
- Auf welchen Wegen lässt sich die digitalisierte Ausgangsgröße D1 in die Distanz d umgerechnet?
- Wurde der Quelltext durch Header und Kommentare aufgewertet?
- Wurden jedes Programm mittels PAP geplant?
- Wurde auf
magic numbers
verzichtet? - Wurde die Programmierrichtlinie eingehalten?
Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_05.pdf
Vorbereitung
- Studieren Sie das Using the Serial Plotter Tool und nutzen Sie das Demo DemoSharpIR.ino, um Daten im Seriellen Plotter auszugeben.
- Recherchieren Sie die Funktion des Sensors anhand von Fachliteratur und des Datenblatts.
- Bauen Sie die Schaltungen zur Auswertung der Sensoren auf.
- Nutzen Sie die Abblidung auf Seite 4 des Datenblatt, um eine Tabelle Spannung/Distanz aufzustellen.
- Nutzen Sie die Arduino Referenz:
analogRead()
und erweitern Sie Ihre Tabelle um die Spalte DigitalwertD1
. - Planen Sie die Software via PAP.
- Beantworten Sie die Lernzielkontrollfragen.
- Sichern Sie Ihre Unterlagen in SVN.
Spannung in V | Distanz in cm | Digitalwort D1 |
3 | 3,6 | 732 |
2.02 | 6 | 439 |
0.82 | 16 | 165 |
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 Bewegungsmelder HC-SR501
Ein Piezo-Lautsprecher soll piepen, sobald eine Bewegung registriert wird.
Nützliche Befehle: pinmode(), digitalRead(), digitalWrite(), delay, if..else
Arbeitsergebnisse in SVN: BewegungsmelderMitPiezo.ino
Musterlösung: [1]
Aufgabe 5.3: Sensorkennlinie
Lesen Sie Charakteristische Rechnen Sie die digitalisierten Messwerte D1 in
Nützliche Befehle: pinmode(), analogRead(), digitalWrite(), if..else
Arbeitsergebnisse in SVN: LDRSteuertLED.ino
Musterlösung: [2]
Aufgabe 5.4: Charakterisierung des Sharp Abstandssensors
Eine LED soll blinken. Die Blinkgeschwindigkeit soll mit einem Drehregler eingestellt werden.
Nützliche Befehle: pinmode(), analogRead(), analogWrite(), delay(), map()
Arbeitsergebnisse in SVN: PotiSteuertLED.ino
Musterlösung: [3]
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
Bewertung
Aufgabe | Punkte |
5.1 | 2 |
5.2 | 2 |
5.3 | 2 |
5.4 | 2 |
5.5 | 2 |
Tutorials
Demos
- []
Literatur
- Brühlmann, T.: Arduino Praxiseinstieg. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: HSHL-Bib, O'Reilly-URL
- Brühlmann, T.: Sensoren im Einsatz mit Arduino. Frechen : mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: HSHL-Bib, O'Reilly
- Snieders, R.: ARDUINO lernen. Nordhorn: 8. Auflage 2022. URL: https://funduino.de/vorwort
- Schneider, U.: Programmierrichtlinie für für die Erstellung von Software in C. Lippstadt, 1. Auflage 2022. PDF-Dokument (212 kb)
- Sharp: GP2Y0A41SK0F. URL: [4]. PDF-Dokument (858 kb)
→ zurück zum Hauptartikel: Arduino Praxiseinstieg