Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2015
Mixly V:0.95
Manual de Usuario y Ejemplos
ndice
1. Instalacin
2. Descripcin del Entorno
2.1. Mens
2.2. Descripcin de las reas de trabajo
2.3. Los bloques. Estructura y acciones sobre ellos
2.4. Men contextual de bloque
2.5. Configuracin de un bloque a nivel funcional
2.6. Trabajando con Variables
2.7. Trabajando con listas
2.8. Compilacin y descarga de una aplicacin
3. Ejemplos de Aplicacin
3.1. Intermitente
3.2. Intermitente con variacin de tiempo
3.3. Monoestables
3.4. Activacin de una salida en modo Biestable
3.5. Contadores
3.6. Contador con puesta a cero.
3.7. Generacin de impulso de duracin variable
3.8. Regulador de Intensidad Luminosa
3.9. Sistema Combinacional
3.10. Medida de Luz con activacin de salida.
3.11. Medida de Luz y deteccin de niveles.
3.12. Secuenciador
3.13. Semforo
3.14. Control de servo
3.15. Codificador 4/2
4. Descripcin de libreras.
2
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
0. Mixly 0.95
Mixly es un entorno basado en Blockly que permite la programacin de tarjetas Arduino
mediante la utilizacin de bloques que permiten configuran un determinado montaje.
3
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
1. INSTALACIN:
Para instalar la aplicacin 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 aplicacin. En la versin actual este fichero es detectado por algn
antivirus identificado como sospechoso de contener un virus, pero no es as. Si acaso el
antivirus lo borra podremos ejecutar la aplicacin con el fichero Mixly.jar (para que
este fichero sea ejecutable debemos tener instalado java).
Carpetas.
4
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Para cambiar el idioma basta con irse al botn de la esquina superior derecha y hacer
clic seleccionando el idioma.
5
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
La aplicacin nos permite ver el cdigo generado y tambin guardar y rescatar ficheros
de aplicacin en formato "XML"
2.1. Mens
Seguidamente vemos las distintas opciones del men que son fciles de comprender:
Nuevo Nos permite crear una nueva aplicacin. Borra todos los
bloques de la pantalla
6
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
rea de En este rea se muestra los botones de las opciones del men de la
Mens aplicacin
7
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Los parmetros 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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Entradas Externas/Lnea:
Permite colocar los parmetros
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
tambin si esta contrada se
puede volver a expandir.
Desactivar/Activar Bloque:
Permite anular a efectos de
programacin el bloque
dejndolo simplemente como
una imagen en la pantalla.
10
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Adems de este bloque "Si" existen otros bloques que tienen esta capacidad. En la
figura siguiente se muestran.
11
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Las variables pueden ser de distintos tipos tal como se muestra en el men desplegable
del bloque: long (numero entero), float( nmero 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 imgenes vemos estas operaciones.
12
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
UN EJEMPLO
Se trata de un sistema que est formado por una vlvula que se abrir y cerrara cada
cierto tiempo.
13
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
14
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
El programa lo que hace es leer cada uno de los elementos de la lista de modo secuencia
y saca el valor ledo en un PIN6 digital trabajando en modo PWM (Salida analgica).
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 "EscribeAnalgico PIN#...". Se ha colocado un bloque
de impresin en el puerto del valor sacado en el PIN6 de salida PWM para observar
cmo trabaja el algoritmo.
15
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
16
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
17
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
3. Ejemplos de Aplicacin
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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
19
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
20
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
21
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
3.3. Monoestables
Con esta prctica, que consta de dos versiones, queremos probar la emulacin de un
Monoestable, es decir realizar la temporizacin de la activacin o desactivacin de una
salida digital durante un tiempo que podemos establecer.
22
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
23
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
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, cambindola a "0"
si est en "1" y en caso contrario la cambiar a "1". A la vez cambiar el valor
que enva al PIN digital de salida PIN6. Se coloca el final una Espera de 200 ms
para evitar los rebotes en la manipulacin del botn de entrada de PIN4.
Este segundo montaje est pensado para que la activacin del biestable se realice
en flanco de bajada (cuando el valor del PIN4 pasa de valer 1 a valer 0). Para el
diseo 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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
25
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
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 botn colocado en este pin.
Queremos tambin que cada vez que se produzca una pulsacin 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
opcin "Monitor" de Mixly y ver cmo va la cuenta.
26
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
A continuacin se muestra una imagen que permite ver como se monitoriza el valor de
la variable de cuenta "i":
27
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
29
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
30
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
31
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
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
condicin 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 condicin que se encarga de esta
acotacin de nivel mximo. 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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
33
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
34
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
35
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
El proceso es el siguiente:
36
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
En este caso lo que queremos es que el valor ledo 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 funcin "Mapear". En esta caso la condicin
para la activacin de la salida PIN6 se debe cambiar a: Si A0>50. Entonces Salida
PIN6=1.
37
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
38
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
A2 >= 40 1 0 0
A2 >= 60 0 1 0
A2 >= 75 0 0 1
39
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
3.12. Secuenciador
En esta prctica 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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Secuenciador2
Ahora, lo que queremos aadir 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 botn). 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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
3.13. Semforo.
En este ejemplo mostramos la posibilidad de realizar un semforo.
Se crearn 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
lmparas del semforo. Se establece un retardo de 1 seg. para cada cambio de estado del
semforo.
42
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
1 0 3000
2 90 3000
3 180 3000
Como el valor mximo de la seal de gobierno "Control" ser 100, se debe realizar el
mapeado de la seal recogida en el PIN A0 de 0-1023 a 0-100 mediante el bloque de
funcin "Mapear"
43
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
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 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
EXPLICACION DE LIBRERIAS
Entrada/salidas Digitales y Analgicas
Bloques que controlan la ejecuion de suencias de acciones
Operaciones matemticas
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 librera es la que contiene los bloques mas genricos que tienen que ver
con la lectura o escritura de valores en los pines de arduino.
45
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
La libfera matematicas incluye los bloques que permiten el tratameninto d elos valores
de las variables de nuestra aplicacion.
46
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
El trabajo con variables de tipo lista o array se puede realizar con la ayuda de las
librerias que aparecen en esta librera
47
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Las funciones logicas son aquellas que afectan a la comparacio de valores y a las
funciones basicas logicas del lgebra de Boole
En esta librera tambin se incluyen bloque para el tercambio de datos a traves del bus
I2C de Arduino.
48
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
49
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
50
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
51
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
Las librerias que aparecen a continuacin estan integradas por elementos caractersticos
de los principlaes fabricantes y suministradores de elementos conectables cn Arduino
52
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
53
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
54
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
55
Mixly V:0.95 Gua de Usuario y Prcticas J.M. Ruiz Gutirrez
56