Angewandte Informatik: Entfernungsmessung mit Ultraschall: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 12: | Zeile 12: | ||
== Vorbereitung == | == Vorbereitung == | ||
Erlernen Sie die Funktion des [[Ultraschallsensor_HC-SR04|Ultraschallsensors]] anhand dieses Fachartikeln und der verlinkten Primärliteratur. | Erlernen Sie die Funktion des [[Ultraschallsensor_HC-SR04|Ultraschallsensors]] anhand dieses Fachartikeln und der verlinkten Primärliteratur. | ||
== Beispiel == | |||
[https://de.mathworks.com/help/matlab/supportpkg/arduinoio.ultrasonic.html Ultraschallsensor einlesen] | [https://de.mathworks.com/help/matlab/supportpkg/arduinoio.ultrasonic.html Ultraschallsensor einlesen] | ||
Version vom 20. April 2026, 07:58 Uhr
| Autor: | Prof. Dr.-Ing. Schneider |
| Modul | Business and Systems Engineering, Angewandte Mathematik und Informatik, Übung, Sommersemester |
| Modulbezeichnung: | BSE-M-2-1.09 |
Inhalt
In dieser Lektion wird der Ultraschallsensor HC-SR04 mit MATLAB® eingelesen und seine Messwerte analysiert. Das Messrauschen wird anschließend gefiltert.
Vorbereitung
Erlernen Sie die Funktion des Ultraschallsensors anhand dieses Fachartikeln und der verlinkten Primärliteratur.
Beispiel
Aufgabe 4: Entfernungsmessung mit Ultraschall
- Lesen Sie die Messwerte des Ultraschallsensor ein [1].
- Eine rote LED signalisiert die aktive Programmlaufzeit.
- Zeigen Sie die Distanzwerte in cm über der Zeit an.
- Sichern Sie Ihre Messwerte in der Datei
Ultraschall.mat. - Nutzen Sie ein Tiefpassfilter, um das Messwertrauschen während der Laufzeit in Echtzeit zu entstören.
- Ein Ampelmodul zeigt die Entfernung an.
| Entfernung | Farbe |
|---|---|
| x > 20 cm | grün |
| 10 cm < x < 20 cm | gelb |
| x < 10 cm rot | rot |
| Teillösung |
clear all; close all; clc; % Initialisierung
if exist('hArduino')==0
hArduino = arduino('COM8','Uno','Libraries','Ultrasonic'); % Arduino Objekt erzeugen
disp('Neues Arduino Objekt mit Ultrasonic-Bib erzeugt.')
end
hUltraschall = ultrasonic(hArduino,'D2','D3','OutputFormat','double')
nMesswerte = 100;
%% Messschleife
tic
writeDigitalPin(hArduino, 'D13', 1);
for i=1:nMesswerte
Distanz(i) = readDistance(hUltraschall);
Zeit(i) = toc;
end
writeDigitalPin(hArduino, 'D13', 0);
%% Ergebnisdarstellung
plot(Zeit,Distanz*100,'r.-');
xlabel('Zeit in s')
ylabel('Distanz in cm')
clear hArduino
|
Arbeitsergebnis: messeUltraschallEntfernung.m
→ zurück zum Hauptartikel: BSE Angewandte Informatik - SoSe26