PANEL LUMINOSO DE LEDs

PANEL LUMINOSO DE LEDs

Este proyecto es un letrero luminoso, al que se le pueden dar múltiples usos y puede servir para dar una apariencia mas atractiva para nuestros programas.

Me ha llevado bastante trabajo desarrollarlo, pero acabe cansado y no me tome el trabajo final de dejarlo bien acabado, con lo que cualquiera que tenga un mínimo de conocimientos seguramente lo puede mejorar.

Además de que se le pueden hacer muchas mejoras como que tenga la opción de cambiar el color del letrero y otras muchas cosas mas.

Hay un error en una de las lineas de un script que comentare mas adelante que no afecta al funcionamiento normal pero que es un poco molesto si corres el programa desde el terminal.

Este programa consta de unos ejecutables que vienen en el programa de instalación que son unos script que se instalan dentro del directorio /usr/bin

Necesitan de los programas de aplicación que veremos a continuación.

La pet es la siguiente:

http://www.mediafire.com/download/6mlhlptxwytex2l/letrero_luminoso_v0.1.pet

Aquí dejo el programa del letrero corriendo, si queremos cambiar el mensaje lo único que tenemos que ir es a la linea 15 del script  panel_running y cambiar en esta linea el mensaje.

echo ” PUPPY IS GREAT ” > $TEMPDIR/message.dat
PUPPY IS GREAT — por el mensaje que nosotros queramos, puede ser en principio todo lo largo que se quiera, pero si es muy largo el programa se hara mas lento.

Puede que en algunos PCs no corra por que sean un poco lentos, para ello incrementar el valor en la linea 29 de este script panel_running   <timer visible=”false” milliseconds=”true” interval=”550″>

Sustituyendo el valor de 550 por un valor mayor.

Esto puede ser necesario para ordenadores lentos.

Si por el contrario hacemos menor este valor y nuestro PC lo soporta, el mensaje podra correr mas deprisa.

 

panel_running

El programa nos lo bajaremos desde:

http://www.mediafire.com/download/bc4pqvvs209chxv/panel_corriendo.tar.gz

 

En esta nueva version de letrero luminoso los script tiene la opcion de cargar un archivo de configuracion que colocaremos dentro del directorio /tmp/panel/setup.dat

Asi si dentro de este archivo creamos unicamente estas tres lineas de la forma siguiente

#FFFFFF
#00000
size2

 

No se puede crear mas que estas tres lineas


La primera indicara al script el color de los puntos de las letras.
La segunda linea el color detrás del texto.

Y la tercera linea indica el tamaño del panel así si es:
size2 indica el tamaño mas grande de panel.
size1 es el tamaño por defecto.

Si este archivo no existe se cargaran los valores por defecto.

Este es el resultado que obtendremos de esas tres lineas en el panel, podemos obtener las combinaciones de colores de letras y fondo que queramos eligiendo el color con el programa Gcolor2  que viene por defecto en Puppy.

000_img

El siguiente programa es un  simplemente un programa que nos muestra la hora actual.

Lo mismo que en el programa anterior puede que si el PC es lento sean necesario variar el valor de la linea. 42 del script time_svg

<timer visible=”false” milliseconds=”true” interval=”920″>

Aunque en este caso le deje un valor muy grande teniendo en cuenta que son segundos.

time_svg

Nos lo podemos bajar desde :

http://www.mediafire.com/download/493r2n3wf5m701b/hora_svg.tar.gz

Y el siguiente programa es lo mismo que el anterior pero muestra la fecha,
no es necesario en este caso tener en cuenta la temporizacion.

date_svg

Y no lo podemos bajar desde.

http://www.mediafire.com/download/534rjhh7fv3r4yx/fecha_svg.tar.gz

El siguiente script “time_hour” es solo una muestra de como hacer mas atractivo algunos programas.

Tener en cuenta que segun la potencia del ordenador puede tardar 2 , 3 o mas segundos en abrirse.

Este programa no necesita temporizacion.

 

time_hour

No lo podemos bajar desde

http://www.mediafire.com/download/7q6jb77a25cy8fk/horario_trenes.tar.gz

Como comentaba al principio la pet que instalamos consta de 3 script que se instalan dentro del directorio /usr/bin

El primer script –make_dot se encarga de convertir el mensaje almacenado dentro del directorio temporal /tmp/panel/message.dat y convertirlo a tipo de archivo en formato como vemos a continuacion.

En el este archivo hay ceros y unos y donde se representan como estarán iluminados los leds del panel, si es cero estarán apagado y si es uno encendido.

Esto se salvara en un archivo en el mismo directorio temporal /tmp/panel/color.dat

Cada fila del archivo corresponde a una de las columnas del letrero luminoso.
Así la primera fila es la primera columna de la izquierda del letrero luminoso y la segunda fila la segunda columna y así sucesivamente.
Si vemos las primeras lineas correspondientes al mensaje “ PUPPY IS GREAT” seria de la siguiente forma.

0 0 0 0 0 0 0 —— espacio

1 1 1 1 1 1 1 |
1 0 0 1 0 0 0 |
1 0 0 1 0 0 0 | —– la letra P
1 0 0 1 0 0 0 |
0 1 1 0 0 0 0 |
0 0 0 0 0 0 0 —— espacio

1 1 1 1 1 1 0 |
0 0 0 0 0 0 1 |
0 0 0 0 0 0 1 | — la letra U
0 0 0 0 0 0 1 |
1 1 1 1 1 1 0 |

y así sucesivamente, esto es lo que se traduce en los puntos luminosos dentro del panel.

En este punto es donde me da el error que comentaba al principio y que no he resuelto todavía, aunque no afecta al funcionamiento del panel, es molesto cuando se corre por terminal.

“./make_dot: line 20: [: P: unary operator expected”
La linea de código 20

if [ $char = ${x// /*} ]; then echo ‘0 0 0 0 0 0 0’ >> /tmp/panel/color.dat; echo ‘0 0 0 0 0 0 0’ >> /tmp/panel/color.dat; echo ‘0 0 0 0 0 0 0’ >> /tmp/panel/color.dat; char=”#”; fi

me detecta los espacios en blanco, pero no se por que se mete a comparar otros caracteres.
Bueno el siguiente script que se instala con la pet es

creator_svg          Este script lo que hace es coger el archivo:

/tmp/panel/color.dat            creado por make_dot

y con estos datos crea el panel de leds dentro de un archivo llamado:

/tmp/panel/num.svg

Que luego utilizaremos para nuestro programa.

Hay otro script que se nos instala que es:

rotate
Este script lo que hace es el efecto de desplazamiento para el programa panel_running. y así vemos nuestro mensaje desplazarse hacia la izquierda.

Para ello este programa lo que hace es mover la primera columna del mensaje a la ultima posición del archivo

/tmp/panel/color.dat

Ejemplo
0 1 1 0 0 0 0 – — > mueve esta linea a la ultima fila del archivo.
0 0 0 0 0 0 0
1 1 1 1 1 1 0
0 0 0 0 0 0 1
0 0 0 0 0 0 1
0 0 0 0 0 0 1
1 1 1 1 1 1 0
0 0 0 0 0 0 0
1 1 1 1 1 1 1

————-
————–
————–

1 1 1 1 1 1 1
1 0 0 1 0 0 0
1 0 0 1 0 0 0
1 0 0 1 0 0 0
< — se mueve aquí.

Espero resulte útil y interesante… la verdad es que las posibilidades que tiene este programa son muchas y yo pienso utilizarlo muy pronto para mis programas …. nos vemos un saludo.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s