0% encontró este documento útil (0 votos)
122 vistas

Proyecto Arduino

Este documento describe un proyecto final para la unidad III de Programación en Arduino. El objetivo es que los estudiantes comprendan las funciones, características y lenguaje de Arduino y sus aplicaciones principales a través de la elaboración de una presentación de PowerPoint sobre el tema.

Cargado por

Misael Robles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas

Proyecto Arduino

Este documento describe un proyecto final para la unidad III de Programación en Arduino. El objetivo es que los estudiantes comprendan las funciones, características y lenguaje de Arduino y sus aplicaciones principales a través de la elaboración de una presentación de PowerPoint sobre el tema.

Cargado por

Misael Robles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 64

FIME PROGRAMACIÓN II

PROYECTO FINAL PROGRAMACION EN ARDUINO

EVALUACION DE LA UNIDAD III


Hoja de instrucciones
Datos generales:
ESTUDIANTE: ________________________________________ GRADO Y SECCIÓN: ____________________
DOCENTE: ___Ing. Sergio Ramírez Lavenant FECHA DE ENTREGA: 01/Junio/2020_ _

Objetivo de la actividad: El estudiante comprenderá las funciones, las características, la estructura y el tipo de lenguaje que
tiene el programa Arduino y sus principales aplicaciones.

Instrucciones de la actividad: El estudiante debe abordar los recursos didácticos digitales recomendados y por consulta
autónoma, debe elaborar una presentación en Power Point, de la descripción del programa Arduino, que tiene una relación
cercana al programa JAVA, al terminar deberá convertirlo a PDF y enviarlo para su revisión; la presentación debe contener
los siguientes puntos:

1. Presentación (portada principal, con los datos 11. Programación: Alcance de variables
correspondientes). 12. Programación: estructura de control if/else
2. Introducción (Breve explicación del programa 13. Programación: estructura de control loop
Arduino ¿qué es?). 14. Programación: estructura de control for
3. Características de una placa del Arduino 15. Programación: estructura de control while
4. Ejemplos de Arduino 16. Programación: señales digitales
5. Lenguaje del programa Arduino 17. Programación: señales analógicas
6. Programación: estructura 18. Programación: desde Matlab/Simulink
7. Programación: Comentarios y sintaxis 19. Programación: desde LabView
8. Programación: Operadores de comparación 20. Conclusión personal.
9. Programación: Operadores matemáticos 21. Bibliografía.
10. Programación: Variables

Recursos didácticos digitales:


- Programación de Arduino - Universidad de Cantabria, recuperado de:
https://personales.unican.es/corcuerp/progucont/slides/Arduino.pdf
- MANUAL DE LENGUAJE DE PROGRAMACIÓN DE ARDUINO, recuperado de:
http://www.quesodecabra.org/quesodecabra.org/q/varios/Manual.pdf
- Arduino-Home: https://www.arduino.cc/

Evaluación de la actividad:

NO ENTREGO INCOMPLETA COMPLETA


CRITERIOS
0% 15 % 30 %
Proyecto Final:
 Le falta la hoja de  Tiene la hoja de
instrucciones instrucciones
 Hoja de instrucciones
 La información es muy breve  Contiene toda la
 Información adecuada
 No presenta o no corresponde. información solicitada
al tema
actividad  El formato no está en PDF  El formato está en PDF
 Formato PDF
 Lo entrega después de la  Lo entrega en tiempo y
 La entrega en tiempo
fecha forma
 Trabajo creativo
 Poca o nada creativo  Es creativo (original)
(originalidad)

INGENIERIA AUTOMOTRIZ
FIME PROGRAMACIÓN II

INGENIERIA AUTOMOTRIZ
PROGRAMACIÓN EN ARDUINO
PROYECTO FINAL
INGENIERÍA AUTOMOTRIZ
PROGRAMACIÓN II
MISAEL ROBLES GARCÍA 18548217
INTRODUCCIÓN

