Modellbasierte Programmierung des Arduino mit Simulink: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 45: Zeile 45:


Weitere Informationen zu den unterstützten Arduino-Boards und anderen Funktionen finden Sie unter - [https://www.mathworks.com/hardware-support/arduino.html Arduino-Support von Simulink].
Weitere Informationen zu den unterstützten Arduino-Boards und anderen Funktionen finden Sie unter - [https://www.mathworks.com/hardware-support/arduino.html Arduino-Support von Simulink].
= Lektionen =
{| class="wikitable"
|-
! #  !! Thema !! Inhalte !! Lernzielkontrolle
|-
| 1  || [[Simulink Support Package für Arduino Hardware - Einführung|Einführung]] ||
* Oberfläche
* Vektoren und Matrizen
* Skript erstellen
* Initialisierung
|| [[MATLAB Lernzielkontrolle: Einführung|Einführung]]
|-
| 2  || [[MATLAB Repetitorium - Graphische Darstellung|Graphische Darstellung]]||
* 2D-Grafik
* Grafik-Handles
* Laden und Speichern von Variablen
* 3D-Grafik
|| [[MATLAB Lernzielkontrolle: Graphische Darstellung|Graphische Darstellung]]
|-
| 3 || [[MATLAB Repetitorium - Programmstrukturen|Programmstrukturen]] ||
* Verzweigungen
* Schleifen
* Funktionen
* Debugging
* Ein- und Ausgaben
* <code>varargs</code>-Mechanismus
|-
| 4 || [[MATLAB Repetitorium - Nachhaltige Programmierung|Nachhaltige Programmierung]] ||
* Kommentare
* Programmierrichtlinien
* MATLAB<sup>®</sup>-Hilfe
|-
| 5  || [[MATLAB Repetitorium - Daten und Dateizugriff|Daten & Dateizugriff]]  ||
* Textdateien einlesen
* Textdateien schreiben
* <code>.mat</code>-Datei speichern & laden
* Cell-Array
|-
| 6  || Datenstrukturen ||
* Datentypen
* Matrizen
* Matrix-Operatoren
* Cell-Array
|-
| 8  || Strukturen und Klassen ||
* struct
* Objektorientierte Programmierung (OOP)
|-
| 9  || Grafische Benutzeroberfläche (GUI)||
* Live-Skript (<code>.mlx</code>)
*App-Designer
|-
| 10  || Einführung in Simulink ||
|-
| 11  || [[MATLAB Repetitorium - Symbolische Mathematik|Symbolische Mathematik]] ||
* Plotten von symbolischen Funktionen
|| [[MATLAB Lernzielkontrolle: Symbolische Mathematik|Symbolische Mathematik]]
|-
| 12 || [[MATLAB Repetitorium - Bildverarbeitung|Einführung in die Bildverarbeitung]] ||
* Bilder einlesen und anzeigen
* Videoverarbeitung
* Bildverbesserung durch Filter
* Segmentierung
* Morphologische Operationen
|}


= Aufgaben =
= Aufgaben =

Version vom 15. November 2024, 17:01 Uhr

Abb. 1: MATLAB®/Simulink
Autor: Prof. Dr.-Ing. Schneider

Einleitung

Die Arduino-Entwicklungsboards können nicht nur mit der eigenen Arduino-Software pro- grammiert werden. Die Programmierung ist sogar mit MATLAB und Simulink möglich. Dazu siehe z.B. folgende Videos/Webinare von der Firma The MathWorks:

Das Simulink® Support Package für Arduino®-Hardware bietet Ihnen die neueste modellbasierte Designtechnologie, um eingebettete Systeme auf Arduino zu erstellen, von der Simulation bis zur Implementierung.

Inhalt

  • Automatisierte Erstellung, Bereitstellung und Ausführung
  • Bibliothek mit Simulink-Blöcken für Arduino-Peripheriegeräte wie ADC, PWM, Seriell, I2C, SPI
  • Kommunikation mit Hardware im Normalmodus-Simulationsmodus mithilfe des verbundenen E/A-Modus
  • Echtzeit-Parameterabstimmung und Signalerfassung mithilfe des externen Modus
  • Beispiele mit Fokus auf verschiedene Anwendungsbereiche wie Steuerungssysteme, Robotik, Signalverarbeitung, IoT
  • Anleitung zum Erstellen eines benutzerdefinierten Simulink-Blocks für Gerätetreiber für die Arduino-Bibliothek
  • Codeüberprüfung und -validierung mit Processor-In-the-Loop (PIL) mithilfe von Embedded Coder®

Dokumentation

Funktionen

Weitere Informationen zu den unterstützten Arduino-Boards und anderen Funktionen finden Sie unter - Arduino-Support von Simulink.

Lektionen

# Thema Inhalte Lernzielkontrolle
1 Einführung
  • Oberfläche
  • Vektoren und Matrizen
  • Skript erstellen
  • Initialisierung
Einführung
2 Graphische Darstellung
  • 2D-Grafik
  • Grafik-Handles
  • Laden und Speichern von Variablen
  • 3D-Grafik
Graphische Darstellung
3 Programmstrukturen
  • Verzweigungen
  • Schleifen
  • Funktionen
  • Debugging
  • Ein- und Ausgaben
  • varargs-Mechanismus
4 Nachhaltige Programmierung
  • Kommentare
  • Programmierrichtlinien
  • MATLAB®-Hilfe
5 Daten & Dateizugriff
  • Textdateien einlesen
  • Textdateien schreiben
  • .mat-Datei speichern & laden
  • Cell-Array
6 Datenstrukturen
  • Datentypen
  • Matrizen
  • Matrix-Operatoren
  • Cell-Array
8 Strukturen und Klassen
  • struct
  • Objektorientierte Programmierung (OOP)
9 Grafische Benutzeroberfläche (GUI)
  • Live-Skript (.mlx)
  • App-Designer
10 Einführung in Simulink
11 Symbolische Mathematik
  • Plotten von symbolischen Funktionen
Symbolische Mathematik
12 Einführung in die Bildverarbeitung
  • Bilder einlesen und anzeigen
  • Videoverarbeitung
  • Bildverbesserung durch Filter
  • Segmentierung
  • Morphologische Operationen

Aufgaben

Aufgabe 2.1

Bringen Sie die LED auf dem Arduino (PIN 13) zum Pulsieren. Geben Sie in MATLAB® diesen Befehl ein:

 openExample('arduino/GettingStartedWithArduinoRHardwareExample','supportingFile','arduino_gettingstarted')

Es öffnet sich eine umfangreiche Beispiel in Simulink. Wählen Sie Ihre Hardware aus (z. B. Arduino Uno), steuern Sie Pin 13 an und drücken Sie Build, Deploy & Start

Aufgabe 2.2

Eine LED auf dem Steckbrett soll blinken. Nutzen Sie einen 220 Ω Vorwiderstand zur Strombegrenzung.

Aufgabe 2.3

Zwei Leuchtdioden sollen abwechselnd blinken. Nutzen Sie einen 220 Ω Vorwiderstand je LED zur Strombegrenzung.

Aufgabe 2.4

Eine LED soll pulsierend heller und dunkler werden. Dimmen Sie die LED mittels PWM. Nutzen Sie hierfür einen Sinusgenerator.

Aufgabe 2.5

Lesen die die Stellung des Potentiometers ein.

Aufgabe 2.6

Dimmen Sie die LED mittels Potentiometer (0 %..100 %).



→ zurück zum Hauptartikel: Angewandte Informatik