Angewandte Informatik: Analoge und digitale Ein-und Ausgänge

| Autor: | Prof. Dr.-Ing. Schneider |
| Lektion 3 | Business and Systems Engineering, Angewandte Mathematik und Informatik, Übung, Sommersemester |
| Modulbezeichnung: | BSE-M-2-1.09 |
Inhalt
- Linearpotentiometer einlesen
- LED anschließen mit Vorwiderstand
- LED mit Puls-Weiten-Modulation dimmen
- Wertevisualisierung in MATLAB®
- Programmierrichtlinien für MATLAB®
Lernziele
Nach Durchführung dieser Lektion
- können Sie Quelltext entsprechend der Programmierrichtlinien schreiben.
- ein Linearpotentiometer einlesen.
- eine LED mittels Pulsweitenmodulation (PWM) dimmen.
Lernzielkontrolle
- Wurde der Taster erfolgreich eingelesen und entprellt?
- Wozu benötigt man einen Pull-Up/Pull-Down-Widerstand?
- Wurde der Quelltext durch Header und Kommentare aufgewertet?
- Welche Möglichkeiten gibt es einen Zähler zu in-/dekrementieren?
- Wurde in Aufgabe 3.3 ein
switch...caseverwendet? - Welche Version der RGB-LED haben Sie verwendet (gemeinsame Anode oder Kathode)?
Tutorials
- Erste Schritte mit dem MATLAB-Supportpaket für Arduino-Hardware
- Arduino Explorer App
- Erste Schritte mit MATLAB
- Arduino Programmierung mit MATLAB®
- Wiki-Artikel: Linearpotentiometer
Versuchsvorbereitung
- Studieren Sie die Tutorials
- Beantworten Sie die Lernzielkontrollfragen.
Aufgabe 2: LED mit MATLAB® dimmen


- Schließen Sie das Linearpotentiometer (vgl. Abb. 1) an deb analogen Eingang
A0des Arduino an. - Messen Sie den Verfahrweg des Potentiometers.
- Schließen Sie eine Diode mit 100 Ω Vorwiderstand gegen GND an einen PWM-fähigen Digitaleingang (z. B.
D11~). - Dimmen Sie die Diode mit einem MATLAB®-Skript mittels Potentiometer.
- Stellen Sie nachfolgende Ergebnis dar:
- Digitalwort D
- Widerstand in Ω
- Helligkeit in %
- Strecke in cm
| Teillösung |
close all; clc; % Initialisierung
if exist('hArduino')==0
hArduino = arduino('COM8','Uno'); % Arduino Objekt erzeugen
disp('Neues Arduino Objekt erzeugt.')
end
nMesswerte = 100;
%% Messschleife
for i=1:nMesswerte
Spannung = readVoltage(hArduino, 'A0') % Spannung messen
writePWMVoltage(hArduino, 'D11', Spannung); % LED via PWM dimmen
pause(0.1);
end
clear hArduino
|
| Tipp 1 |
| Die LED benötigt einen 100 Ω Vorwiderstand, damit Sie nicht kaputt geht (Farbcode: Braun-Schwarz-Braun). |
| Das lange Beinchen der Diode ist Plus (+) und das Kurze Minus (-, GND). |
| Die PWM-fähigen Ports sind mit ~ markiert. Nehmen Sie beispielsweise Digitalport 11~. |
| Mit einer Pulsweitenmodulation (s. Abb. 3) lässt sich eine LED dimmen. |
| Tipp 2 |
| Am Analogeingang A0 ist ein 10-Bit Analog-Digital-Wandler verbaut. 0 V wird zum Digitalwert 0 und 5 V zum Digitalwert 1023 (). |
| 0..1023 wird über die Division durch 4 ungefähr zum Wertebereich 0..255 für die PWM. |
Arbeitsergebnis: dimmeLED.m
→ zurück zum Hauptartikel: BSE Angewandte Informatik - SoSe26