Arduino es una placa electrónica de open-source (Código abierto) basada en


hardware y software fácil de usar, dirigida desde entusiastas y aficionados a la
electrónica hasta artistas, ingenieros y científicos.
Consiste en dos partes, la física de una tarjeta programable con un microcontrolador y
la parte lógica consiste en un código de programación en lenguaje propio de Arduino.
Puede captar señales de sensores y mediante código interpretarlas para así poder
controlar luces, motores o hacer conexión a internet y muchas acciones más.
CARACTERÍSTICAS DE UNA PLACA ARDUINO

• En la parte didáctica:
Arduino es muy flexible, hacia el publico pudiendo ser usado por principiantes
y expertos por igual, para los maestros les resulta una buena herramienta para
enseñar programación y hacer proyectos. Además su compilador puede
correrse tanto en Mac como Windows y Linux.
Hay otras características que hacer a Arduino muy interesante, por ejemplo:
• Económico: Las tarjetas de Arduino son relativamente baratas a comparación
con otras tarjetas de su tipo, el módulo más caro de Arduino puede ser
ensamblada por separado y todavía los módulos preensamblados tienen
costo inferior a los $50.00 USD (1,108.36 MXN).
• Software de código abierto y extensible : El software de Arduino se
distribuye como código abierto, disponible para que programadores
experimentados puedan expandirlo. La expansión puede ser por librerías de
C++ y quienes busquen entender los detalles técnicos pueden pasar a
programación de microcontroladores, en lo que se basa Arduino. Así mismo, es
posible transferir código de programación de microcontroladores
directamente a Arduino si así se desea.
• Hardware de código abierto y extensible: Los planos de las tarjetas Arduino
son publicadas bajo licencia de bienes comunes creativos (Creative commons
licencie), así que diseñadores de circuitos experimentados pueden hacer sus
propias versiones expandiéndolos y mejorándolos.

• En la parte técnica: Arduino contiene diferentes partes e interfases juntas en


una sola tarjeta. Su diseño ha sido cambiado a través de los años, y algunas
variantes incluyen otras partes. Pero en una tarjeta básica es probable
encontrar las siguientes piezas:
• Pines enumerados: Los cuales son usados para conectar varios componentes
que podrían usarse con el Arduino. Esos pines vienen en dos variantes:
• Pines digitales: Pueden leer y escribir un solo estado, encendido o apagado.
La mayoría de las tarjetas Arduino tienen 14 pines digitales de entrada y
salida
• Pinesanalógicos: Pueden leer un rango de valores, y ser usados para un
control más exacto. La mayoría de las tarjetas Arduino tienen 6 pines
analógicos.

Estos pines son acomodados en un patrón específico, así que sí se compra un


módulo para sobreponer a la tarjeta, esta se ensamblará fácilmente.
• Un conector de alimentación: Éste provee de energía a la tarjeta y también
proporciona un bajo voltaje que puede alimentar componentes como LEDs y
varios sensores cuyas alimentaciones sean razonablemente bajas. El conector
puede ser conectado a un adaptador de corriente alterna o a una batería
pequeña.
• Un microcontrolador: El chip principal que permite programar el Arduino y
ejecutar el comandos y tomar decisiones basadas en varias entradas. El chip
cambia entre modelos de Arduino pero generalmente son controladores
Atmel, usualmente ATmega168, ATmega328, ATmega1280 o ATmega2560.
La mayor diferencia entre los chips es su memoria.
• Un conector serial: El cual está en las tarjetas más recientes, es implementado
a través de un puerto USB estándar. Permite comunicarse con la tarjeta desde
una computadora. Algunos modelos pueden alimentarse por este puerto.
EJEMPLOS DE PLACA ARDUINO: UNO
EJEMPLOS DE PLACA ARDUINO: MEGA
EJEMPLOS DE PLACA ARDUINO: NANO
LENGUAJE DE PROGRAMACIÓN ARDUINO

