ENTENDIENDO EL CIRCUITO:

UN LED

Conectar un LED circuito Digital para LEGO Mindstorm NXT

down-rojo-flecha

MONTAJE

Montaremos el LED según el siguiente esquema. Recuerda que el LED tiene polaridad, y por tanto tienes que montar la pata más larga al verde y la corta a la resistencia. Esto que ves a continuación es el circuito base de la sección anterior al que hemos añadido el LED y la resistencia.


Recuerda que el valor de la resistencia puede variar un poco según el LED que pongas. Revisa en Componentes para más información o la lista de Materiales de la primera sección.


Conectar un LED circuito Digital LEGO Mindstorm NXT

El cable añadido es el rojo, que conecta P0 (pin 4) con la pata corta del LED. Debería quedar así:


Foto conectar un LED I2C Digital LEGO Mindstorm NXT

PRIMER PROGRAMA: 1 SALIDA


Bueno, ya lo tenemos todo. Vamos (por fin) a hacerlo funcionar. Escribe el programa de la imágen. He puesto en la parte inferior la configuración del primer bloque "Write". Recuerda que con este escribimos lo que queremos hacer con las salidas, que son los LEDs. Deja el icono de Write exactamente igual que en la figura: desactiva la pestaña "WriteReg" del círculo rojo y escribe esos valores.


Si te fijas, los valores escritos en la configuración del bloque aparecen luego en el icono, por lo que no será necesario que lo pongamos. Solo fíjate en los valores que pone ahí. Para saber si la pestaña está activada, fíjate en el icono en el valor del medio y verás que está en gris. Señal de que no está activado. Si fuera así, estaría en negro como los otros y, si es el caso, con su valor escrito.


El primer icono pone 64-0-254. El segundo Write pone 64-0-255. En el icono de tiempo pones los segundos que quieres que esté encendido el LED. Conecta el circuito al puerto 1. Y ya sabes, dale descargarlo al NXT a ver si va. Y si no te funciona... ya puedes revisar las conexiones, y especialmente si has orientado bien el LED.


Configuracion icono LED I2C Digital LEGO Mindstorm NXT

Enhorabuena, ya has montado tu primer circuito digital. Espero que haya funcionado. Bueno, hemos conectado el LED al pin 4 (P0) del CI, que está a la izquierda. Ahora desconecta el cable del pin 4 (P0) y lo conectas al pin 5 (P1).


Si ejecutas el programa verás que no pasa nada. Hay que hacer una pequeña modificación. Ve al primer bloque de Write y donde pone "254" en el WValue, pones "253". Todo lo demás igual, no se toca. Ya puedes ejecutarlo. ¿Funciona?.


Parece que ahora ya entendamos algo, justo hasta que decidamos cambiar el cable desde el pin 5 (P1), lo pongamos en el pin 6 (P2) y escribamos "252" en el WValue. Nos llevaremos un desengaño. Para que el LED conectado al pin 6 (P2) funcione hay que escribir en el primer Write el valor de 251. Todos estos valores son sus matrículas o direcciones.


RECOPILANDO DATOS


Qué tenemos hasta ahora?. Bueno, algunas cosas ya. Lo primero es tal como hemos conectado los pines 1, 2 y 3 (A0, A1 y A2), el PCF8574 tiene un "Adress" de 64. En los tres ejemplos anteriores no hemos tocado ese número (ni lo tocaremos) porque no hemos cambiado la conexión de estos 3 primeros pines.


Más cosas. Ya tenemos localizadas las matrículas (direcciones) de los pines a los que hemos ido conectando los LEDs. 254 para el pin 4 (P0), 253 para el pin 5 (P1) y 251 para el pin 6 (P2), OJO, siempre y cuando sólo tengamos 1 led conectado.


Estamos empleando un CI de 8 Entradas/Salidas. Ahora mismo estamos configurandolo como Salidas. El resto de pines útiles para ser configurados como salidas se ven fácilmente en el esquema. Son los pines 4, 5, 6, 7, 9, 10, 11 y 12, correspondientes a P0 hasta P7. Solo hay que conocer la dirección del resto de pines para poder conectar el LED a cualquiera de ellos. Esto se detalla en la siguiente tabla.


Valores conectar LED I2C Digital LEGO Mindstorm NXT

Bueno, ahora ya podemos conectar nuestro LED a cualquiera de las salidas, desde P0 a P7. Y para apagar cualquiera de ellos, se pone 255.


ORIGEN DE ESTOS NUMEROS


Y estos números tan raros... ¿de dónde salen? ¿porqué estos y no otros?. Lo explicaremos con una visita guiada. ¿Tienes calculadora en el escritorio de tu PC? Abrela. En el menú "Ver", le das a "Científica" o a "Programador", según la versión que tengas.


Escribe ahora 251 por ejemplo, uno de los números de la lista. Y ahora lo divertido: pulsa la pestaña de la parte superior que pone "Bin". Sale un número curioso ¿no?. Vuelve a dejar la pestaña en "Dec" y prueba con otro de la lista. Y si pruebas con el 255 ¿qué sale?. Curioso, ¿no?.


Ya hemos dicho que la electrónica digital está basada en parejas del tipo si/no, encendido/apagado, uno/cero, etc. Son como interruptores. Habitualmente el 1 es encendido y el 0 apagado. Aquí es al revés, pero es lo mismo. Cuando escribimos en binario esos números, vemos que están formados por 8 dígitos.


Cada uno de esos dígitos representa una de las salidas P0, P1 ... P7, o sea, cada uno de los lugares en los que has conectado LEDs. De esta forma, el número 11110111 hace que se active un LED conectado al pin 7 (P3).


Es como si pusieras 8 interruptores de la luz todos en fila y solo estuviera apretado el cuarto interruptor, el que marca 0 y que enciende el LED que hemos dicho. Y cuando apagamos esa "llave de la luz" y ponemos todos los interruptores a 1 (8 unos seguidos), se apagará cualquier LED, ya que 1 es apagar y 0 encender.


Ahora ya sabemos de donde salen estos números. 255 es el mayor número que se puede escribir con 8 cifras en sistema binario: 11111111. 2 elevado a 8 son 256, si cuentas el cero.


NOTA 1


Haz una pequeña modificación al programa anterior. Son 3 iconos. El último es para apagar el que has encendido anteriormente. Bueno, pues quítalo y ejecutas el programa, sólo con los 2 iconos que quedan, el de encender y el de tiempo.


Verás que el LED se queda encendido aunque el programa se haya acabado ya (mira la pantalla del NXT para confirmarlo). La forma de apagarlo es desconectar el cable del puerto o sacar el cable verde de la placa de conexiones. Cuando lo vuelvas a conectar, ya estará apagado.


NOTA 2


En la siguiente sección "Dos LEDs", todo esto quedará más claro (o eso espero).


up-rojo-flecha
Software necesario
Dos LEDs
.