Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arduino + Myopenlab PDF
Arduino + Myopenlab PDF
Arduino + MyOpenlab
ndice
1. Objetivo de este trabajo.
2. Una Introduccin general a MyOpenLab
3. Test de Conexin
4. Salida Intermitente
5. Salida Intermitente (otra opcin)
6. Comparador de Entrada analgica con una constante.
7. Generador de Impulsos en el PIN 13 de Arduino
8. Termostato
9. Semforo
10. Test Tarjeta
11. Confort
12. Prensa Hidrulica
13. Contador de impulsos de entrada
14. Parking
15. Puerta de entrada a una finca
16. Mquina de caf
17. Datalogger Tipo 1
18. Datalogger Tipo 2
Arduino + MyOpenlab
Arduino + MyOpenlab
Descripcin.
MyOpenlab es un entorno orientado a la simulacin y modelado de sistemas
fsicos, electrnicos y de control con un amplio campo de aplicaciones.
La aplicacin esta desarrollada en el lenguaje JAVA y por ello resulta portable a
distintas plataformas. En el campo del modelado y simulacin es muy interesante contar
con una herramienta flexible que a partir de una amplia biblioteca de bloques
funcionales permita realizar modelos a base de conectar bloques funcionales.
MyOpenLab es capaz de conectarse al mundo fsico mediante una interface de
amplia difusin en el mercado K8055 de Valleman y tambin a la tarjeta Arduino.
La presentacin de los resultados y/o el control de las simulaciones se hace
mediante un potente conjunto de bloques de funcin de visualizacin y/o interaccin
capaz de manejar todo tipo de datos (analgicos, digitales, matrices, vectores, imgenes,
sonidos, etc.).Mediante MyOpenLab es posible disear instrumentos virtuales (VI) a
travs de los cuales se puede realizar una aproximacin a los sistemas de medida y
control de una manera ms realista.
La realizacin de una simulacin se hace mediante dos pantallas o reas de
trabajo: Panel Circuito y Panel Visualizacin. En el primero se disea el algoritmo de
simulacin mediante "bloques" o "elementos de funcin" y el segundo se muestran los
datos o se generan los estmulos cuando se est en el modo de simulacin"
El programa puede funcionar en plataformas Linux y sus requerimientos de
sistema son muy poco restrictivos, lo cual lo hace ideal para usar en casi cualquier
equipo. bastar que se instale el runtime de JAVA JRE o JDK.
Esta herramienta est recomendada para estudiantes de prcticamente todos los
niveles: ESO, Bachillerato, Formacin Profesional y Primeros Cursos de las Carreras
Tcnicas
Universitarias.
CARACTERSTICAS
Facilidad de uso
Amplia biblioteca de funciones tanto para manejo de seales analgicas como
digitales.
Posee una potente biblioteca de objetos grficos tipo "canvas" mediante la que
se puede dotar de
movimiento cualquier objeto o imagen asocindola a
variables de los modelos a simular.
Tratamiento de los tipos de datos y operaciones con estos.
Realizacin de las aplicaciones mediante el uso de bloques de funcin con la
posibilidad de encapsularlos en "macros".
4
Arduino + MyOpenlab
Elementos de Decoracin
Elementos de visualizacin numrica
Elementos de activacin digital
Elementos de Entrada y salida de cadenas de caracteres
Elementos de entrada y salida tipo vectores y matrices de datos
Elementos de visualizacin grafica en ejes coordenados I
Elementos de visualizacin grafica en ejes coordenados II
Librera de Extras
Elementos de Automatizacin
Elementos de librera de usuario
Robot 2D
Elementos de Ddecoracin
Operadores Digitales
Operadores Numricos
Tratamiento de Caracteres
Elementos Analgicos
Utilidades
Ficheros de Entrada/Salida
Comparators
5
Arduino + MyOpenlab
Tratamiento de Imgenes
Tratamiento de Sonidos
Color
Pines de E/S
Vectores y matrices
Agrupacin de Elementos
Objetos Grficos canvas
Librera de Fsica
Librera de Diagramas de Flujo
Librera de Extras
Librera de Conexiones entre aplicaciones
Librera definida por el Usuario
Automation+ibrera de Automatizacin Interfaces
Arduino + MyOpenlab
Arduino + MyOpenlab
Arduino + MyOpenlab
3. Test de Conexin
A continuacin se muestra un ejemplo de aplicacin genrico de conexin de
Arduino con MyOpenLab que permitir realizar un test de cada una de las entradas
salidas configuradas en el protocolo de comunicacin.
No olvidemos la asignacin de estas entradas salidas que se recuerda en la siguiente
tabla.
Tipo de E/S
Entrada Digital 1
Entrada Digital 2
Entrada Digital 3
Entrada Digital 4
Entrada Digital 5
Entrada Digital 6
Salida Digital 1
Salida Digital 2
Salida Digital 3
Salida Digital 4
Salida Digital 5
Salida Digital 6
Entrada Analgica 1
Entrada Analgica 2
Entrada Analgica 3
Entrada Analgica 4
Entrada Analgica 5
Entrada Analgica 6
Arduino + MyOpenlab
10
Arduino + MyOpenlab
11
Arduino + MyOpenlab
4. Salida Intermitente
La siguiente aplicacin es la mas sencilla de todas y suele servir para probra que las
cosas funcionan. Se trata de encender y apagar la salida digital establecida en el pin D13.
Para ello se selcciona el bloque de funcion de la librera correpondiente Arduino IO
Interface v1.11 y se procede a la conexin de un elemento de entrada de valor tipo
Integer para la sellcion del COm de comunicaciones y un boton para inicar la
comunicacin con la tarjeta Arduino. Esta operacin ser comun y necesaria en todas las
alplicaciones que montemos.
La seal que hemos de mandar en forma de pulsos se obtiene de un bloque de
funcion llamado Temporizador de la librera Utilidades del Panel de Circuito. A este
bloque le damos los vaores correpondientes de tiempo encendido (Tiempo activado) y
tiempo apagado (Tiempo desactivado).
Colocamos un led para mostrarnos informacion del estado de la seal en el lado
fisico de la trajeta Arduino (Pin Digital 13)
12
Arduino + MyOpenlab
13
Arduino + MyOpenlab
14
Arduino + MyOpenlab
15
Arduino + MyOpenlab
16
Arduino + MyOpenlab
17
Arduino + MyOpenlab
18
Arduino + MyOpenlab
8. Termostato
Con este ejemplo se pretende controlar el encendido de la calefaccin de una casa
teniendo en cuenta la temperatura a la que queremos que este la casa (temperatura de
consigna) y el valor de la temperatura ambiente.
tambiente
calefactor
Sensor de temperatura
Arduino + MyOpenlab
MyOpenlab
Panel Circuito
Arduino + MyOpenlab
21
Arduino + MyOpenlab
9. Semforo
Se trata de realizar un semforo que gobierne tres salidas en forma de diodos led
(rojo, mbar y verde)
Seales de salida:
roja, ambar y verde (todas de tipo Bolean)
Parmetros:
tiempo_rojo=2 seg. Tiempo_ambar=2 seg. Tiempo_verde=0,5seg.
El algoritmo es muy sencillo. Se trata de activar las seales correspondientes a las
tres lmparas del semforo con intervalos d tiempo fijados con el bloque wait
Esquema del Panel de Circuito de MyOpenLab
22
Arduino + MyOpenlab
23
Arduino + MyOpenlab
24
Arduino + MyOpenlab
11. Confort
Con esta prctica nos introducimos en el mundo de la Domtica. Se trata de poder
controlar la activacin de tres lmparas en un dormitorio en funcin de la cantidad de luz
que midamos mediante un sensor de luz y por otro lado controlar el encendido de un
radiador elctrico tambin haciendo uso de un sensor, en este caso de temperatura.
Las seales que debemos definir y manejar son las indicadas en la figura siguiente.
Los seales son stem Sensor de temperatura y sluz sensor de luz y las salidas de
gobierno de las lmparas son lampara1, lampara2 y lamapara3 y para la climatizacin
las salidas son ventilador y calefactor
En la figura vemos el aspecto de la pantalla de iteracin visual con la aplicacin.
Se leen los valores de los sensores y sobre la tarjeta Arduino los indicadores leds de su
estado as como en el radiador y en el ventilador.
25
Arduino + MyOpenlab
El algoritmo de control:
En la figura siguiente se muestra el esquema del algoritmo de control que hay que
implementar. Las lmparas se encienden de acuerdo a las siguientes condiciones
Si
Si
sluz<150
Si
sluz<200
26
Arduino + MyOpenlab
27
Arduino + MyOpenlab
12.Prensa Hidrulica
Disponemos de una prensa hidrulica que se acciona mediante un pedal de tal
manera que cuando lo accionamos baja el mbolo de la prensa y permanece bajado
durante un tiempo de 0,8 seg. Al cabo del cual sube el cilindro y se vuelve a su posicin
de reposo para quedar en situacin de volver a realizar otra operacin de prensado.
La prensa dispone de un sensor en la mesa de tal manera que si el operario tiene la
mano sobre esta se interrumpe la barrera del sensor y esta seal impide que baje el
cilindro. Al activarse el sensor se encender una lmpara roja de alarma.
El motor se gobierna mediante dos seales bajamotor y subemotor
Funcionamiento
Arduino + MyOpenlab
alarma (alarma=true).
La prensa una vez que llega abajo permanecer all 1 seg. Para despus
retornar (subemotor=true y bajamotor=false). Una vez arriba permanecer la
seal activa 1 seg. y de nuevo el sistema vuelve a reposo.
29
Arduino + MyOpenlab
Definicin de variables
30
Arduino + MyOpenlab
31
Arduino + MyOpenlab
14. Parking
Disear un Parkimg de acuerdo a las siguientes caractersticas:
Los coches al entrar tienen que recoger un ticket junto a la barrera de entrada e
inmediatamente que lo recojan se levantar esta dejando pasar el coche. A la entrada
habr un semforo con dos lmparas una verde (libre) y otra roja (lleno).
Se dispondr de un contador de coches que nos indicar en todo momento los coches
que hay dentro. Este contador se debe incrementar cada vez que llega un coche y
decrementar cada vez que sale. La salida del coche se detectar con un sensor y se subir
la barrera de salida. En el parking caben 11 coches
La actuacin de las barreras se simplificar de tal manera que cuando se recibe la
orden se subir (sensor de entrada o sensor de salida) se suben y transcurrido 1,5 seg. Se
bajan.
Seales a tener en cuenta:
Sensor de entrada de coche se (booleana)
Sensor de salida de cochess (booleana)
Numero de coches dentro del parking coches (double)
Parking lleno lleno (booleana)
Sube barrera de entrada sbe (booleana)
Sube barrera de salida sbs (booleana)
barrera
->
display-
->
32
Arduino + MyOpenlab
solucin.
33
Arduino + MyOpenlab
Comentario a la solucin.
Obsrvese que se han realizado varios diagramas de flujo con el fin de facilitar la
comprensin del funcionamiento. No debemos olvidar que se pueden ejecutar varios
diagramas a la vez.
Diagramas realizados:
Tratamiento de entrada de coche (se testea la seal se) Tratamiento de salida de coche (se
testea la seal ss) Lectura permanente de los sensores se y ss
Realizacin del contaje de los coches (entrantes y salientes)
34
Arduino + MyOpenlab
Solucin:
35
Arduino + MyOpenlab
36
Arduino + MyOpenlab
37
Arduino + MyOpenlab
Se colocara de fondo una imagen que represente una casa o finca para darle ms
realismo a la simulacin
La forma de actuar debe ser la siguiente: Cuando se pulsa en el Pulsador de
llamada (PIN D7 de Arduino) la puerta comienza a abrirse (desplazamiento a la
izquierda) hasta que se abre del todo Una vez abierta estar un tiempo y comenzar la
fase de cierre. Si cuando esta cerrndose la puerta se interfiere el sensor de seguridad
(clula infrarroja) automticamente la puerta se detendr hasta que desaparezca esta seal
de seguridad y pueda continuarse el cierre.
Las seales a tener en cuenta son:
llamar (boolean) inicia el ciclo de apertura de la puerta (PIN D7 de Arduino).
activar (booleana) activa el movimiento de la puerta (PIN D13 de Arduino).
posicin (double) nos indica la posicin en la que se encuentra la puerta.
ac (boolean) da la orden del sentido de movimiento de la puerta (Adelante/Atrs PIN
D10 Arduino)
ba (boolean) sensor de seguridad de la puerta, se activa cuando hay algn obstculo (PIN
D2 de Arduino).
Arduino + MyOpenlab
39
Arduino + MyOpenlab
->
Para poder ver el contenido de fichero s de datos que ya estn grabados se ha
recurrido al bloque de librera de lectura de ficheros.
->
Este montaje es muy til para realizar experimentos de laboratorio y guardar los
datos en ficheros. Se pueden guardar los seis canales de entrada de la tarjeta Arduino
tomando un nmero mximo de muestras es de 100.
40
Arduino + MyOpenlab
41
Arduino + MyOpenlab
En esta aplicacin las muestras se van a tomar cuando se active el botn Lee
Para esta aplicacin vamos a hacer uso del bloque de funcin de Libreras de
Usuario
->
Es importante que antes de lanzar el programa se haya creado un fichero (ejemplo
datos.txt) y guardado vaco con el fin de que cuando arranquemos el programa lo
encuentre para abrirlo.
Esquema de la aplicacin
42
Arduino + MyOpenlab
43