• El lenguaje de programación de Arduino puede ser dividido en tres partes


principales: funciones, valores (variables y constantes) y estructura.
FUNCIONES
Se usan para controlar la tarjeta Arduino y
realizar operaciones.
VALORES
Son los tipos de datos y constantes
ESTRUCTURA
Los elementos del código de Arduino (C++)
PROGRAMACIÓN: ESTRUCTURA

La estructura básica de un programa (Sketch) se compone de tres secciones


principales:

• Sección de declaración de variables


• Sección “Void setup”
• Sección “Void loop()”
PROGRAMACIÓN: ESTRUCTURA

• Sección de declaración de variables:


Una variable es la forma de nombrar y almacenar valores para ser usados por
el programa, como lecturas de un sensor o un valor para realizar cálculos.

Antes de usar las variables se necesita declararlas, esto es definir su tipo y


opcionalmente, asignarle un valor inicial. Las variables no tienen que tener un
valor asignado inicialmente cuando son declaradas, pero si es frecuentemente
útil.
PROGRAMACIÓN: ESTRUCTURA

• Ejemplo de declaración de variables:


PROGRAMACIÓN: ESTRUCTURA

• Desbordamiento de variables:
Cuando las variables exceden su capacidad para almacenar información se
“desbordan”, sí excede su valor máximo regresan a su valor mínimo de
capacidad y viceversa.
Ejemplo :
PROGRAMACIÓN: ESTRUCTURA

• Uso de variables:
Una vez que se declararon las variables, pueden ser definidas asignando la
variable igual a un valor deseado a almacenar con el operador de asignación
“=“. El operador de asignación dice al programa que coloque lo que sea que
este del lado derecho del igual dentro de la variable del lado izquierdo del
igual. Ejemplo:
PROGRAMACIÓN: ESTRUCTURA

• Sección “void setup()”:


Delimitada por llaves de apertura y cierre. Es la primera función a ejecutar en
el programa. Se ejecutan una única vez en el momento de encender o resetear
la placa Arduino.
Se usa para inicializar:
-Los modos de trabajo de los pines E/S
-Comunicación en serie
PROGRAMACIÓN: ESTRUCTURA

• Ejemplo:
PROGRAMACIÓN: ESTRUCTURA

• Sección “void loop()”:


• Delimitada por llaves de apertura y cierre; incluye el código que se ejecuta
continuamente leyendo entradas, activando salidas, etc. Esta función es el
núcleo de todos los programas Arduino y hace la mayor parte del trabajo. Se
ejecutan justo después de la sección “void setup()” infinitas veces hasta que la
placa se apague o se resetee.
PROGRAMACIÓN: ESTRUCTURA

• Ejemplo:
PROGRAMACIÓN: COMENTARIOS Y SINTAXIS

Para evitar errores de compilación, hay que tener en cuenta lo siguiente:


• “;” El punto y coma es un de los símbolos más usados en C, C++; y se usa con el fin
de indicar el final de una línea de instrucción
• “{ }“ Las llaves se sirven para definir el principio y el final de un bloque de
instrucciones. Se utilizan para los bloques de programación setup(), loop(), if…, etc.
• /*…*/ Bloque de comentario: son áreas de texto que pueden abarcar más de una
línea, lo que escribamos entre esos símbolos será ignorado por el programa.
PROGRAMACIÓN: COMENTARIOS Y SINTAXIS

• // Línea de comentario: Funciona como el bloque de comentario, con la


diferencia que solo será ignorado el texto que esta su derecha, al cambiar
de línea perderá el efecto.
• #define: Permite al programador dar un nombre a un valor constante antes
de compilar el programa. Constantes definidas en Arduino no ocupan ningún
espacio en el chip. El compilador se encarga de reemplazar las referencias a
estas constantes con el valor definido en tiempo de compilación.
PROGRAMACIÓN: COMENTARIOS Y SINTAXIS

Ejemplo:

