10
FACULTAD DE INGENIERIA DE COMPUTACION COMPUTACION Y SISTEMAS
Pr ogr amac i óndeMi Mi c r oc ont r ol ador es
Arduino - Matlab
ALUMNO: PIER ANTONY HORNA TREJO
PROGRAMACI ON DE MICROCONT PROGRAMACION MICROCONTROLADORES ROLADORES ARDUINO UPA UP A
&
MATLAB -
Ar dui no
10
Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware exibles y fáciles de usar. Se creó para artistas,
diseñadores,
acionados
y
cual!uiera
interesado en crear entornos u ob"etos interacti#os. Arduino puede tomar información del entorno a tra#$s de sus pines de entrada de toda una %ama de sensores y puede afectar a!uello !ue le rodea controlando luces, motores y otros actuadores. &l microcontrolador en la placa Arduino se pro%rama mediante
el len%ua"e
de
pro%ramación
Arduino'basasdo en (irin%) y el entorno de desarrollo Arduino 'basado en *rocessin%). +os proyectos hechos con Arduino pueden e"ecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software 'p.e". lash, *rocessin%, -ax-S*).
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Ar dui no
+as
placas
pueden
ser hechas
a
mano o compradasmontadas de fábrica el software puede ser descar%ado de forma %ratuita. +os cheros de diseño de referencia '/A) están disponibles ba"o una licencia abierta, as pues eres libre de adaptarlos a tus necesidades /uando se habla de Arduino, es necesario tener en cuenta
!ue
este
se
halla
constituido
por
tres
elementos fundamentales y !ue todos ellos se denominan ba"o el mismo nombre 'Arduino), estos componentes son2 • • •
&l hardware o placas de Arduino &l entorno de pro%ramación o 3& &l len%ua"e de pro%ramación.
&n %eneral estos componentes fueron creados con la nalidad de tener una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware exibles y fáciles de usar.
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Lengua j edePr ogr amac i ón c onAr dui no
+a plataforma Arduino se pro%rama mediante el uso d e un len%ua"e propio basado en el popular len%ua"e de pro%ramación de alto ni#el *rocessin%. Arduino está basado en / y soporta todas las funcione s del estándar / y al%unas de /44. Processing es
un len%ua"e
de
pro%ramación y entorno de desarrollo inte%rado de códi%o abierto basado en 5a#a, de fácil utili6ación, y !ue
sir#e
como
medio
para
la
enseñan6a
y
producción de proyectos multimedia e interacti#os de diseño di%ital.
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
Arduino Duemilanove. Figura 1. Aspecto de la placa 10
Le ngua j edePr ogr amac i ón c onAr dui no
&l pro%rama se implementará haciendo uso del entorno de pro%ramación propio de Arduino y se
transferirá
empleando un cable 7S8. Si bien en el caso de la placa 7S8 no es preciso utili6ar una fuente de alimentación externa, ya !ue el propio cable 7S8 la proporciona, para la reali6ación de al%unos de los experimentos prácticos as !ue será necesario disponer de una fuente de alimentación externa ya !ue la alimentación proporcionada por el 7S8
puede
no
ser
suciente
&l #olta"e de la fuente puede estar entre 9 y :;
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Figura 2. Entorno de desarrollo.
Es t r uc t ur aBás i c adeunPr ogr ama
Figura 3.
a) /ompilar pro%rama. b) 8otón de reset. c) =ransferir pro%rama a la placa.
+a estructura básica de pro%ramación de Arduino e s bastantesimple y di#ide la e"ecución en dos partes2 setup y loop. Set!") constituye la preparación del pro%rama y #oo !") es la
e"ecución. &n la función Set!") se incluye la declaración de #ari ables y se trata de
la primera función !ue
se e"ecuta en el pro%rama.
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Lenguaj edePr ogr amac i ónAr dui no
&sta función se e"ecuta una >nica #e6 y es empleada para con%urar el pin-ode. '&"m. Si un determinado pin di%ital es de ent rada o salida) e iniciali6ar la comunicación serie. +a función #oo!") incluye el códi%o a ser e"ecutado co ntinua. '+eyendo las entradas de la placa, salidas, etc.).
/omo se obser#a en este blo!ue de códi%o cada instrucción acaba con y los comentarios se indican con ??. Al i%ual !ue en / se pueden introducir blo!ues de co mentarios con ?@ @?. $UNCIONES
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Lenguaj edePr ogr amac i ónAr dui no %ARIABLES
7na #ariable puede ser declarada en el inicio del pro%rama antes de Setup '), localmente a una determinada función e incluso dentro de un blo!ue como pueda ser un bucle. &l sitio en el !ue la #ariable es declarada determina el ámbito de la misma. 7na #ariable %lobal es a!uella !ue puede ser empleada en cual!uier función del pro%rama. &stas #ariables deben ser declaradas al inicio del pro%rama 'Antes de la función setup ')).
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
MATLAB MATLAB es un len%ua"e de alto ni#el y un entorno
interacti#o para el cálculo num$rico, #isuali6ación y pro%ramación. 7sando -A=+A8, se puede anali6ar los datos, desarrollar aplicaciones. &l funciones
al%oritmos y crear modelos y
len%ua"e,
inte%radas de
las
herramientas
matemáticas
y
las
permiten
explorar m>ltiples enfo!ues y lle%ar a una solución más rápida !ue con las ho"as de cálculo o len%ua"es de pro%ramación tradicionales, como / ? / 4 4 o 5a#a. &ntre
sus
prestaciones
básicas
se
hallan2
la
manipulación de matrices, la representación de datos y funciones, creación
la de
implementación interfaces
de
de al%oritmos,
usuario
'B73)
y
la la
comunicación con pro%ramas en otros len%ua"es y con otros
dispositi#os hardware.
&l
pa!uete
-A=+A8
dispone de dos herramientas adicionales !ue expanden sus prestaciones, a saber, SimulinC 'plataforma de simulación multidominio) y B73& 'editor de interfaces de usuario D B73). Además, se pueden ampliar las capacidades de -A=+A8 con las ca"as de herramientas PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
'toolboxes) y las de 10 SimulinC con los pa!uetes de blo!ues 'blocCsets).
Pr ogr amac i ónc o nMat l ab
B73& es un entorno de pro%ramación #isual disponible en MATLAB para reali6ar y e"ecutar pro%ramas !ue necesiten
in%reso
continuo
de
datos.
=iene
las
caractersticas básicas de todos los pro%ramas #isuales como
&ditor
•
*ro"ect -ana%er
•
Simulador
•
&nsamblador
•
+inCer
•
*ro%ramador
CAMPO DE ETIUETAS
+as eti!uetas son nombres de subrutinas o secciones de códi%o fuente. ando nombres a partes del PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
pro%rama, se posibilita10!ue las instrucciones puedan saltar o hacer referencia a esas partes sin necesidad de
recordar las direcciones
fsicas donde
están
ubicadas.
Pr ogr amac i ónc onMat l ab &l ensamblador -*AS- permite eti!uetas de hasta E: caracteres. 7na eti!ueta puede ir se%uida de dos puntos '2), espacios, tabuladores o F&=7FG. eben empe6ar por un carácter alfanum$rico o de subrayado 'H) y pueden contener cual!uier combinación de caracteres alfanum$ricos CAMPO DE INSTRUCCIONES
+a se%unda columna corresponde al campo de instrucciones.
*uede
microcontrolador
o
ser una
una
instrucción
instrucción
para
del el
ensamblador, llamada directi#a
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
$igra '( Listao e# !rogra*a
Pr ogr amac i ónc onMat l ab Con+enciones en #a escritra e# c,igo ente
*ara hacer la tarea del pro%ramador más %rata, se usan al%unas con#enciones. /on ellas, se facilita la re#isión y comprensión de un pro%rama. Al%unas de las con#enciones más utili6adas son2 I +os cheros de códi%o fuente lle#arán la extensión @.AS- o @.SF/ I +os cheros de listado lle#arán la extensión @.+S= I +os cheros de códi%o ob"eto lle#arán la extensión @.J85 I +os cheros e"ecutables lle#arán la extensión @.K&L
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Pr ogr amac i ónc onMat l ab Creano e# .c/ero ente(
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -
10
Creano e# .c/ero ente
Pr ogr amac i ónc onMat l ab &l si%uiente paso para desarrollar una aplicación desde MPLAB-IDE es creando un proyecto, la forma más sencilla es utili6ar la herramienta -*+A8 *ro"ect (i6ard. '(
Abrir la herramienta -*+A8 *ro"ect (i6ard
seleccionando *ro"ectM*ro"ect (i6ard. 0( &le%ir el modelo de microcontrolador *3/19NO. 1( /onrmar la locali6ación de -icrochip =oolsuite, y
seleccionad
-*AS-
Assembler.
3n%eniera
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
de
MATLAB -
Sistemas
y
10 Automática
*rácticas
de
-icrocontroladores *3/ 2( 3ntroducir un nombre para denominar el proyecto
'*royecto1) y seleccionar el directorio donde se desea %uardar. 3( Añadir el chero fuente creado anteriormente
'e"emplo1.asm) al proyecto. 4( *ulsar el botón de inali6ar para salir del asistente.
PROGRAMACION DE MICROCONTROLADORES ARDUINO UPA
&
MATLAB -