Modellbasierte Programmierung des Arduino mit Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
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

  • Hauptseite
  • Einrichtung und Konfiguration
  • Beispiele
  • Versionshinweise

Funktionen

  • Datenerfassung mit Sensorblöcken
  • Unterstützt die Programmierung von Arduino Engineering Kit und Arduino Engineering Kit Rev 2
  • Unterstützt die Programmierung von Arduino-kompatibler ESP32-Hardware (ab R2022a)
  • Anleitung zum Erstellen eines benutzerdefinierten Gerätetreiberblocks für die Arduino-Bibliothek
  • Kommunikation mit Hardware im Normalmodus-Simulation mithilfe verbundener E/A
  • Mit Simulink Coder™ können Sie auf den von Simulink generierten C-Code zugreifen und ihn auf das ursprüngliche Modell zurückverfolgen.
  • Mit Embedded Coder® können Sie optimierten Code generieren, Code-Ersetzungsbibliotheken verwenden und Software-in-the-Loop- und Processor-in-the-Loop-Verifizierungen durchführen.

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

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