Professional Documents
Culture Documents
2015
Mixly V:0.95
Manual de Usuario y Ejemplos
Mixly V:0.95
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.
Mixly V:0.95
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.
Es un entorno de programacin Grfica basado en Blockly Realizado en la School of
Educational Technology de la Beijing Normal University de China, dentro de un
proyecto cuyo nombre en chino es:
""
( "Maker Education Laboratory of Beijing Normal University").
Web del Proyecto: http://maker.bnu.edu.cn/
La versin actual del software es Mixly V.0.95, de esta versin he realizado la
traduccin al espaol del entorno pudindose bajar el fichero zip desde Github
mediante el enlace. https://github.com/xbed/Mixly_Arduino/releases
Advertencia: Cuando se descargue el fichero, si se tiene activado Avast (no se si con
otro antivirus pasa lo mismo) se produce un error en la descarga debido a que un fichero
dentro del fichero zip tiene una "traza" que el antivirus reconoce como virus. LOS
AUTORES ASEGURAN QUE NO ES UN VIRUS Y TRABAJAN PARA EVOTAR
ESTE INCONVENIENTE. Lo que debemos hacer es desactivar, durante la descarga, el
antivirus y, una vez descargado, proceder a su descompresin. Cuando se vuelva a
activar el antivirus probablemente nos seguir dando un error en el fichero Mixly.exe y
nos lo borrar de la carpeta en la que se haya descomprimido. No importa, se puede
ejecutar la aplicacin con el fichero Mixly.jar (siempre que tengamos instalado java en
nuestra mquina)
El proyecto ha sido desarrollado por el Ingeniero de Software Luo Kailiang
perteneciente al grupo mencionado anteriormente. A Luo le debo agradecer la facilidad
que me ha dado para poder traducir la herramienta y realizar una compilacin en
espaol
Mi deseo es que Mixly sea evaluado y valorado como:
UNA POTENTE Y SENCILLA HERRAMIENTA DE PROGRAMACIN GRFICA DE
ARDUINO Y SUS DIVERSAS VERSIONES DE TARJETAS, MUY ADECUADA PARA
SU USO EN LA ENSEANZA PRIMARIA SECUNDARIA Y LA FORMACION
PROFESIONAL.
Mixly V:0.95
1. INSTALACIN:
Para instalar la aplicacin basta descomprimir el fichero zip que se haya descargado del
lugar de enlace de descarga en una carpeta .
La estructura de esta carpeta ser la siguiente.
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.
La carpeta llamada "arduino-1-6-5", esta contiene el IDE de Arduino 1.6.5
completo y es preciso que este ah y no se borre ni cambie de nombre. La
aplicacin ira a esta carpeta para lanzar el IDE de Arduino en modo
transparente.
La carpeta Blockly contiene el ncleo de Blockly
La carpeta sample contiene los ejemplos en formato XML
La carpeta setting contiene el fichero config que sirva para la configuracin de
la aplicacin
La carpeta testArduino es en la que se guardara el fichero INO de la aplicacin
que estemos ejecutando.
La carpeta company contiene libreras de distintas compaas
La carpeta mylib puede contener las libreras que nosotros creemos.
4
Mixly V:0.95
Mixly V:0.95
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
Abrir
Guardar
Guardar Como
Exportar
Mixly V:0.95
Importar
Gestin
Compilar
Descargar
Seleccionar Tarjeta
Seleccionar Puerto
Monitorizar
rea de
Mens
rea de
Trabajo
rea de
Cdigo
Mixly V:0.95
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
2.4.
Sobre cada Bloque se pueden realizar una serie de operaciones. para ello pulsamos el
boon dercho del raton estando el puntero sobre el bloque y nos aprece un menu con las
opciones que se ven en el aimagen siguiente. Pasamos a comentarlas.
Mixly V:0.95
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.
Mixly V:0.95
2.5.
Adems de este bloque "Si" existen otros bloques que tienen esta capacidad. En la
figura siguiente se muestran.
11
Mixly V:0.95
2.6.
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
asignado
12
Mixly V:0.95
UN EJEMPLO
A continuacin vemos un ejemplo de utilizacin de las variables.
Se trata de un sistema que est formado por una vlvula que se abrir y cerrara cada
cierto tiempo.
La vlvula se conectar a un pin de Arduino al que nombramos con la variable
"Valvula" (valor tipo long). Definimos el estado de la vlvula (valor booleano) con la
variable Estado_Valvula y seguidamente definimos dos valores de tiempo (variable
tipo long) que nombramos como Tiempo_Abierta y Tiempo_Cerrada.
13
Mixly V:0.95
"falso" (apagado)
2.7.
Es muy normal que en nuestras aplicaciones tengamos que utilizar listas o arrays de
datos. Para ello en Mixly se utilizan los bloques de la librera "Listas".
Esta librera tiene los bloques siguientes.
Crea una lista con un conjunto de
elementos dentro de ella. Los datos
pueden ser de dos tipos: Int (Enteros) o
Float (Decimales). La lista debe ser
nombrada con un nombre "mylist"
Crea una lista con un texto
Devuelve el valor de un elementos
especfico dentro de una lista
Establece un dato dentro de una lista en
una posicin determinada
El bloque "crear una lista con" permite
definir el nmero de elementos de la
lista, para ello bastar con pulsar sobre
el icono y aadir elementos en la
lista.
14
Mixly V:0.95
Mixly V:0.95
16
Mixly V:0.95
Mixly V:0.95
3. Ejemplos de Aplicacin
3.1.
Intermitente
18
Mixly V:0.95
19
Mixly V:0.95
20
Mixly V:0.95
21
Mixly V:0.95
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.
Vamos a trabajar con los pines siguientes:
PIN 4 Entrada digital
PIN 6 Salida digital
Veremos los siguientes casos...
22
Mixly V:0.95
23
Mixly V:0.95
Mixly V:0.95
25
Mixly V:0.95
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.
Definimos la variable "i" que almacena el numero de impulso recogidos. Pero es
importante que esta variable se defina como global, no local. Al definirla, la ponemos
en "0". Se testea el valor del PIN4 de entrada de impulsos y, si est en "1", se
incremente la variable "i".
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
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
28
Mixly V:0.95
29
Mixly V:0.95
30
Mixly V:0.95
31
Mixly V:0.95
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
Se ha dispuesto tambin la opcin de imprimir el valor de la variable Intensidad por el
puerto USB.
A continuacin se muestra la ventana de monitorizacin del valor de la Intensidad.
32
Mixly V:0.95
33
Mixly V:0.95
34
Mixly V:0.95
35
Mixly V:0.95
36
Mixly V:0.95
37
Mixly V:0.95
38
Mixly V:0.95
Estado PIN9
Estado PIN10
Estado PIN11
A2 >= 40
A2 >= 60
A2 >= 75
39
Mixly V:0.95
3.12. Secuenciador
En esta prctica vamos a realizar secuenciadores.
Un secuenciador es un circuito que activa y desactiva salidas de un modo secuencial
estableciendo un tiempo entre una secuencia y la siguiente o saltando de una a la otra
cuando se ordena mediante un pulsador de entrada.
Secuenciador1
Vamos a realizar un primer ejemplo en el que la secuencia que deseamos realizar ser
con 4 salidas digitales: PIN6, PIN9, PIN10, PIN11.
Con el PIN4 actuando de entrada activaremos la secuencia mediante un condicional
"Si". Creamos una variable que llamamos "t" que representa el tiempo entre cada
estado de la secuencia y le daremos un valor t=200, lo que significa que cada 0.2 seg.
cambia el estado.
Los estados se disearn de acuerdo a la tabla siguiente:
Estado PIN6 PIN9 PIN10 PIN11
A0
A1
A2
A3
A4
40
Mixly V:0.95
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".)
Este sera el programa:
41
Mixly V:0.95
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.
Se dispondr de un botn en el pin digital PIN4 que, si mantenemos pulsado, ejecutar
la secuencia normal del semforo; y si soltamos, se pondr en modo intermitente del
mbar.
Simplemente realizando el enlazado de bloques de Retardo y Escribir Digital
realimentadas. Las salidas establecidas son PIN11 (rojo), PIN10 (mbar) y PIN9
(verde).
42
Mixly V:0.95
Angulo
Tiempo
3000
90
3000
180
3000
43
Mixly V:0.95
44
Mixly V:0.95
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
La libfera matematicas incluye los bloques que permiten el tratameninto d elos valores
de las variables de nuestra aplicacion.
46
Mixly V:0.95
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
Las funciones logicas son aquellas que afectan a la comparacio de valores y a las
funciones basicas logicas del lgebra de Boole
48
Mixly V:0.95
49
Mixly V:0.95
50
Mixly V:0.95
51
Mixly V:0.95
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
53
Mixly V:0.95
54
Mixly V:0.95
55
Mixly V:0.95
56