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

CONTROL SAA1064 CON ARDUINO

El siguiente programa y circuito es para controlar el circuito SAA1064 que es un integrado que nos ayuda a controlar 2 o 4 displays  con simplemente dos lineas de control atraves del puerto I2C del arduino.

El esquema lo podemos ver en la siguiente imagen:

esquema

Es un arduino uno pero puede funcionar perfectamente para cualquier placa de desarrollo de arduino.

El datasheet del SA1064 no lo podemos bajar de la dirección.

http://pdf1.alldatasheet.es/datasheet-pdf/view/18930/PHILIPS/SAA1064.html

Bueno el programa esta creado en Gambas no es muy complicado de manejar:

programa

El programa esta echo en gambas3 y  podemos bajarlo de la dirección :

http://www.mediafire.com/download/mayp69hi74i4hl2/SA1064ga-0.0.4.tar.gz

El programa de arduino no lo podemos bajar de:

http://www.mediafire.com/view/rzcsnce27r46cjb/panel_arduino.ino

Es interesante este circuito por que con solo dos patillas de un arduino o un microcontrolador podemos controlar hasta cuatro displays, ademas el costo de este integrado el SA1064 es de un coste bastante económico.

El uso de displays da un aspecto mas clásico a nuestros proyecto y en mi caso sirve para aprovechar multitud de displays que tengo.

Podemos ver el funcionamiento de este circuito y del proyecto en el siguiente vídeo.


Espero resulte interesante….  Un saludo

 

 

CONTINUACION MICROSCOPIO ELECTRONICO

El microscopio electrónico puesto en el post :

https://misterelectronico.wordpress.com/2015/03/19/microscopio-electronico-con-webcam/

Esta bien pero para ver cosas muy pequeñas y apreciar errores que podamos tener en nuestros PCBs de un tamaño muy pequeño como puede ser una mala soldadura en un componente electrónico de alta densidad de patillaje.

También para los trabajos que no requieren tanta precisión podemos montar la lupa de de aumento como la de  :

https://misterelectronico.wordpress.com/2015/03/19/lupa-aumento-y-tercer-mano-para-trabajar-con-placas/

Esto esta bien si estamos por ejemplo montando un circuito o cualquier otra actividad, pero en algunos momentos nos puede ser interesante ver un circuito electrónico simplemente en forma de macro en la pantalla de nuestro ordenador.

Para ello lo único que nos hace falta es una lente de no mucha ampliación puesto justo por encima de nuestra webcam.

Podemos buscar esta lente entre multitud de aparatos que nos podemos encontrar por ahí, como cámaras, calidoscopios,  prismáticos de niños, etc…

En mi caso la lente la saco de una linterna de estas que se recargan por movimiento .

La lente de este aparato es plástica y bastante mala por que si se mira atraves de ella ves que tiene bastantes irregularidades ópticas, aun así para lo que se pretende va a valer de sobra.

img0

Bueno pues quitándole el protector negro extraemos muy fácilmente la lente.

img2

Poniéndolo para hacer la prueba fijándola con un celo por encima de la webcam para hacer la prueba.

img1

Y colocándolo en el soporte del microscopio hacemos la siguientes fotos con la webcam.

En ellas veremos que aunque la lente es muy mala podemos hacer la función de macro, y nos deja espacio suficiente para hacer trabajos sobre el circuito como soldar y demás.

Vemos la primera foto.

img3

En la que podemos ver los valores de las resistencias SMD que son de las pequeñas.

Así como la de algún transistor.

Según como le apliquemos la iluminación podremos ver la seligrafia de unos componentes u otros, como se puede ver en las siguientes fotos.

img4

o esta otra en que se ve la seligrafia del integrado.

img5

Esto es bastante sencillo, lo importante es hacerse un buen soporte, lo mas estable posible y que pueda desplazar la webcam con movimientos ascendentes y descendente lo mas precisos posibles.

Un saludo.

 

MEDIDOR DE DISTANCIAS ARDUINO CON EL HC-SR04

MEDIDOR DE DISTANCIAS ARDUINO CON EL HC-SR04

Partiendo del programa creado por cajon de ardu en el enlaced que vemos en :

http://elcajondeardu.blogspot.com.es/2014/03/tutorial-sensor-ultrasonidos-hc-sr04.html

He creado este programa en Gambas para visualizar los datos del sensor en un programa.

El conexionado del arduino con el sensor seria:

arduino

Esto valdria para cuaquier tipo de placa de desarrollo de arduino.

frontal_medidor

El programa de arduino modificado es:

http://www.mediafire.com/download/l4qbebzhgy4pv7x/medidor.ino

Y el programa o pet para Puppy es :

http://www.mediafire.com/download/yd1d986ksjm5lcw/medidor_arduino.pet

Nos creara una entrada de menu en Utility o Utilidades con el nombre Medidorarduino

El programa en gambas podemos bajarnoslo de

http://www.mediafire.com/download/ipf4gdbvwbt1wbu/medidor-0.0.4.tar.gz

Importante leerse el archivo LEEME_IMPORTANTE.txt que esta dentro de este paquete para personas que quieran hacer instalaciones de este paquete en otras distribuciones que no sean Puppy.

Si no tenemos instalado Gambas y queremos hacer correr este programa de Gambas y los otros  programas que he ido colgando para arduino, como dije en las otras entradas es necesario tener instalado el programa gambas_devs.sfs.

http://www.mediafire.com/download/ns69ql2x6dpilly/gambas_dev.sfs

 

El video de funcionamiento lo podemos ver en youtube:

 

Bueno espero de sea de utilidad un saludo.