• #include:Se utiliza para incluir bibliotecas fuera del programa. Esto le da


acceso al programador para un gran grupo de bibliotecas estándar de C,y
también bibliotecas escrito especialmente para Arduino. Ejemplo:
PROGRAMACIÓN: OPERADORES DE
COMPARACIÓN
• “!=“: Compara el valor de la variable de la izquierda con el valor de la variable de
la derecha del operador. Será verdadero cuando los valores no sean igual.
• “<“: Compara el valor de la variable de la izquierda con el valor de la variable de
la derecha del operador. Será verdadero cuando el operando de la izquierda sea
menor que el operando de la derecha.
• “<=“: Compara el valor de la variable de la izquierda con el valor de la variable
de la derecha del operado. Será verdadero cuando el operando de la izquierda
sea menor o igual al operando de la derecha.
PROGRAMACIÓN: OPERADORES DE
COMPARACIÓN
• “==“: Compara el valor de la variable de la izquierda con el valor de la variable
de la derecha del operador. Será verdadero cuando los dos valores sean igual.
• “>“: Compara el valor de la variable de la izquierda con el valor de la variable de
la derecha del operador. Será verdadero cuando el operando de la izquierda sea
mayor que el operando de la derecha.
• “>=“: Compara el valor de la variable de la izquierda con el valor de la variable
de la derecha del operado. Será verdadero cuando el operando de la izquierda
sea mayor o igual al operando de la derecha.
PROGRAMACIÓN: OPERADORES MATEMÁTICOS

• “%”: Calcula el porcentaje cuando un entero es dividido por otro.


• “*”: Uno de los cuatro operadores aritméticos principales. El operador realiza
una multiplicación.
• “+”: Uno de los cuatro operadores aritméticos principales. El operador
realiza una suma.
• “-”: Uno de los cuatro operadores aritméticos principales. El operador realiza
una resta.
PROGRAMACIÓN: OPERADORES MATEMÁTICOS

• “/”: Calcula el residuo cuando un entero es dividido por otro.


• “=”: Este operador es distinto al igual de aritmética, lo que hace es indicarle
al microcontrolador evaluar el valor que sea o la expresión que esté en la
derecha del signo y almacenarlo en la variable que esté a la izquierda del
signo.
PROGRAMACIÓN: VARIABLES

• Tipos de variables:

• char: Usado para almacenar caracteres literales.


• byte: Almacena un número sin signo de 8 bits, desde 0 a 255
• int: Almacena números enteros de 16 bits (2 bytes) desde -32,768 a 32,767
• unsigned int: Almacena números enteros sin signo desde 0 a 65,535
PROGRAMACIÓN: VARIABLES

• long: Puede almacenar valores de gran tamaño de 32 bits (4 bytes) desde -


2,148,483,648 a 2,148,483,647.
• unsignedlong: Almacena valores de 32 bites sin signo desde 0 a
4,294,964,295.
• float: Almacena valores que tienen punto decimal, son frecuentemente usados
para valores análogos y continuos. Un número flotante puede ser entre
3.4028235x1038 y -3.4028235x1038 son almacenados en 32 bits.
PROGRAMACIÓN: VARIABLES

• double: Almacena números con punto decimal igual que un float, pero tiene el
doble de capacidad para almacenar números después del decimal.
• string: Almacena una cadena de texto o puede hacer una cadena apartir de
una matríz.
PROGRAMACIÓN: ALCANCE DE VARIABLES

Los programadores deben considerar el tamaño de los números que desean


