sábado, 4 de octubre de 2008

Piratas del Silicio



Esta vez ofrecemos una posibilidad de reflexión acerca de la revolución informática que ocurrió entre los años 70 y 80 con la aparición de los primeros ordenadores "personales" y los entornos gráficos.

Fue por mediación de un compañero que estuvimos investigando un poco la creación de los entornos gráficos de los que hoy disponemos en PC y Mac. Normalmente se piensa que Mac fue el ordenador creado para gráficos, diseño y etc, siendo la "primera" creación con entorno gráfico basado en ventanas, tipos de letras, iconos y lo que podemos conocer hoy.

¿Qué pensarías si supieras que la empresa de Steve Jobs lo que hizo fue una copia de la tecnología de la empresa Xerox? ¿Y si supieras que Bill Gates estuvo trabajando para Steve Jobs? La guerra quizás no estaría tan clara. Tanto uno como otro dependieron de los desarrollos de la compañía Xerox para avanzar en la tecnología que tenían y ofrecían al mercado (entornos gráficos y el uso del ratón como interface humano-máquina habitual).

No queremos sembrar polémica, ni romper mitos, pero cuando sabes que no hay diferencia entre Bill Gates y Steve Jobs, que de diferente forma a cada uno le movían las mismas cosas y que los ejemplos de grandes modelos a seguir en el mundo empresarial están maquillados, ofreciendo una imagen casi idílica y un tanto tendenciosa, cuando menos no te puedes quedar indiferente.

Pensamos que un ejemplo de que en realidad no hay "tanta guerra" entre unos y otros, sino más bien una repartición del mercado es el hecho de que la tecnología que existe en los Mac y en los PC cada día se parece más, ambos montan los mismos microprocesadores Intel y las posibilidades de instalar Windows en Mac y Leopard en PC son cada vez mayores, más fáciles y con mayor compatibilidades.

Quizás el malo no sea tan malo (Bill Gates) y el bueno (Steve Jobs) no sea tan bueno. Si quieren saber más, vean la película que arriba ofrecemos (sólo un enlace a un video en Googlevideo) y saquen sus propias conclusiones. (Aconsejamos ver antes el video de Steve Jobs dando un discurso en la universidad de Stanford)

Les deseamos una fructífera reflexión en la que valoren mitos, imágenes de mitos, leyendas y todo aquello que se les ocurra.

miércoles, 23 de julio de 2008

La primera animación por ordenador (1967)

Hay quien dice que esta animación no está realmente realizada por ordenador, ya que la computadora sacaba de forma impresa cada uno de los fotogramas de la animación, pero eso no excluye el trabajo que tuvieron que hacer para desarrollar un programa que permitiera hacer un dibujo usando caracteres ASCII y moverlos fotograma a fotograma para generar una imagen en movimiento.

Sea como fuere, aquí os ponemos el video, las opiniones vosotros.

lunes, 21 de julio de 2008

Cómo funcionan: las pistolas de videojuegos

De pequeño me quedaba atónito cuando veía que una pistola apuntaba a un pantalla y si conseguía acertar eliminaba al enemigo, pero ¿cómo funcionaba?. Una mezcla de recuerdos y preguntas de un amigo me hizo investigar un poco el tema y aquí la solución.

La pistola contiene un fotodiodo (o fototransistor) en el interior del cañon. El fotodiodo es capaz de detectar la luz procedente de la pantalla de television, ademas la salida del fotodiodo y el interruptor se conectan a la videoconsola que controla el juego.

De esta manera la videoconsola recibe señales de la pantalla del televisor, la pantalla de la television realiza barridos de electrones vertical y otro horizontal que sirven para alinear la imagen en la pantalla, de esta manera la propia pantalla informa a la videoconsola mediante estos pulsos del comienzo de los barridos horizontales y verticales y asi ésta puede conocer la posicion del rayo de electrones en cada momento.

La videoconsola normalmente utiliza una de las dos diferentes tecnicas para conocer si la pistola apunta o no al objetivo cuando el usuario pulsa el gatillo:

1.- La videoconsola pone la pantalla en negro y entonces pinta solo el objetivo de blanco. Si el fotodiodo detecta oscuridad después de una señal vertical de barrido y justo después de otro
barrido luz blanca, la videoconsola asume que la pistola apunta al objetivo correctamente.

