JLed

Hola, mientras realizaba mis proyectillos, me he visto en la necesidad de crear una clase que se asemeje a un led. Este es el aspecto que tienen los led creados con esta clase.

Dejo el API así, como el paquete jar con el fuente y el .class

API    JLed.jar

Una vez creada la clase y dando rienda suelta a la imaginación, se me ocurrieron un par de ejemplos cutres de lo que se puede hacer con los led.

Ejemplo 1)

Me he creado una clase que contenga 8 leds que representarán un Byte.

Esta clase va a tener uno o varios arrays de String , que contendrán cadenas en Hexadecimal, que representarań los estados de los led en cada momento.

Por ejemplo String[] secuencia={“0×00″,”0×81″,”0xC3″,”0xE7″,”0xFF”};

Este array en Hexadecimal, lo vamos a transformar a binario, como bien es sabido, hay una correspondencia directa entre el Hexadecimal y el binario, así pues el conjunto de bits que nos quedará como resultado de la transformación del array anterior es el siguiente:

0×00=00000000

0×81=10000001

0xC3=11000011

0xE7=11100111

0xFF=11111111

Una vez realizada la transformación, vamos a asignar a cada led un bit del Byte que obtenemos de la transformación. Esto lo tenemos que hacer con cada uno de los estados de la secuencia

Así pues el efecto de esta secuencia es el siguiente:

0×00=00000000

0×81=10000001

0xC3=11000011

0xE7=11100111

0xFF=11111111

De esta manera, nos resulta muy fácil crear nuevos efectos para nuestros led, yo he puesto aparte de la anterior las siguientes secuencias.

String[] secuencia2={“0×00″,”0xFF”};

String[] secuencia3={“0×80″,”0×40″,”0×20″,”0×10″,”0×08″,”0×04″,”0×02″,”0×01″,”0×02″,”0×04″,”0×08″,”0×10″,”0×20″,”0×40″};

String[] secuencia4={“0xAA”,”0×55″};

String[] secuencia5={“0×00″,”0×81″,”0xC3″,”0xE7″,”0xFF”,”0x7E”,”0x3C”,”0×18″};

String[] secuencia6={“0×00″,”0×81″,”0xC3″,”0xE7″,”0xFF”,”0xE7″,”0xC3″,”0×81″};

Dejo aqui disponible el jar de este ejemplo, que ejecutara todas las secuencias.

Ejemplo 2)

Tomando como referencia el ejemplo anterior, y haciendo uso de la facilidad de transformar de hexadecimal a binario,  vamos a complicar la cosa, pero sólo un poco. Vamos a crear una flecha hacia la derecha.

Como lo estarán intuyendo, vamos a necesitar de una matriz de leds, yo la he creado de 7×8. Bien ahora que ya tenemos nuestra matríz, tenemos que crear los estados, en nuestro caso son los siguientes:

String[][] sec={{“0×08″},{“0x0C”},{“0xFE”},{“0xFF”},{“0xFE”},{“0x0C”},{“0×08″}};

0×08=00001000
0x0C=00001100
0xFE=11111110
0xFF=11111111
0xFE=11111110
0x0C=00001100
0×08=00001000

Bueno ya esta todo casi conseguido, tras hacer unos cuantos bucles, y como en el ejemplo anterior, asignar a cada led su valor correspondiente, este es el resultado.

Si a esto le ponemos una pausa, y en un bucle podemos crear el efecto de refresco.

Dejo aquí este segundo ejemplo, que a su vez crea el efecto de barrido.

PD.: En ambos ejemplos, sólo dejo el ejecutable, si alguien quiere el código, me lo puede pedir y encantado se lo enviaré.

Acerca de frlx
Estudiante, programador.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.