Arduino Programmierung mit MATLAB: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
* [https://de.mathworks.com/discovery/arduino-programming-matlab-simulink.html Arduino Programmierung mit MATLAB<sup>®</sup>]
* [https://de.mathworks.com/discovery/arduino-programming-matlab-simulink.html Arduino Programmierung mit MATLAB<sup>®</sup>]
* [https://de.mathworks.com/help/matlab/supportpkg/arduinoio.ultrasonic.html Ultraschallsensor einlesen]
* [https://de.mathworks.com/help/matlab/supportpkg/arduinoio.ultrasonic.html Ultraschallsensor einlesen]
= Aufgabe 1: Arduino Explorer =
= Aufgabe 1.1: Arduino Explorer =
Testen Sie zuerst die Verbindung zum Arduino mit dem Arduino Explorer. Den passenden port finden Sie über den Windows '''Geräte-Manager'''.<br>
Testen Sie zuerst die Verbindung zum Arduino mit dem Arduino Explorer. Den passenden port finden Sie über den Windows '''Geräte-Manager'''.<br>
<code>>> arduinoExplorer</code>
<code>>> arduinoExplorer</code>
Zeile 14: Zeile 14:
# Schalten Sie die Diode via <code>arduinoExplorer</code> an uns aus.
# Schalten Sie die Diode via <code>arduinoExplorer</code> an uns aus.


= Aufgabe 2: Poti mit MATLAB<sup>®</sup> lesen =
= Aufgabe 1.2: Poti mit MATLAB<sup>®</sup> lesen =
# Schließen Sie ein Potentiometer an den analogen Eingang <code>A0</code> an.  
# Schließen Sie ein Potentiometer an den analogen Eingang <code>A0</code> an.  
# Visualisieren Sie die Spannung an <code>A0</code> mit einem MATLAB<sup>®</sup>-Skript für 100 Werte über der Zeit in s.
# Visualisieren Sie die Spannung an <code>A0</code> mit einem MATLAB<sup>®</sup>-Skript für 100 Werte über der Zeit in s.
Zeile 38: Zeile 38:
|}
|}


= Aufgabe 3: LED mit MATLAB<sup>®</sup> schalten =
= Aufgabe 1.3: LED mit MATLAB<sup>®</sup> schalten =
# Stecken Sie eine Diode in D13 gegen GND.
# Stecken Sie eine Diode in D13 gegen GND.
# Schalten Sie die Diode mit einem MATLAB<sup>®</sup>-Skript zyklisch an und aus.
# Schalten Sie die Diode mit einem MATLAB<sup>®</sup>-Skript zyklisch an und aus.
Zeile 60: Zeile 60:
</source>
</source>
|}
|}
= Aufgabe 4: LED mit MATLAB<sup>®</sup> dimmen =
= Aufgabe 1.4: LED mit MATLAB<sup>®</sup> dimmen =
[[Datei:ArduinoGettingStartedExample 02.png|thumb|rigth|300px|Abb. 1: LED und Potentiometer mit dem Arduino verbinden]]
[[Datei:ArduinoGettingStartedExample 02.png|thumb|rigth|300px|Abb. 1: LED und Potentiometer mit dem Arduino verbinden]]
# Stecken Sie eine Diode in D11 gegen GND.
# Stecken Sie eine Diode in D11 gegen GND.
Zeile 83: Zeile 83:
</source>
</source>
|}
|}
= Aufgabe 5: Taster und Summer =
= Aufgabe 1.5: Taster und Summer =
[[Datei:ArduinoGettingStartedExample 03.png|thumb|rigth|300px|Abb. 2: Verkabelungsplan für taster und Summer]]
[[Datei:ArduinoGettingStartedExample 03.png|thumb|rigth|300px|Abb. 2: Verkabelungsplan für taster und Summer]]
# Lesen Sie den Taster via D12 ein (vgl. Abb 2).
# Lesen Sie den Taster via D12 ein (vgl. Abb 2).
Zeile 112: Zeile 112:
end
end
writeDigitalPin(hArduino, 'D13', 0);
writeDigitalPin(hArduino, 'D13', 0);
clear hArduino
</source>
|}
= Aufgabe 1.6: Entfernungsmessung mit Ultraschall =
[[Datei:Gift-9344 128.gif|50px]]'''Hinweis: Mit der Lösung dieser Aufgabe und Sicherung in SVN können Sie Bonuspunkte erwerben.'''
# Lesen Sie die Messwerte des Ultraschallsensor ein [https://de.mathworks.com/help/matlab/supportpkg/arduinoio.ultrasonic.html?searchHighlight=arduino+matlab+ultrasonic&s_tid=srchtitle_support_results_2_arduino+matlab+ultrasonic].
# Eine rote LED signalisiert die aktive Programmlaufzeit.
# Zeigen Sie die Distanzwerte in cm über der Zeit an.
# Sichern Sie Ihre Messwerte in der Datei <code>Ultraschall.mat</code>.
# Nutzen Sie ein [[Arduino:_Ultraschallsensor_entstören|Tiefpassfilter]], um das Messwertrauschen zu entstören.
# Ein Ampelmodul zeigt die Entfernung an.
{| class="wikitable"
|-
! Entfernung !! Farbe
|-
| x > 20&thinsp;cm || grün
|-
| 10&thinsp;cm < x < 20&thinsp;cm|| gelb
|-
| x < 10&thinsp;cm rot || rot
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Teillösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">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
clear hArduino
</source>
</source>
|}
|}


