Data acquisition and device control with Scilab.

Dependencies:   Servo MPU6050

Desciription

Scilab is a freeware alternative to MATLAB. For low-cost data acquisition and device control a nice Arduino toolbox is available.

https://os.mbed.com/media/uploads/hudakz/scilab.png

This site presents a Mbed port which allows to use Mbed boards (equipped with Arduino header) rather than Arduino to import real time data into Scilab and to control real equipment witch Scilab.

https://os.mbed.com/media/uploads/hudakz/arduino-temp-read_imagelarge_1.jpeg

Installation
  • Install Scilab to your PC, if not done yet.
  • Launch Scilab and install the Arduino toolbox by executing the following command from the Scilab console:

--> atomsInstall("arduino")
Controlling Mbed's digital output from Scilab
  • In Xcos open examples/Arduino1.zcos

/media/uploads/hudakz/scilab_arduino1.png

  • Double click on the Board setup block and replace the serial port number with mbed's actual virtual serial port number.
  • Double click on the Digital WRITE block and set Digital Pin to 13 (D13 is connected to LED1).
  • Start simulation and LED1 on the Mbed board should start blinking.
Reading and displaying Mbed's analog input
  • In Xcos open examples/Arduino2.zcos

/media/uploads/hudakz/scilab_arduino2.png

  • Double click on the Board setup block and replace the serial port number with mbed's actual virtual serial port number.
  • Double click on the Analog READ block and set Analog Pin to 2.
  • Start simulation and a graph should appear showing the analog signal measured on Mbed's pin A2.

NOTE: Currently, there is bug in the toolbox ARDUINO_ANALOG_READ_sim function (I have reported to Scilab) so the analog readings are not correct.

/media/uploads/hudakz/scilab_graph.png

PID controller
  • In Xcos open examples/Arduino9.zcos

/media/uploads/hudakz/scilab_arduino9.png

Committer:
hudakz
Date:
Mon Jan 18 19:51:22 2021 +0000
Revision:
0:295b7e1c12f3
Data acquisition and device control with Scilab.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:295b7e1c12f3 1 ![](./resources/official_armmbed_example_badge.png)
hudakz 0:295b7e1c12f3 2 # Blinky Mbed OS example
hudakz 0:295b7e1c12f3 3
hudakz 0:295b7e1c12f3 4 The example project is part of the [Arm Mbed OS Official Examples](https://os.mbed.com/code/) and is the [getting started example for Mbed OS](https://os.mbed.com/docs/mbed-os/v5.14/quick-start/index.html). It contains an application that repeatedly blinks an LED on supported [Mbed boards](https://os.mbed.com/platforms/).
hudakz 0:295b7e1c12f3 5
hudakz 0:295b7e1c12f3 6 You can build the project with all supported [Mbed OS build tools](https://os.mbed.com/docs/mbed-os/latest/tools/index.html). However, this example project specifically refers to the command-line interface tool [Arm Mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).
hudakz 0:295b7e1c12f3 7 (Note: To see a rendered example you can import into the Arm Online Compiler, please see our [import quick start](https://os.mbed.com/docs/mbed-os/latest/quick-start/online-with-the-online-compiler.html#importing-the-code).)
hudakz 0:295b7e1c12f3 8
hudakz 0:295b7e1c12f3 9 1. [Install Mbed CLI](https://os.mbed.com/docs/mbed-os/latest/quick-start/offline-with-mbed-cli.html).
hudakz 0:295b7e1c12f3 10
hudakz 0:295b7e1c12f3 11 1. Clone this repository on your system, and change the current directory to where the project was cloned:
hudakz 0:295b7e1c12f3 12
hudakz 0:295b7e1c12f3 13 ```bash
hudakz 0:295b7e1c12f3 14 $ git clone git@github.com:armmbed/mbed-os-example-blinky && cd mbed-os-example-blinky
hudakz 0:295b7e1c12f3 15 ```
hudakz 0:295b7e1c12f3 16
hudakz 0:295b7e1c12f3 17 Alternatively, you can download the example project with Arm Mbed CLI using the `import` subcommand:
hudakz 0:295b7e1c12f3 18
hudakz 0:295b7e1c12f3 19 ```bash
hudakz 0:295b7e1c12f3 20 $ mbed import mbed-os-example-blinky && cd mbed-os-example-blinky
hudakz 0:295b7e1c12f3 21 ```
hudakz 0:295b7e1c12f3 22
hudakz 0:295b7e1c12f3 23
hudakz 0:295b7e1c12f3 24 ## Application functionality
hudakz 0:295b7e1c12f3 25
hudakz 0:295b7e1c12f3 26 The `main()` function is the single thread in the application. It toggles the state of a digital output connected to an LED on the board.
hudakz 0:295b7e1c12f3 27
hudakz 0:295b7e1c12f3 28 ## Building and running
hudakz 0:295b7e1c12f3 29
hudakz 0:295b7e1c12f3 30 1. Connect a USB cable between the USB port on the board and the host computer.
hudakz 0:295b7e1c12f3 31 2. <a name="build_cmd"></a> Run the following command to build the example project and program the microcontroller flash memory:
hudakz 0:295b7e1c12f3 32 ```bash
hudakz 0:295b7e1c12f3 33 $ mbed compile -m <TARGET> -t <TOOLCHAIN> --flash
hudakz 0:295b7e1c12f3 34 ```
hudakz 0:295b7e1c12f3 35 The binary is located at `./BUILD/<TARGET>/<TOOLCHAIN>/mbed-os-example-blinky.bin`.
hudakz 0:295b7e1c12f3 36
hudakz 0:295b7e1c12f3 37 Alternatively, you can manually copy the binary to the board, which you mount on the host computer over USB.
hudakz 0:295b7e1c12f3 38
hudakz 0:295b7e1c12f3 39 Depending on the target, you can build the example project with the `GCC_ARM`, `ARM` or `IAR` toolchain. After installing Arm Mbed CLI, run the command below to determine which toolchain supports your target:
hudakz 0:295b7e1c12f3 40
hudakz 0:295b7e1c12f3 41 ```bash
hudakz 0:295b7e1c12f3 42 $ mbed compile -S
hudakz 0:295b7e1c12f3 43 ```
hudakz 0:295b7e1c12f3 44
hudakz 0:295b7e1c12f3 45 ## Expected output
hudakz 0:295b7e1c12f3 46 The LED on your target turns on and off every 500 milliseconds.
hudakz 0:295b7e1c12f3 47
hudakz 0:295b7e1c12f3 48
hudakz 0:295b7e1c12f3 49 ## Troubleshooting
hudakz 0:295b7e1c12f3 50 If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.
hudakz 0:295b7e1c12f3 51
hudakz 0:295b7e1c12f3 52 ## Related Links
hudakz 0:295b7e1c12f3 53
hudakz 0:295b7e1c12f3 54 * [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html).
hudakz 0:295b7e1c12f3 55 * [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html).
hudakz 0:295b7e1c12f3 56 * [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html).
hudakz 0:295b7e1c12f3 57 * [Mbed OS bare metal](https://os.mbed.com/docs/mbed-os/latest/reference/mbed-os-bare-metal.html).
hudakz 0:295b7e1c12f3 58 * [Mbed boards](https://os.mbed.com/platforms/).
hudakz 0:295b7e1c12f3 59
hudakz 0:295b7e1c12f3 60 ### License and contributions
hudakz 0:295b7e1c12f3 61
hudakz 0:295b7e1c12f3 62 The software is provided under Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more info.
hudakz 0:295b7e1c12f3 63
hudakz 0:295b7e1c12f3 64 This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.