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.