'''Arbeitsergebnis:''' <code>messeUltraschallEntfernung.m</code>
----
----
→ zurück zum Hauptartikel: [[BSE Angewandte Informatik - SoSe25]]
→ zurück zum Hauptartikel: [[BSE Angewandte Informatik - SoSe25]]

Aktuelle Version vom 13. Mai 2025, 09:49 Uhr

Inhalt

Aufgabe 1.1: Arduino Explorer

Testen Sie zuerst die Verbindung zum Arduino mit dem Arduino Explorer. Den passenden port finden Sie über den Windows Geräte-Manager.
>> arduinoExplorer

  1. Schließen Sie ein Potentiometer an den analogen Eingang A0 an.
  2. Visualisieren Sie die Spannung an A0 mit dem arduinoExplorer.
  3. Stecken Sie eine Diode in D13 gegen GND.
  4. Schalten Sie die Diode via arduinoExplorer an uns aus.

Aufgabe 1.2: Poti mit MATLAB® lesen

  1. Schließen Sie ein Potentiometer an den analogen Eingang A0 an.
  2. Visualisieren Sie die Spannung an A0 mit einem MATLAB®-Skript für 100 Werte über der Zeit in s.

Aufgabe 1.3: LED mit MATLAB® schalten

  1. Stecken Sie eine Diode in D13 gegen GND.
  2. Schalten Sie die Diode mit einem MATLAB®-Skript zyklisch an und aus.

Aufgabe 1.4: LED mit MATLAB® dimmen

Abb. 1: LED und Potentiometer mit dem Arduino verbinden
  1. Stecken Sie eine Diode in D11 gegen GND.
  2. Dimmen Sie die Diode mit einem MATLAB®-Skript mittels Potentiometer (vgl. Aufgabe 2).

Aufgabe 1.5: Taster und Summer

Abb. 2: Verkabelungsplan für taster und Summer
  1. Lesen Sie den Taster via D12 ein (vgl. Abb 2).
  2. Steuern Sie den Summer bei Tasterdruck via D11 an.
  3. Eine rote LED signalisiert die aktive Programmlaufzeit.

Aufgabe 1.6: Entfernungsmessung mit Ultraschall

Hinweis: Mit der Lösung dieser Aufgabe und Sicherung in SVN können Sie Bonuspunkte erwerben.
  1. Lesen Sie die Messwerte des Ultraschallsensor ein [1].
  2. Eine rote LED signalisiert die aktive Programmlaufzeit.
  3. Zeigen Sie die Distanzwerte in cm über der Zeit an.
  4. Sichern Sie Ihre Messwerte in der Datei Ultraschall.mat.
  5. Nutzen Sie ein Tiefpassfilter, um das Messwertrauschen zu entstören.
  6. Ein Ampelmodul zeigt die Entfernung an.
Entfernung Farbe
x > 20 cm grün
10 cm < x < 20 cm gelb
x < 10 cm rot rot

Arbeitsergebnis: messeUltraschallEntfernung.m


→ zurück zum Hauptartikel: BSE Angewandte Informatik - SoSe25