With the Arduino Modelica library you can simulate your circuits and sketches on a virtual Arduino Uno and connect your Modelica models to real-world circuits using the Firmata protocol.
- Dymola 2017 FD01 or 2018
- Visual Studio 2015
- download the latest release and extract the archive
- in Dymola select
File > Open...
and openArduino/package.mo
from the extracted files - in the package browser double-click
Arduino.Examples.Blink
- right-click on the toolbar and check
Simulation
andAnimation
to view the simulation and animation toolbars - click
to run the Simulation
- after the simulation has finished click
in the animation toolbar and watch the LED
L
blink - try the other examples in
Arduino.Examples
To simulate your sketch MySketch
you have to perform the following steps.
- save your sketch as
Sketches/MySketch.ino
- add the block
Arduino.Components.ArduinoUno
to your model - double-click the block and set the parameter
sketch
to"MySketch.ino"
-
currently you can use only one instance of ArduinoUno in your Modelica model
-
the whole Arduino API is supported except for the following functions
- analogReadResolution()
- analogWriteResolution()
- tone()
- noTone()
- shiftOut()
- shiftIn()
- isWhitespace()
- Serial
print(), println() and write() are supported
- Stream
- Keyboard
- Mouse
The following libraries are included and can be used directly.
Name | Description |
---|---|
Servo.h | Servo library to control RC (hobby) servo motors |
Braccio.h | control the Braccio robot arm |
PID_v1.h | PID controller library for Arduino |
To use an external library in your sketch copy its header files (*.h
) and source files (*.cpp
) to the Libraries
folder. If the library contains .cpp
files you have to add them to the Arduino
project by dragging them from the Libraries
folder in the file browser onto the Source Files
folder in the solution explorer.
The code is licensed GPLv3, the documentation CC BY-SA 4.0.
Developed by Torsten Sommer at Dassault Systèmes. Copyright © 2017 Dassault Systèmes.