Arduino: Ultraschall Entfernungsmessung
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatikpraktikum 1, 1. Semester, Wintersemester
Fragestellungen, Begriffe und Voraussetzungen
Fragestellungen
In dieser Lektion wird ein LCD-Display angesteuert Die Schnittstelle ist der I2C-Bus.
Eingeführte Begriffe und Konzepte
Diese Lektion befasst sich mit der Vorstellung des I2C-Busses und Ansteuerung eines LCD-Displays via I2C.
Vorausgesetzte Kenntnisse aus vorangegangenen Lektionen
- Nutzung der dititalen IO-Pins
Lernziele
Nach Durchführung dieser Lektion
- können die Funktion eines I2C-Busses erläutern.
- können Sie das LCD-Display ansteuern.
- können Sie Daten auf dem LCD-Display anzeigen.
- können Sie die Anzeige via Taster umschalten.
Lernzielkontrolle
- Was ist ein I2C-Bus?
- Wie funktioniert die Kommunikation eines I2C-Busses?
- Wie steuert man ein LCD-Display an?
- Wie liest man den Temperatursensor TMP36 aus?
- Wie schaltet man Modi im Display um?
- Wurde der Quelltext durch Header und Kommentare aufgewertet?
- Wurden jedes Programm mittels PAP geplant?
- Wurde auf
magic numbers
verzichtet? - Wurde die Programmierrichtlinie eingehalten?
Vorbereitung
Bereiten Sie sich anhand der nachfolgenden Aufgaben auf den Praktikumstermin vor.
- Recherchieren Sie die Funktion des I2C-Busses: Wiki: I2C, [1, S.112ff., 240ff.]
- Setzen Sie das Beispiel Temperaturen mit einem TMP36 am Arduino messen um.
- Setzen Sie das Beispiel Ein LCD Display per Arduino ansteuern um.
- Schalten Sie verschiedene Anzeigen im Display um.
- Planen Sie die Software via PAP.
- Beantworten Sie die Lernzielkontrollfragen.
- Sichern Sie Ihre Unterlagen in SVN.
Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_09.pdf
Versuchsdurchführung
Aufgabe 10.1: Lernzielkontrolle
Präsentieren Sie Prof. Schneider das Ergebnis der Lernzielkontrolle.
Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_09.pdf
Aufgabe 10.2: Ultraschall Entfernungsmessung
Mit den Ultraschallsensor HC-SR04 und einem Arduino Mikrocontroller soll eine Entfernung gemessen und mit dem „serial-monitor“ angezeigt werden.
Nützliche Befehle: #include, init, backlight, setCursor, print
Arbeitsergebnisse in SVN: AusgabeTextAufLCD.ino
Aufgabe 10.3: Sensordaten auf LCD ausgeben
Mit den Temperatursensor TMP36 soll die Temperatur ausgelesen und auf dem LCD angezeigt werden.
Nützliche Befehle: analogRead(), map()
Arbeitsergebnisse in SVN: messeTemperatur.ino
Aufgabe 10.4: Anzeige via Taster umschalten
- Lesen Sie einen Taster über einen Interrupt ein.
- Beim Drücken sollen 4 Modi durchgeschaltet werden
- 1: Text aus Aufgabe 9.2.
- 2: Sensorwert aus Aufgabe 9.3.
- 3: Text "Modus 3".
- 4: Text "Modus 4".
- Nach Modus 4 soll wieder Modus 1 angezeigt werden
Nützliche Befehle: switch .. case
Aufgabe 10.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 |
10.1 | 2 |
10.2 | 2 |
10.3 | 2 |
10.4 | 2 |
10.5 | 2 |
Tutorials
Datenblätter
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)
- Waller, H.: Arduino Blog. URL: https://hartmut-waller.info/arduinoblog/
→ zurück zum Hauptartikel: Arduino Praxiseinstieg