almacenar en el tipo de variable selecto.
Otra importante decisión que los programadores enfrentan es donde declarar
variables. El lugar específico en que las variables son declaradas influye en
como varias funciones del programa las tratarán, a esto se le conoce como
alcanse de variables (Variable scope).
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“IF/ELSE”
• Las sentencia if comprueban si ciertas condición ha sido alcanzada y ejecutan
todas las sentencias dentro de las llaves si la declaración es cierta. Si es falsa
el programa ignora la sentencia.
• Las sentencias if/else permiten un mayor control sobre el flujo del código que
la declaración if básica, por permitir agrupar múltiples comprobaciones. “Si
esto no se cumple haz esto otro”.
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“IF/ELSE”
• Las sentencias if/else pueden realizar múltiples comprobaciones en una misma
estructura de condiciones. Cada comprobación procederá a la siguiente solo
cuando su propio resultado sea Falso. Cuando el resultado sea Verdadero, su
bloque de código contenido será ejecutado, y el programa esquivará las
siguientes comprobaciones hasta el final de la estructura de comprobaciones.
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“LOOP”
• Después de crear la función setup() la cual inicia y establece los valores
iniciales, La función loop() hace precisamente lo que su nombre sugiere, y
repite consecutivamente, permitiendo al programa cambiar y responder.
• Este bucle se repetirá hasta que sea retirada la energía de alimentación.
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“FOR”
El bucle for es una estructura que se utiliza cuando queremos que una serie de
acciones se repita un número determinado de veces, para ello se necesita de
una variable índice, una condición y un incrementador. Por tanto, usaremos el
bucle for para ejecutar un conjunto de instrucciones un número concreto de veces
y estas son:
• Valorinicial del contador: En esta parte se asigna el valor inicial de una
variable entera que se utilizará como contador en las iteraciones del bucle.
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“FOR”
• Condición final del bucle: En esta parte se especifica una condición. Justo
antes de cada iteración se comprueba que sea cierta para pasar a ejecutar
el grupo de sentencias internas. Si la condición se evalúa como falta, se
finaliza el bucle for.
• Incremento del contador: En la ultima de las tres partes es donde se indica el
cambio de valor que sufrirá al inicio de cada iteración del bucle la variable
usada como contador.
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“FOR”
• Ejemplo: Un led parpadee 5 veces
tras accionar un pulsador
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“WHILE”
• Estebucle repite la ejecución de las instrucciones que están dentro de sus
llaves de apertura y cierre mientras la condición especificada entre sus
paréntesis sea cierta (“true”, 1) sin importar el número de veces repita. El
número de iteraciones realizadas depende del estado de la condición
definida.
PROGRAMACIÓN: ESTRUCTURA DE CONTROL
“WHILE”
• Ejemplo: El “Serial monitor” los primeros 50
mensajes que aparecerán indicarán que la
variable es menor de 50 porque se está
ejecutando el interior del “while”. Pero en el
momento que la variable sea mayor (porque en
cada iteración del bucle se le va aumentando en
una unidad su valor), la condición del “while”
dejará de ser cierta y saltará de allí, mostrando
entonces el mensaje (ya de forma infinita) de que
la variable es mayor que 50.
PROGRAMACIÓN: SEÑALES DIGITALES

Se usa el void setup() para configurar un pin específico para comportarse como:

• Entrada (INPUT): Los pines configurados como INPUT estane n un estado de alta
impedancia. Los pines de entrada hacern extremadamente pequeñas demandas en
el circuito, esto significa que se necesita muy poca corriente para mover el pin de
entrada de un estado a otro.
• Salida (OUTPUT): Los pines configurados como OUTPUT están en un estado de baja
impedancia y pueden proporcionar 40mA de corriente a otros dispositivos y
circuitos.
PROGRAMACIÓN: SEÑALES DIGITALES

• digitalWrite()
Si el pin especificado en digitalWrite() está configurado como salida, usando la
constante OUTPUT:
• La constante HIGH equivale a una señal de salida de hasta 40mA y de 5v
• La constante LOW equivale a una señal de salida de 0v.
PROGRAMACIÓN: SEÑALES DIGITALES

Si el pin está configurado como entrada usando la constante INPUT:


• Enviar un valor HIGH equivale a activar la resistencia interna “pull-up” en ese
momento
• Enviar un valor LOW equivale a desactivarla de nuevo. Esta función no tiene
valor de retorno.
PROGRAMACIÓN: SEÑALES DIGITALES

