Publicado el 20 de Septiembre del 2018
2.613 visualizaciones desde el 20 de Septiembre del 2018
509,8 KB
20 paginas
Creado hace 12a (22/11/2012)
Arduino - Matlab
Unidad 3
Contenido
Introducción a la plataforma Arduino ONE
Configuración de la aplicación
Ejemplos en Matlab
Ejemplos en Simulink
Aplicaciones
2
Introducción a la plataforma
Arduino ONE
Arduino es una plataforma de hardware libre,
basada en una placa con un microcontrolador y un
entorno de desarrollo, diseñada para facilitar el uso
de la electrónica en proyectos multidisciplinares.
Su lenguaje de programación es Processing/Wiring.
Pero se pueden utilizar otros C, C#, Matlab, etc.
3
Introducción a la plataforma
Características generales
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended)7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins 6
PWM: 3, 5, 6, 9, 10, and 11.
Provide 8-bit PWM output with the analog Write()
function.
4
Introducción a la plataforma
Características generales
5
Introducción a la plataforma
Arduino SHIELDS
6
Introducción a la plataforma
What is Arduino good for?
Projects requiring Analog and Digital IO.
Mechatronics Projects using Servo, DC or Stepper
Motors.
Projects with volume/size and/or budget constraints.
Projects requiring some amount of
flexibility and
adaptability (i.e. changing code and functions on
the fly).
7
Introducción a la plataforma
What is Arduino good for?
Basically any Mechatronics project requiring sensing
and
computational
requirements are not too high (e.g. can’t do image
processing with it)
provided
acting,
that
Ideal for undergraduate/graduate Mechatronics Labs
and Projects
There is a very large community of people using it for
all kind of projects, and a very lively forum where it
is possible to get timely support.
8
Introducción a la plataforma
MathWorks Solutions
Arduino IO Package:
Used to perform analog and digital input and output
as well as motor control
from the MATLAB
command line.
Arduino Target:
Used to compile and download Simulink® code
directly to the Arduino board.
9
Introducción a la plataforma
Using MATLAB vs. IDE Environment
MATLAB
is more
interactive,
from
Digital/Analog
seen
immediately without needing to program – compile –
upload – execute each time.
I/O instructions
results
be
can
MATLAB code is generally more compact and easier to
understand than C (higher-abstraction data types,
vectorization, no need for initialization/allocation, less
lines of code) which means:
a) MATLAB scales better with project complexity
b) People get the job done faster in MATLAB
10
Tema 3.2 Configuración de la aplicación
Realice lo siguiente:
Instalar el arduino IDE (http://www.arduino.cc/es/)
Bajar la carpeta ArduinoIO
(http://www.mathworks.com/matlabcentral/fileexchan
ge/27843 ), colocarla en Toolbox.
Cargar el archivo adiosrv.pde al IDE del Arduino y a
su ves al Arduino (es decir, upload)
Abrir MATLAB.
Ejecutar el comando “install_arduino” (sin las comillas)
11
Tema 3.2 Configuración de la aplicación
Pasos generales
Que
el
arduino
tenga
instalado
el
programa
adiosrv.pde
Son cuatro fases en matlab:
a) Establecimiento de la comunicación
b) Configurar puertos
c) Utilizar entradas / salidas
d) Terminar la comunicación
12
Tema 3.2 Configuración de la aplicación
Establecimiento de la configuración
Hay que conocer en qué puerto COM quedó instalado
el arduino, ver “Administrador de dispositivos”.
% connect the board
a=arduino('COM5');
13
Tema 3.2 Configuración de la aplicación
Configurar puertos
a.pinMode(13,'output') % sets digital pin
#13 as output
a.pinMode(8,'output') % sets digital pin
#8 as output
a.pinMode(4,'input') % sets digital pin
#4 as input
a.pinMode(5); % prints the
status of digital pin #5
a.pinMode;
% prints the status of
all pins
14
Tema 3.2 Configuración de la aplicación
UTILIZAR SALIDAS DIGITALES (interna)
Utilizar el LED del Ardiuno, que esta internamente
conectado a través de la tarjeta por el PIN13.
a.digitalWrite(13,1); % sets pin #13 high
a.digitalWrite(13,0); % sets pin #13 low
15
Tema 3.2 Configuración de la aplicación
Terminar la comunicación
No olvidar nunca, antes de desconectar el Arduino, o
cerrar el Matlab, terminar la comunicación.
A través de este sencillo paso:
>> delete(a);
El no hacerlo, produciría errores, tendrían que resetear
la computadora, ejemplo:
16
Tema 3.3 Ejemplos con Matlab
ENTRADA DIGITAL (1/2)
Asumiendo que ya tiene cargado el Arduino, el
programa adiosrv.pde.
Conectar así:
17
Tema 3.3 Ejemplos con Matlab
ENTRADA DIGITAL (2/2)
Teclear en ventana de comandos
% MATLAB
a=arduino('COM5');
a.pinMode(4,'input');
a.digitalRead(4);
% Leer varias veces, moviendo PushButton
delete(a);
Hacer un script, que leyendo un push button, mande
encender/apagar un LED. Use ciclo while.
18
Tema 3.3 Ejemplos con Matlab
ENTRADA ANALÓGICA (1/2)
Use the command val=a.analogRead(pin) with the pin
as an integer argument:
Example:
val=a.analogRead(0); % reads analog pin # 0
The returned argument ranges from 0 to 1023
Note that 6 analog input pins (0 to 5) coincide with the
digital pins 14 to 19 and are located on the bottom right
corner of the board.
19
Tema 3.3 Ejemplos con Matlab
ENTRADA ANALÓGICA (2/2)
20
Comentarios de: Unidad 3 - Arduino - Matlab (0)
No hay comentarios