ANTES DE EMPEZAR
Lo primero es la recomendación de leer este capítulo antes de seguir. Digo esto porque aquí trataremos de resolver las dudas básicas lo más sencillo y práctico que pueda, qué pasos dar, etc. Qué elementos básicos necesitas, tanto de software como de componentes electrónicos.
Esta parte es algo más complicada que la de sensores analógicos, pero permite muchísimas posibilidades. Ya lo verás. Los sensores digitales suelen programarse en lenguajes algo más complicados, NXC, Lejos, Robot C, etc. Aquí usaremos el lenguaje original, el NXT-G.
Podremos hacer mucho más de lo que voy a explicar en estas páginas, desde luego. Pero por dar algunas ideas para que veas si te interesa o no, ahí van algunas.
Con digitales se pueden conectar 16 LEDs (del color que quieras claro) a un solo puerto. Y podrías controlarlos a todos de forma individualizada, diciendo cuál quieres que se encienda, cuál que se apague, durante cuánto tiempo...
También puedes combinar pulsadores con LEDs y conectar por ejemplo 4 pulsadores y 4 interruptores. Con esto podrías llegar a programar el famoso juego del "SIMON", del que hay más de un ejemplo por la red.
En ese montaje, podrás encender de forma independiente cada LED con su interruptor correspondiente. ¿Te imaginas construir un vehículo offroader con todas sus luces: frenos, posición, marcha atrás, antinieblas amarillos, luces largas...? Y todo en un solo puerto y con el NXT-G.
También aprenderemos a acoplar sensores analógicos al NXT mediante el bus I2C. Esto nos permitirá hacer un joystic usando solo un puerto. De hecho, se pueden acoplar hasta 4 sensores analógicos en un solo puerto. En los capítulos avanzados llegaremos a conectar hasta ... ¡64 LEDs!.
Hay toneladas de información sobre electrónica digital en internet. No entraré aquí en fundamentos ni nada por el estilo. Solo lo necesario para hacer funcionar los circuitos.
Nos bastará saber que todo se basa en 0 y 1, encendido y apagado, si y no. Como lo quieras decir. Vamos, es una electrónica bastante maniquea, de buenos y malos. De esta forma es fácil comprender que no podremos regular la intensidad de un LED. Estará encendido o apagado, y punto. Aunque bueno, también podremos acoplar sensores con valores intermedios, pero bueno...
Para trabajar en digital, el NXT lleva incorporado un protocolo entre los sensores y el NXT. Es como el idioma en el que se comunican ambos, y se llama I2C. A esto se le llama "bus" de comunicación. Si quieres profundizar, hay tienes una explicación en castellano relativamente sencilla del funcionamiento de este bus en robots Argentina.
Así que cuando oigas esto, hará referencia a ese "idioma" interno, que no tienes por qué conocer. Eso si, debes saber que para usar este protocolo, el NXT usa los cables amarillo y azul.
Hay un par de palabras que usaremos con frecuencia. Son "Entradas" y "Salidas". La cosa es bastante intuitiva. "Entrada" es la información que le llega al NXT. O sea, cuando pulsemos un interruptor, estaremos enviando un "1" al NXT. Este valor "entra" en el NXT.
Por el contrario, cuando enviemos desde el NXT una señal a un LED para que se ilumine, o se apague, esto es una salida. En inglés, muy usado en todo esto, se le llama I/O, de IN/OUT (supongo) y hace referencia a esto.
1. Placa de conexiones para pinchar en ella todos los elementos.
2. Un cable del NXT pelado y con todas sus conexiones acabadas en cable rígido para poder pinchar cómodamente en la placa de conexiones.
3. Un circuito intergrado. Básicamente usaremos dos, el PCF8574 y el PCF8591. El primero sirve para añadir 8 Entradas o Salidas al NXT. O sea, nos permitirá conectar 8 LEDs, o 8 pulsadores o combinaciones de ambos (4 y 4 por ejemplo). Si añadimos un segundo circuito igual, lógicamente doblaremos el número de elementos.
El segundo circuito, el PCF8591, nos servirá para conectar hasta 4 sensores analógicos, o sea, que este son 4 entradas analógicas tratadas digitalmente. Estos 4 sensores pueden ser del tipo de los que vimos en las secciones de Sensores Analógicos: potenciómetro, termómetro, LDR, etc.
4. Cables cortos suficientemente rígidos para hacer las conexiones en la placa con comodidad.
5. Dos resistencias de 82K ohm
6. Pulsadores como los usados en los circuitos analógicos. Con 4 tienes más que de sobra de momento.
7. LEDs del color que quieras. Con 8 tienes más que de sobra.
8. Una resistencia por cada LED que vayas a poner. Estas resistencias dependen del color y habitualmente son de 330 o de 220 ohm según el LED. Pregunta en la tienda. El voltaje que aplicaremos será de 4,3 voltios, que es lo que proporciona el cable verde.
9. Otros componentes electrónicos según el circuito que estemos realizando.
Aunque programaremos todo en NXT-G, el software original del MINDSTORM NXT, necesitaremos descargarnos algunos iconos de la red. Sin ellos no nos será posible la programación, ya que son ellos los que "leen" los circuitos digitales que hemos dicho. Son iconos de libre distribución y de páginas reconocidas en el mundo LEGO, por lo que no hay ningún peligro.
Lo explicaremos paso a paso, así como su uso. Recuerda que también hay un tutorial sobre cómo Instalar nuevos iconos en tu NXT-G.