• digitalRead(): Devuelve el valor leído del


pin digital cuyo número se haya
especificado como parámetro. Este valor
de retorno es de tipo “int” y puede tener
dos únicos: la constate HIGH (1) o LOW (0).

Ejemplo:
PROGRAMACIÓN: SEÑALES ANALÓGICAS

• analogReference(): Asigna el modo para seleccionar el voltaje usado como referencia para
el comando analogRead(), este valor será el voltaje máximo usado como referencia. El valor
por defecto para las tarjetas es 5 voltios. Los posibles modos son:
• DEFAULT: La referencia analógica por defecto de 5 voltios o 3.3 voltios.
• INTERNAL1V1: Una referencia incorporada, igual a 1.1 volts en el ATmega168 o
ATmega328.
• INTERNALL2V56: Es una referencia de tensión interna de 2.56 voltios en el ATmega328.
• EXTERNAL: Se usara una tensión de referencia externa que tendrá que ser conectada al pin
AREF. Debe estar en el rango 0-5v solamente.
PROGRAMACIÓN: SEÑALES ANALÓGICAS

• analogRead(): Lee el valor de un determinado pin definido como entrada


analógica, por defecto, nuestra placa Arduino nos realizará una conversión
analógico-digital para toda señal (40mA máximo) de 0v a 5v con una
resolución de 10 bit. Esto significa que convertirá tensiones entre 0-5v a un
número entero entre 0 y 1023.
PROGRAMACIÓN: SEÑALES ANALÓGICAS

• Ejemplo: Veremos por el “Serial monitor”


las lecturas realizadas a través del pin
analógico 2, que no son más que valores
entre 0 y 1023. Notar que no se ha
utilizado la función pinMode() como hasta
ahora porque los pines-hembra
analógicos de la placa ARDUINO solo
pueden ser de entrada.
PROGRAMACIÓN: SEÑALES ANALÓGICAS

• analogWrite() - PWM: Enviar un valor de tipo “byte” que representa una


señal PWM, a un pin digital configurado como OUTPUT. Después de llamar a
analogWrite(), el pin generará una onda cuadrada constante del ciclo de
trabajo especificado hasta la siguiente llamada a analogWrite(). La
frecuencia de la señal PWM en la mayoría de los pins es de
aproximadamente 490Hz y algunas placas de Arduino sus pines tienen una
frecuencia de 980Hz.
PROGRAMACIÓN: SEÑALES ANALÓGICAS

• Ejemplo: Nuestro diodo LED variará su intensidad lumíinoza en función del


valor que esté aportando el potenciómetro a nuestra entrada analógica, esto
es el llamado efecto fading (desvanecimiento).
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

Se supone que la programación en Arduino es divertida, pero puede resultar frustrante y lenta
en el caso de tareas tales como la representación gráfica de datos de sensores o la
incorporación en los proyectos de rutinas avanzadas de matemáticas, procesamiento de señales
o control.

MATLAB y SIMULINK abordan varios retos en relación con la programación tradicional en


Arduino. Estos productos admiten dos flujos de trabajo principales:
• Lectura, escritura y análisis de datos de los sensores de Arduino
• Desarrollo de algoritmos que se ejecutan de forma autónoma en el dispositivo Arduino
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

El paquete de soporte de MATLAB para Arduino permite escribir programas de


MATLAB que leen y escriben datos en el dispositivo Arduino y otros dispositivos
conectados. Debido a que MATLAB es un lenguaje de alto nivel, la
programación resulta más fácil que con C/C++ y se puede ver resultados de
las instrucciones de E/S inmediatamente, sin necesidad de compilación.
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

Ventajas del uso de MATLAB para la programación en Arduino:


