Modellbasierte Programmierung des Arduino mit 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:
- Simulink Support Package for Arduino
- Arduino Hardware Dokumentation
- Using Arduino with MATLAB and Simulink (Video, 33 Min.)
- Programming Arduino Uno with Simulink (Video, 7 Min.)
- Install the MATLAB and Simulink Support Packages for Arduino (Video, 2 Min.)
- Simulink IO on Arduino (Video, 21 Min.)
- Programming an Arduino Robot in Simulink (Video, 25 Min.)
- Simulink Beispiele
- How to Build a Heart Rate Detector Using Arduino and MATLAB (Video, 6 Min.)
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