2.- La videoconsola pone la pantalla en negro y entonces la pinta entera de blanco, este proceso le lleva un poco de tiempo al rayo de electrones en pintar de blanco toda la pantalla. Comparando la señal que proviene del fotodiodo con las señales de barrido, la videoconsola puede detectar donde se encuentra el rayo de electrones en la pantalla cuando por primera vez el fotodiodo capto la luz blanca de la pantalla.

La consola cuenta el numero de microsegundos entre el comienzo de los barridos horizontales y verticales y el tiempo en que el fotodiodo capto la luz blanca. El numero de microsegundos le dice a la consola exactamente en que zona de la pantalla apunta la pistola. Si la posicion calculada del objetivo en la pantalla y la posicion donde apunta la pistola coinciden el disparo ha sido correcto.

(Fuente original)

domingo, 20 de julio de 2008

Controles gráficos con DoubleBuffer en VB.net 2

Como os prometí, aquí tenéis una aplicación de ejemplo del control realizado. Situad el puntero del ratón sobre la flecha de color, y al moverlo ascendente o descendentemente veréis que la flecha va mostrando un gradiente de color.

Para usar el control en vuestras aplicaciones sólo tenéis que agregarlo como cualquier otro control.

Para la explicación del código estoy preparando un tutorial que estará disponible como entrada del blog y como documento pdf.

Aplicación de ejemplo

sábado, 12 de julio de 2008

Uso de LDR como selectores

Vamos a empezar por explicar lo que es una LDR, teniendo en cuenta que tú puede ser que no sepas de qué se trata, y si lo sabes puedes directamente pasar de la explicación o refrescar un poco lo que ya sabes.

Una LDR es una Light Depent Resistor, una resistencia que varía su valor en función de la luz que da sobre ella. ¿Un ejemplo para verlo más claro? Pues fácil. Imagina que tienes una LDR conectada a un circuito que alimenta una bombilla de una linterna, y que la colocamos de forma que cuando aumenta la luz que da sobre la LDR la bombilla se va apagando, y que cuando la luz que incide sobre la LDR va disminuyendo la bombilla de la linterna se va encendiendo cada vez con más fuerza.

Este sería un ejemplo muy simple para entender lo que podemos hacer con una LDR, pero aquí le vamos a dar otro uso a la LDR. Sea que no se precisa un contacto de presión, podemos hacer un divertido interruptor que podemos accionar al pasar la mano (a modo de interruptor invisible), con un efecto parecido al que podemos obtener cuando usamos sensores mucho más caros.

Lo que tenemos que hacer es poner las dos LDR en serie, quedando un extremo conectado a una tensión de 5V y el otro extremo a masa. ¿Qué hacemos con la parte común en la que se conectan las dos LDR?, pues precisamente esa parte es la que llevamos a la entrada analógica del microcontrolador, y de esta forma al cambiar la luz que incide sobre cada una de las LDR haremos que el microcontrolador efectúe una cuenta ascendente o descendente.

El proyecto es muy simple de realizar y el programa es sencillo, lo importante no es la complejidad del proyecto, sino pasarlo bien y dar otros usos a los elementos baratos que tenemos más a mano.

Aquí tenéis el código del programa:

program FotoResistores
dim tension as integer

dim numero as byte
dim temporizacion as word

main:
TRISA = 255
TRISB = 0
TRISD = 0
PORTA = 0
PORTB = 0
PORTD = 0
numero = 127

while true
if temporizacion = 500 then

tension = ADC_Read (0)/4
PORTB = tension
if tension <= 16 then
numero = numero + 1
PORTD = numero
end if
if tension >= 80 then
numero = numero - 1
PORTD = numero
end if
temporizacion = 0
end if
inc(temporizacion)
wend
end.

domingo, 6 de julio de 2008

Programa para VuMeter con PIC 18F452

Saludos a todos:

Perdonad por el tiempo que he estado inactivo aquí, pero ya por fin estoy de vuelta. En los días sucesivos iré subiendo los proyectos prometidos, así como noticias de ámbito tecnológico y alguna que otra curiosidad.

Para empezar so dejo el código fuente si os queréis hacer un VuMeter estéreo con un PIC. El modelo no es el más bajo, pero sí es con el que podréis comprobar todos los proyectos que vaya colgando.

Sin más aquí tenéis el breve código fuente:


program VuMeter

sub procedure Stereo (dim byref salida_leds1 as byte, dim byref salida_leds2 as byte, dim adc_canal_1 as byte, dim adc_canal_2 as byte)

dim canal1, canal2 as Integer
dim salida1, salida2 as byte
canal1 = ADC_read(adc_canal_1)
canal2 = ADC_Read(adc_canal_2)
Salida1 = 1
Salida2 = 1
canal1 = canal1 - 128
canal2 = canal2 - 128

while (canal1 > 0) or (canal2 > 0)
if canal1 > 0 then

salida1 = (salida1<<1)or1
canal1 = canal1 - 128
end if
if canal2 > 0 then
salida2 = (salida2<<1)OR1

canal2 = canal2 - 128
end if

wend
salida_leds1 = salida1
salida_leds2 = salida2
end sub

main:
ADCON1 = $82
INTCON = 0
TRISB = 0
TRISD = 0
while TRUE
Stereo(PORTB, PORTD, 0, 1)
wend
end.


'El programa funciona con cualquier PIC tipo 16F877A o similar con leves modificaciones en los registros.



Aunque lo ideal sería preparar la señal de audio y elevarla para que a la entrada del microcontrolador llegase la tensión óptima, podemos comprobar que el programa funciona perfectamente conectado cada canal de la señal de audio a la entrada analógica seleccionada (en el caso de ejemplo serían las entradas AN0 y AN1). Los puertos PORTB y PORTD llevan conectados leds para mostrar el nivel de la señal de audio recibida por el PIC.

Sólo queda pulsar play y disfrutar del baile de luces.

domingo, 13 de abril de 2008

Controles Gráficos con DoubleBuffer en VB.Net

Saludos a todos. Sé que he estado más tiempo del que me hubiera gustado sin ofrecer algo nuevo, pero aquí tenéis (mientras voy terminando los proyectos que os prometí) un control gráfico realizado en visual basic.

El control toma los datos desde el lugar que le indiquemos, haciendo cambiar la posición de la flecha de posición en el eje vertical, así como su color (en función de su posición) mostrando un degradado completo entre los límites máximo y mínimo.

Muy pronto estará disponible una pequeña aplicación para que lo podáis ver funcionando.


lunes, 24 de marzo de 2008

Puertos USB ocultos en el MacBook Air


Estaba preparando material para los proyectos y las nuevas secciones del blog y de la futura página web cuando encontré algo referente al portátil ultraligero de Apple.
Ya sólo leer el titular nos dice bastante. Se suponía que el nuevo portátil de la casa de la manzana sólo ofrecía un puerto USB, hasta que alguien tuvo la idea de abrirlo y ver de qué estaba hecho. además en ese link tenéis (si sois usuarios) la opción de hacer que vuestro "Air" sea aún más ligero.

sábado, 22 de marzo de 2008

VuMeter con microcontrolador de 8 bits

Aquí tenéis un adelanto del proyecto de VuMeter estéreo. El microcontrolador lee cada uno de los canales y en función de las señales de entrada ilumina los leds de cada uno de los canales de forma independiente. Es completamente funcional, pero se le pueden añadir un par de efectos y quizás reducir el programa. Os dejo como aperitivo unas imágenes que acabo de sacar (perdonad por la calidad)

Con las luces apagadas el efecto de los leds actuando con la música causa gran efecto.

lunes, 17 de marzo de 2008

Proyectos en realización

Sea que hasta después de Semana Santa no habrá actualizaciones, os ofrezco un breve índice de los proyectos que podréis encontrar en el blog, y descritos con detalle en la página web.

1.- Medidor de nivel de audio con PIC (VU-meter o Peak-meter)
2.- Sintetizador por PWM que memoriza la melodía que interpretas y posteriormente la reproduce.
3.- Sistema de monitorización y control de procesos (PC + sistema microcontrolador)

Esperando que os resulte interesante, quedo con el compromiso de colgar alguno de estos proyectos después de las "vacaciones". Disfrutad todos de estos días y precaución con el coche.

"Los mejores momentos son los que se disfrutan lentamente, entonces ¿para qué corres?" (Lortan)

viernes, 29 de febrero de 2008

Navgo SY 885 (3ª parte)