• Lectura y escritura de datos de sensor de forma interactiva sin necesidad de esperar
a la compilación del código
• Análisis de los datos de sensor mediante miles de funciones prediseñadas para el
procesamiento de señales, el aprendizaje automático, el modelado matemático, etc.
• Visualización rápida de los datos gracias a la amplia gama de tipos de gráficos de
MATLAB
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

Con el paquete de soporte de


MATLAB para Arduino, el dispositivo
Arduino se conecta a un equipo que
ejecuta MATLAB. El procesamiento se
lleva a cabo en el equipo con MATLAB
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

El paquete de soporte de Simulink para Arduino permite desarrollar algoritmos en


Simulink, un entorno de diagrama de bloques para modelar sistemas dinámicos y
desarrollar algoritmos, así como ejecutarlos de forma autónoma en el dispositivo
Arduino. El paquete de soporte amplía la funcionalidad de Simulink con bloques para
configurar los sensores de Arduino, además de leer y escribir datos en ellos. Tras crear
el modelo de Simulink, es posible simularlo, ajustar los parámetros del algoritmo hasta
obtener el resultado deseado y descargar el algoritmo completado para su ejecución
autónoma en el dispositivo.
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

Ventajas del uso de Simulink para la programación en Arduino:

• Desarrollo y simulación de los algoritmos en Simulink y uso de la generación automática de código


para ejecutarlos en el dispositivo
• Incorporación de rutinas de procesamiento de señales, diseño de control, lógica de estados y otras
rutinas avanzadas de matemáticas e ingeniería en los proyectos de hardware
• Ajuste y optimización interactivos de parámetros mientras el algoritmo se ejecuta en el dispositivo
• Modificación fácil de algoritmos para su ejecución en otras plataformas de hardware comerciales
de bajo coste
PROGRAMACIÓN: DESDE MATLAB/SIMULINK

Con el paquete de soporte de Simulink para Arduino, es posible desarrollar el


algoritmo en Simulink y desplegarlo en Arduino mediante la generación
automática de código. El procesamiento se lleva a cabo entonces en el
dispositivo Arduino.
PROGRAMACIÓN: DESDE LABVIEW

Para comenzar, es necesario contar con lo siguiente:


• Una tarjeta Arduino
• Arduino IDE
• LabVIEW
• NI Visa
• VI Package Manager
PROGRAMACIÓN: DESDE LABVIEW

Una vez que se tiene todo lo necesario y el software instalado es necesario


cargar al Arduino el programa para manipularlo desde LABVIEW, éste se creó
cuando se hicieron las instalaciones de software con el nombre de
“LIFA_Base.ino”.
Una vez que se ha programado el Arduino se realiza la programación gráfica
en LABVIEW. Para ello, se entiende que cada bloque que se empleará del
paquete de Arduino instalado en LABVIEW representa una función del lenguaje
de Arduino y cada entrada del bloque en LABVIEW representa los parámetros
de dicha función.
CONCLUSIÓN

El Arduino me resultó muy interesante la amplia forma en que se puede


implementar en proyectos, así como su alcance desde algo muy básico para
principiantes, así como aplicaciones de ingeniería y proyectos grandes
aprovechando las herramientas que brindan software de aplicación
especializada tales como Matlab y Labview.
No me cabe duda que las placas de Arduino son una herramienta excepcional
para desarrollar la habilidad de integrar tanto software como hardware de
distintas plataformas.
BIBLIOGRAFIA

• https://www.arduino.cc/en/Guide/Intro • https://www.arduino.cc/reference/en
duction • https://www.arduino.cc/en/Reference/
• https://learn.sparkfun.com/tutorials/wh VariableDeclaration
at-is-an-arduino/all • https://la.mathworks.com/discovery/ar
• https://opensource.com/resources/what duino-programming-matlab-
-arduino simulink.html
• https://la.mathworks.com/discovery/ar • https://naylampmechatronics.com/blog
duino-programming-matlab- /23_TUTORIAL-ARDUINO-Y-
simulink.html LABVIEW.html

También podría gustarte