A Simulink Arduino toolbox with blocks for: quadrature encoder, compass/magnetometer, barometer, temperature, accelerometer, gyroscope, ultrasonic, driver amplifier (DC motor driver), and simple serial communication and plotting tools.
Supported I2C Sensors: MPU6050, MPU9250, HMC5883, BMP180, BMP280, MS5611, BMI160 (commonly found on GY-521, GY-271, GY-91, GY-87), HC-SR04, VL53L0X, QMC5883.
Examples are provided for basic hardware IO, step response and closed loop control of an Lego NXT motor.
Download includes basic curriculum labs describing the following:
- Simulink Arduino Intro Blinking LED
- RASPlib Installation Instructions
- Analog and Encoder input, and PWM output
- Gyroscope Reading and Calibrating
- Magnetometer - Making a Compass
- Serial Communication Basics
- Bluetooth Communication
- DC Motor Step Response
- Realistic DC Motor Simulation
- Basic DC Motor Control
- Realistic PI Controller Simulation
- DC Motor Parameter ID
- DC Motor Control with Full State Feedback and LQR
- Determining Angle with Complementary Filter
- Basic Balancing Lab
- Ultrasonic Distance Sensor
- Solving ODEs with MATLAB and Simulink
Labs are draft labs. Please contact with suggestions or help before leaving negative feedback.
Tested Matlab Versions 2015a-2021a. Support for Mega, Nano and Uno. Not tested or expected to work with Due without modification.
We highly recommend 2015a 32 bit for the best user experience. It is the fastest for compile and connection times and it the most tested version. 2020a also highly recommended.