Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Mixly PDF
Manual Mixly PDF
2015
Mixly V:0.95
Manual de Usuario y Ejemplos
Índice
1. Instalación
2. Descripción del Entorno
2.1. Menús
2.2. Descripción de las Áreas de trabajo
2.3. Los bloques. Estructura y acciones sobre ellos
2.4. Menú contextual de bloque
2.5. Configuración de un bloque a nivel funcional
2.6. Trabajando con Variables
2.7. Trabajando con listas
2.8. Compilación y descarga de una aplicación
3. Ejemplos de Aplicación
3.1. Intermitente
3.2. Intermitente con variación de tiempo
3.3. Monoestables
3.4. Activación de una salida en modo Biestable
3.5. Contadores
3.6. Contador con puesta a cero.
3.7. Generación de impulso de duración variable
3.8. Regulador de Intensidad Luminosa
3.9. Sistema Combinacional
3.10. Medida de Luz con activación de salida.
3.11. Medida de Luz y detección de niveles.
3.12. Secuenciador
3.13. Semáforo
3.14. Control de servo
3.15. Codificador 4/2
4. Descripción de librerías.
2
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
0. Mixly 0.95
Mixly es un entorno basado en Blockly que permite la programación de tarjetas Arduino
mediante la utilización de bloques que permiten configuran un determinado montaje.
3
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
1. INSTALACIÓN:
Para instalar la aplicación basta descomprimir el fichero zip que se haya descargado del
lugar de enlace de descarga en una carpeta .
Vemos que existe un fichero ejecutable con el nombre Mixly.exe. Con este es con el
que se arrancará la aplicación. En la versión actual este fichero es detectado por algún
antivirus identificado como sospechoso de contener un virus, pero no es así. Si acaso el
antivirus lo borra podremos ejecutar la aplicación con el fichero Mixly.jar (para que
este fichero sea ejecutable debemos tener instalado java).
Carpetas.
4
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Para cambiar el idioma basta con irse al botón de la esquina superior derecha y hacer
clic seleccionando el idioma.
5
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
La aplicación nos permite ver el código generado y también guardar y rescatar ficheros
de aplicación en formato "XML"
2.1. Menús
Seguidamente vemos las distintas opciones del menú que son fáciles de comprender:
Nuevo Nos permite crear una nueva aplicación. Borra todos los
bloques de la pantalla
6
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Área de En este área se muestra los botones de las opciones del menú de la
Menús aplicación
7
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
El área de trabajo se puede ampliar y reducir as como centrar los bloques colocados en
la pantalla.
La ayuda apfrece si dejamos el puntero del raon sobre el bloque duante unos
segundos.
8
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Los parámetros son los valores que se asocian a la funcion del bloque. Noralmente
para la selccion del parametro lo hacemos pulsando sobre el area y aprecera un
menu de seleccion cone l que modificarlo, pero tambien es posible incrustrar
valores sobre el area tanto parametros (valores enteros, booleanos o de texto)
En la siguiente imagen hemos colo ado dos opciones que hacen lo mismo: Poner un
nivel ALTO en el pin 6.
9
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Entradas Externas/Línea:
Permite colocar los parámetros
de dos modos distintos, sin
afectar para nada a la
funcionalidad del bloque.
Contraer/Expandir Bloque:
Permite contraer la imagen del
bloque para que ocupe menos y
también si esta contraída se
puede volver a expandir.
Desactivar/Activar Bloque:
Permite anular a efectos de
programación el bloque
dejándolo simplemente como
una imagen en la pantalla.
10
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Además de este bloque "Si" existen otros bloques que tienen esta capacidad. En la
figura siguiente se muestran.
11
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Las variables pueden ser de distintos tipos tal como se muestra en el menú desplegable
del bloque: long (numero entero), float( número decimal), boolean (valor digital) y
string (cadena de caracteres).
Una vez que definimos la variable, a la vez que le damos un valor esta estará disponible
para poder asignarle un nuevo valor o bien recoger el valor que tiene
asignado . En las siguientes imágenes vemos estas operaciones.
12
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
UN EJEMPLO
Se trata de un sistema que está formado por una válvula que se abrirá y cerrara cada
cierto tiempo.
13
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
14
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
El programa lo que hace es leer cada uno de los elementos de la lista de modo secuencia
y saca el valor leído en un PIN6 digital trabajando en modo PWM (Salida analógica).
Se crea una variable llamada "Elemento" que actuará como puntero para recorrer dentro
de un bloque de tipo "contar..". Los valores se van leyendo de acuerdo al estado de
cuenta del bloque contador y se lee el dato con ayuda del bloque "recoge elemento
en.." y lo deposita en el bloque "EscribeAnalógico PIN#...". Se ha colocado un bloque
de impresión en el puerto del valor sacado en el PIN6 de salida PWM para observar
cómo trabaja el algoritmo.
15
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
16
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
17
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
3. Ejemplos de Aplicación
3.1. Intermitente
Se trata de activar en modo intermitente una salida de Arduino.
La salida que queremos gobernar será el PIN11 y el tiempo entre encendido y apagado será de 0,5 seg.
18
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
19
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
20
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
21
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
3.3. Monoestables
Con esta práctica, que consta de dos versiones, queremos probar la emulación de un
Monoestable, es decir realizar la temporización de la activación o desactivación de una
salida digital durante un tiempo que podemos establecer.
22
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
23
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
En este montaje se define una variable que llamamos por ejemplo "estado", que
almacenará el estado del biestable y que será cambiada de estado siempre que
detectemos que la entrada digital PIN4 pase a valor "1" (flanco de subida).
Vemos que hay un condicional para el test de la entrada y dentro otro
condicional doble que testeará el valor de la variable estado, cambiándola a "0"
si está en "1" y en caso contrario la cambiará a "1". A la vez cambiará el valor
que envía al PIN digital de salida PIN6. Se coloca el final una Espera de 200 ms
para evitar los rebotes en la manipulación del botón de entrada de PIN4.
Este segundo montaje está pensado para que la activación del biestable se realice
en flanco de bajada (cuando el valor del PIN4 pasa de valer 1 a valer 0). Para el
diseño se ha incluido un bloque tipo "hasta" que solo dará paso al gobierno del
biestable cuando el valor de la entrada PIN4 sea "0", es decir, cuando haya
pasado de 1 a 0.
24
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
25
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
3.5. Contadores
Vamos a contar impulsos con Arduino.
Habilitaremos el PIN4 como entrada de impulsos de tal manera que una variable se verá
incrementada cada vez que pulsemos un botón colocado en este pin.
Queremos también que cada vez que se produzca una pulsación en el PIN de entrada
PIN4, se active temporalmente (200 ms.) una salida PIN6 para indicar de manera
luminosa que el impulso que ha entrado.
El valor de "i" lo sacaremos al puerto USB para poder monitorizarlo luego con la
opción "Monitor" de Mixly y ver cómo va la cuenta.
26
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
A continuación se muestra una imagen que permite ver como se monitoriza el valor de
la variable de cuenta "i":
27
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
En este ejemplo se trata de que la salida digital PIN11 se active durante 3 seg. cuando el
valor de la variable de cuenta "i" alcanza 11; es decir, contamos 10 empezando por 1
(no contamos el 0, por eso designamos la variable i con el valor de inicio i=1).
28
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
29
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
30
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
31
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
En el programa hay dos bloques condicionales tipo "Si.. ejecutar" "que testean el
estado de los pulsadores conectados en los pines PIN4 y PIN7. Si se cumple la
condición de estos bloques condicionales se incrementa (PIN4) o se decrementa (PIN7)
el valor de la variable "Intensidad". Si se supera el valor de 255, la variable no debe
pasar de este valor. Para ello se pone un bucle de condición que se encarga de esta
acotación de nivel máximo. Se coloca otro condicional para detectar valores por debajo
de 0 en cuyo caso se bloque el valor de Intensidad a 0
32
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
33
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
34
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
35
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
El proceso es el siguiente:
36
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
En este caso lo que queremos es que el valor leído en A0, en lugar de darse en el
margen 0-1023, se dé en el margen 0-100; es decir, queremos "mapear el valor".
Para ello, lo que hacemos es utilizar la función "Mapear". En esta caso la condición
para la activación de la salida PIN6 se debe cambiar a: Si A0>50. Entonces Salida
PIN6=1.
37
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
38
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
A2 >= 40 1 0 0
A2 >= 60 0 1 0
A2 >= 75 0 0 1
39
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
3.12. Secuenciador
En esta práctica vamos a realizar secuenciadores.
Secuenciador1
Vamos a realizar un primer ejemplo en el que la secuencia que deseamos realizar será
con 4 salidas digitales: PIN6, PIN9, PIN10, PIN11.
A0 0 0 0 0
A1 1 0 0 0
A2 0 1 0 0
A3 0 0 1 0
A4 0 0 0 1
40
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Secuenciador2
Ahora, lo que queremos añadir es la posibilidad de poner a cero la secuencia, ya que una
vez terminada se queda siempre en el estado a4.
Para ello utilizaremos el PIN7 que actuará como entrada (conectado a un botón). Si el
valor de la entrada PIN7 es "1" se pasará al estado a0=0000 (las cuatro salidas en "0".)
41
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
3.13. Semáforo.
En este ejemplo mostramos la posibilidad de realizar un semáforo.
Se crearán hasta cuatro funciones que se corresponden con los estados posibles: rojo,
ámbar, verde, apagado.
Cada una de estas funciones recoge el estado de los pines de salida de cada una de las
lámparas del semáforo. Se establece un retardo de 1 seg. para cada cambio de estado del
semáforo.
42
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
1 0 3000
2 90 3000
3 180 3000
Como el valor máximo de la señal de gobierno "Control" será 100, se debe realizar el
mapeado de la señal recogida en el PIN A0 de 0-1023 a 0-100 mediante el bloque de
función "Mapear"
43
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Se seleccionan los pines PIN4, PIN7, PIN8 y PIN12 como entradas y los pines PIN6 y
PIN9 como salidas. Se trata de implementar la siguiente tabla de verdad:
44
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
EXPLICACION DE LIBRERIAS
Entrada/salidas Digitales y Analógicas
Bloques que controlan la ejecuion de suencias de acciones
Operaciones matemáticas
Bloques que manipulan textos
Bloques que manipulan array o listas de datos.
Bloques de fuciones logicas
Bloques que permien la carga de datos en la memoria.
Bloques de unidades de entrada de datos a Arduno a traves de sus pines
Bloques que permiten el gobierno de elemebtos de salida
Definicion de variables internas del programa
Bloques para programar el robot Pabplus(Robot)
Bloques para programar Labplus (Box)
Bloques para trajetas y sistema DFRobot
Bloques para tarjetas y sistemas MakerBlock
Bloques para mBot
Bloques para componentes de SeeeStudio
La siguiente librería es la que contiene los bloques mas genéricos que tienen que ver
con la lectura o escritura de valores en los pines de arduino.
45
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
La libfería matematicas incluye los bloques que permiten el tratameninto d elos valores
de las variables de nuestra aplicacion.
46
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
El trabajo con variables de tipo lista o array se puede realizar con la ayuda de las
librerias que aparecen en esta librería
47
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Las funciones logicas son aquellas que afectan a la comparacio de valores y a las
funciones basicas logicas del álgebra de Boole
En esta librería también se incluyen bloque para el tercambio de datos a traves del bus
I2C de Arduino.
48
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
49
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
50
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
51
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
Las librerias que aparecen a continuación estan integradas por elementos característicos
de los principlaes fabricantes y suministradores de elementos conectables cn Arduino
52
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
53
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
54
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
55
Mixly V:0.95 Guía de Usuario y Prácticas J.M. Ruiz Gutiérrez
56