Vamos a descargar algunos archivos desde aquí. Descomprime el archivo y encontrarás varios programas. Mételos todos en la tarjeta de memoria que incluye el GPS y después sigue los puntos descritos a continuación:

1-. Pulsamos en "Start" y después en "Run...". Nos saldrá un aventana y ahí elegimos la opción "Browse". Buscamos la aplicación con el nombre "ITASKMGR" en la tarjeta y la ejecutamos, nos aparecerá una pantalla como la siguiente:



Buscamos el proceso "shell.exe" y lo terminamos haciendo clic sobre "Terminate". Ya podemos ver el escritorio de WindowsCE.

Pero ¿cómo podemos hacer que el sistema arranque por defecto con el escritorio de WindowsCE?. Sigamos leyendo.
Hacemos doble clic sobre "My Device" y accedemos al programa "REGEDIT" dentro de la tarjeta de memoria y cambiamos las siguientes claves del registro WindowsCE:



"Hey_Local_Machine>>init" cambiamos "Launch50>YFLoader.exe" por "Launch50>explorer.exe".

Para que el cambio se guarde, apagamos el GPS con el botón que podemos encontrar en la parte superior.

Y el siguiente cambio sería para tener almacenados los accesos directos de la carpeta por defecto a una carpeta situada en la tarjeta de memoria:


"Local_Machine>>System/Explorer>>ShellFolders" y cambiamos "Desktop>\Windows\Desktop" por "Desktop>\SDMMC\Desktop".

De nuevo para guardar las modificaciones hechas en el registro volvemos a apagar usando el botón de la parte superior. Creamos en la tarjeta una carpeta llamada "Desktop" e instalamos los accesos directos en su interior. Ahora podremos encontrar los accesos directos instalados en la tarjeta sobre el escritorio de WindowsCE.

viernes, 22 de febrero de 2008

Navgo SY 885 (2ª parte)

Mientras saco algo de tiempo para ofreceros un sitio del que descargar aplicaciones (y por otro lado ofrecer aplicaciones propias para el GPS) os muestro imágenes del sistema operativo y de programas ejecutados en el dispositivo. Gracias por vuestra paciencia.

Como podéis ver se trata una versión de Windows que difiere de las actuales Mobile 5 y 6, pero ofrece algunas ventajas por su similitud con la versión para PC.


Las siguiente imágenes se corresponden con una aplicación de gestión de ficheros y otra que se encarga de monitorizar el estado del GPS.







martes, 19 de febrero de 2008

Navgo SY 885 (1ª parte)



NAVGO sacó al mercado un GPS bastante competitivo (SY 885). A primera vista es un navegador normal y corriente, y tal y como pone en la caja "Microsoft Windows Powered" (lo que ya me hizo poner en marcha algunas neuronas).

Lo encendí y empecé a juguetear con él, haciendo rutas, configurando el idioma en español (hablado y escrito) y un largo etc. Cuando vi que todo funcionaba correctamente decidí comprobar cuál era el contenido de la tarjeta de memoria, y vi que tenía instalado el mapa de España y Portugal (Route 66).


Fue entonces cuando la ecuación "WindowsCE" + "Tarjeta de memoria" = "Se pueden hacer cosas" me quedó clara.
Manos a la obra y realicé uno de los "programas" más simples que se pueden hacer en .NET, un simple botón que cuando se pica sobre él sale un mensaje de alerta. Tras compilarlo sincronicé el GPS con el ActiveSync y listo. Tenía la aplicación funcionando (en modo depuración).
Ahora quedaba ver cómo poder acceder al sistema operativo del propio GPS y para ello me fije en lo que pasaba cuando ejecutaba la aplicación "Route66". Sólo tienes que fijarte en que cuando sales de la aplicación se queda una línea horizontal en la parte inferior de la pantalla. Pica con el lápiz ahí y ¡eureka!, lo acabas de conseguir. Y para que se vea que no es montaje pongo fotos de las opciones de sistema operativo que trae el aparatito. Ajusta las opciones de la barra de tareas para que siempre esté visible y no se oculte. ¡Listo!



A medida que vaya realizando aplicaciones para el GPS las iré comentando, así como las cuestiones sobre el desarrollo de las mismas, y teniendo en cuenta que escribí antes sobre la creación de una aplicación muy simple para el GPS, se abrirá un apartado sobre programación en .NET con Visual Basic & C#.