EL SOFTWARE

NECESARIO

Software diseña sensores digitales para LEGO Mindstorm NXT

down-rojo-flecha

Para poder programar en NXT-G los circuitos digitales que estamos construyendo, será necesario descargar de la red una serie de iconos o bloques. Los dos más básicos serán los de leer y escribir.


Luego hay otros que nos ayudarán con las matemáticas y sin los cuales la cosa se complica bastante. Son iconos de libre distribución de páginas muy conocidas del mundillo de LEGO, así que no hay problema. Te contamos paso a paso cuáles son, cómo y dónde descargarlos.


LOS BLOQUES BASICOS


BLOQUE WRITE


Este será el primero. Pincha en el icono amarillo a continuación para descargar el bloque IIC_Write, descomprime el archivo e instálalo en el NXT-G. Recuerda que para instalar bloques en el NXT-G tienes este pequeño Tutorial Descargar Iconos Nuevos.


Este icono no lo he programado yo. Según la página de Mindsensors pertenece a un tal "xw25adc" y según la página de Teamhassenplug ya no consta en la página de origen. Puedes acudir a cualquiera de esas 2 páginas o descargarlo directamente pinchando sobre el siguiente icono:


Descargar icono I2C_Write para NXT

Sirve para configurar las salidas del circuito integrado PCF8574. Este es uno de los bloques básicos y necesarios para programar en NXT-G. En él diremos qué LED o LEDs queremos que se enciendan o apaguen.



NOTA:


Con este icono, ya puedes montar el primer LED en la siguiente sección. Aún así, te recomiendo que si le has pillado el truco, descargues al menos el bloque siguiente. Los de la sección de Bloques Avanzados son más complicados de entender si no tienes práctica.



BLOQUE READ


Sirve para configurar las entradas. Dicho de otra forma, "lee" el estado de, por ejemplo, un interruptor. Luego ya actuaremos en consecuencia. Necesario por tanto para cualquier montaje con interruptores con el PCF8574. Este bloque también lo puedes encontrar en las páginas anteriores o puedes pinchar sobre el icono a continuación para descargar IIC_Read.


Descargar icono I2C_Read para NXT

BLOQUE PCF8591-NX


Como su nombre indica, sólo es válido para el circuito integrado PCF8591, que es el que admite 4 entrada analígicas. Por ejemplo de 4 potenciómetros. Es el bloque básico con el que leer este circuito, que veremos más adelante. No es válido para el PCF8574. Dispone también de una salida analógica.


Con este icono podremos leer las 4 entradas que le conectemos. Dispone de varios modos de configuración, pero en principio usaremos uno.


Pincha sobre el icono para ir a la página y descargarlo.




LOS BLOQUES AVANZADOS


BLOQUE POW


Resulta bastante evidente el uso de este icono. Pincha sobre él para ir a la página y al final, lo encontrarás.


POW (4K)

Lo que es menos evidente es este programa.


Si representas en el display la variable "Number 1", aparecerán los siguientes números: 254, 253, 251, 247, 239, 223, 191 y 127. Los usaremos con relativa frecuencia en algunos programas.


pow-basico


BLOQUE BIT LOGIC


Este bloque es tremendamente útil en programación digital. Permite realizar operaciones lógicas entre números binarios. De esta forma podremos, por ejemplo, convertir un número en su "inverso". Si con 11001100 encendemos los unos LEDs, al aplicar la operación "XOR" obtendremos el número 00110011, que apagarán los que estaban encendidos y encenderán los apagados.


Pincha en el icono para ir a la página de descarga.


mask-config (6K)

Para el ejemplo anterior, si con 11001100 (204 en decimal) tenemos encendidos unos leds, con el programa siguiente y seleccionando la salida XOR obtendremos la "inversión" de los LEDs y obtendremos 00110011 (51). Configuralo como sigue.


bit-logic-config

Este bloque tiene 4 salidas en total: AND, NOT A, OR y XOR. Se pueden configurar por cable o poniendo el valor en decimal directamente en el icono.



BLOQUE MASK


Este icono permite leer solo algunos dígitos de los 8 de que constan los números que se usan para la configuración de los circuitos integrados. O sea, del número 11010010, podemos coger los 4 primeros, o los 4 últimos o cualquier otra combinación que queramos. De esta forma podremos controlar los LEDs o interruptores de esas posiciones únicamente.


Pincha en el icono para ir a la página y poder descargarlo.


Mask (4K)

Este icono lo podrás encontrar en la misma página que el anterior. Me resulta más lioso de explicar.


mask-config

Hay 2 parámetros configurables: "A" y Mask. "A" es el valor del cual queremos obtener la máscara. Y "Mask" es el valor de la máscara.


Un ejemplo, porque así dicho no se entiende mucho. Si tenemos el número 206 (1100-1110) como valor de "A" y queremos obtener los 4 primeros dígitos, escribimos en la máscara 1111-0000 (240) y obtendremos 1100-0000, o sea, 192.


Y si ahora quisiéramos los 4 últimos números de 206, escribiríamos en Mask 0000-1111 (15) para obtener 0000-1110 (14). Y si quisiéramos los 4 dígitos de en medio pondríamos en la máscara 0011-1100 (60) y obtenemos 0000-1100, o sea 12.


O sea, ponemos en la máscara "unos" en las posiciones que queremos conocer. Y la máscara leerá sólo esas posiciones (si es uno o cero) del número "A". Todo lo demás lo convertirá en ceros.


Uf, espero haberme explicado algo.


up-rojo-flecha
Circuito básico PCF8574
Entendiendo el circuito: 1 LED
.