Modellbasierte Programmierung des Arduino mit Simulink: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 56: Zeile 56:
* Skript erstellen
* Skript erstellen
* Initialisierung
* Initialisierung
|| [[MATLAB Lernzielkontrolle: Einführung|Einführung]]
|| [[Simulink/Arduino Lernzielkontrolle: Einführung|Einführung]]
|-
|-
| 2  || [[MATLAB Repetitorium - Graphische Darstellung|Graphische Darstellung]]||
| 2  || [[MATLAB Repetitorium - Graphische Darstellung|Graphische Darstellung]]||

Version vom 15. November 2024, 17:15 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